Wrangle Data


Bitcoin Price Data

Wide to long

merge <- readRDS("data/bitcoin_raw.rds")
long  <-  gather(merge, variable, measurement, 
                 Preis:Nachrichtenartikel, factor_key=TRUE)

Drop one day only contained in google data

long %>% 
  filter(date != "2018-02-06") ->
long

Prepare special variable values (min, max, end, quartiles)

mins <- group_by(long, variable) %>% slice(which.min(measurement)) # max value ts
maxs <- group_by(long, variable) %>% slice(which.max(measurement)) # min value ts
ends <- group_by(long, variable) %>% filter(date == max(date))  # last value of ts
quarts <- long %>% group_by(variable) %>% # quartiles for grey bar
  summarize(quart1 = quantile(measurement, 0.25, na.rm = TRUE),
            quart2 = quantile(measurement, 0.75, na.rm = TRUE)) %>%
  right_join(long, by = "variable")

Create index values

long %>% 
  filter(complete.cases(.), variable != "close_ratio") %>% 
  group_by(variable) %>% 
  mutate(max = max(measurement), index = measurement/max) %>% 
  filter(variable == "Preis" | variable == "Google-Suchen") ->
long.index

Bitcoin Region

Prepare for ggplot Map

#generate id
data(World)
World@data$id_name <- seq(1,length(World@data$name)) 
# change spacial data frame to data frame
map_draw <- fortify(World, region = "id_name")

Add World@data

Through the fortify command, some information from the dataset of the spacial data frame ist lost. In this step the World@data part gets merged to the map_draw dataframe by hand.

map_draw$id <- as.numeric(map_draw$id)
data <- World@data
 
#Add the stats to the map data
map_draw <- left_join(map_draw, World@data, by = c('id'='id_name')) %>% 
      left_join(gg_oct17_world, by = c("name" = "Country")) %>% 
      mutate(bitcoin = ifelse(is.na(Bitcoin), 0, Bitcoin))
LS0tCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgY29kZV9mb2xkaW5nOiBzaG93CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICB0b2M6IHllcwplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KIyBXcmFuZ2xlIERhdGEgey50YWJzZXR9CioqKgoKIyMgQml0Y29pbiBQcmljZSBEYXRhCiMjIyBXaWRlIHRvIGxvbmcKYGBge3J9Cm1lcmdlIDwtIHJlYWRSRFMoImRhdGEvYml0Y29pbl9yYXcucmRzIikKbG9uZyAgPC0gIGdhdGhlcihtZXJnZSwgdmFyaWFibGUsIG1lYXN1cmVtZW50LCAKICAgICAgICAgICAgICAgICBQcmVpczpOYWNocmljaHRlbmFydGlrZWwsIGZhY3Rvcl9rZXk9VFJVRSkKYGBgCgojIyMgRHJvcCBvbmUgZGF5IG9ubHkgY29udGFpbmVkIGluIGdvb2dsZSBkYXRhCmBgYHtyfQpsb25nICU+JSAKICBmaWx0ZXIoZGF0ZSAhPSAiMjAxOC0wMi0wNiIpIC0+CmxvbmcKYGBgCgojIyMgUHJlcGFyZSBzcGVjaWFsIHZhcmlhYmxlIHZhbHVlcyAobWluLCBtYXgsIGVuZCwgcXVhcnRpbGVzKQpgYGB7cn0KbWlucyA8LSBncm91cF9ieShsb25nLCB2YXJpYWJsZSkgJT4lIHNsaWNlKHdoaWNoLm1pbihtZWFzdXJlbWVudCkpICMgbWF4IHZhbHVlIHRzCm1heHMgPC0gZ3JvdXBfYnkobG9uZywgdmFyaWFibGUpICU+JSBzbGljZSh3aGljaC5tYXgobWVhc3VyZW1lbnQpKSAjIG1pbiB2YWx1ZSB0cwplbmRzIDwtIGdyb3VwX2J5KGxvbmcsIHZhcmlhYmxlKSAlPiUgZmlsdGVyKGRhdGUgPT0gbWF4KGRhdGUpKSAgIyBsYXN0IHZhbHVlIG9mIHRzCnF1YXJ0cyA8LSBsb25nICU+JSBncm91cF9ieSh2YXJpYWJsZSkgJT4lICMgcXVhcnRpbGVzIGZvciBncmV5IGJhcgogIHN1bW1hcml6ZShxdWFydDEgPSBxdWFudGlsZShtZWFzdXJlbWVudCwgMC4yNSwgbmEucm0gPSBUUlVFKSwKICAgICAgICAgICAgcXVhcnQyID0gcXVhbnRpbGUobWVhc3VyZW1lbnQsIDAuNzUsIG5hLnJtID0gVFJVRSkpICU+JQogIHJpZ2h0X2pvaW4obG9uZywgYnkgPSAidmFyaWFibGUiKQpgYGAKCiMjIyBDcmVhdGUgaW5kZXggdmFsdWVzCmBgYHtyfQpsb25nICU+JSAKICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLiksIHZhcmlhYmxlICE9ICJjbG9zZV9yYXRpbyIpICU+JSAKICBncm91cF9ieSh2YXJpYWJsZSkgJT4lIAogIG11dGF0ZShtYXggPSBtYXgobWVhc3VyZW1lbnQpLCBpbmRleCA9IG1lYXN1cmVtZW50L21heCkgJT4lIAogIGZpbHRlcih2YXJpYWJsZSA9PSAiUHJlaXMiIHwgdmFyaWFibGUgPT0gIkdvb2dsZS1TdWNoZW4iKSAtPgpsb25nLmluZGV4CgpgYGAKCiMjIEJpdGNvaW4gUmVnaW9uCiMjIyBQcmVwYXJlIGZvciBnZ3Bsb3QgTWFwCmBgYHtyfQojZ2VuZXJhdGUgaWQKZGF0YShXb3JsZCkKV29ybGRAZGF0YSRpZF9uYW1lIDwtIHNlcSgxLGxlbmd0aChXb3JsZEBkYXRhJG5hbWUpKSAKIyBjaGFuZ2Ugc3BhY2lhbCBkYXRhIGZyYW1lIHRvIGRhdGEgZnJhbWUKbWFwX2RyYXcgPC0gZm9ydGlmeShXb3JsZCwgcmVnaW9uID0gImlkX25hbWUiKQpgYGAKCiMjIyBBZGQgV29ybGRAZGF0YSAKVGhyb3VnaCB0aGUgZm9ydGlmeSBjb21tYW5kLCBzb21lIGluZm9ybWF0aW9uIGZyb20gdGhlIGRhdGFzZXQgb2YgdGhlIHNwYWNpYWwgZGF0YSBmcmFtZSBpc3QgbG9zdC4gSW4gdGhpcyBzdGVwIHRoZSBXb3JsZEBkYXRhIHBhcnQgZ2V0cyBtZXJnZWQgdG8gdGhlIG1hcF9kcmF3IGRhdGFmcmFtZSBieSBoYW5kLiAKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KbWFwX2RyYXckaWQgPC0gYXMubnVtZXJpYyhtYXBfZHJhdyRpZCkKZGF0YSA8LSBXb3JsZEBkYXRhCiAKI0FkZCB0aGUgc3RhdHMgdG8gdGhlIG1hcCBkYXRhCm1hcF9kcmF3IDwtIGxlZnRfam9pbihtYXBfZHJhdywgV29ybGRAZGF0YSwgYnkgPSBjKCdpZCc9J2lkX25hbWUnKSkgJT4lIAogICAgICBsZWZ0X2pvaW4oZ2dfb2N0MTdfd29ybGQsIGJ5ID0gYygibmFtZSIgPSAiQ291bnRyeSIpKSAlPiUgCiAgICAgIG11dGF0ZShiaXRjb2luID0gaWZlbHNlKGlzLm5hKEJpdGNvaW4pLCAwLCBCaXRjb2luKSkKCmBgYAoK