Getting Data
1. Load…
…Packages
if (!require("pacman")) install.packages("pacman")
Warnmeldung:
In format.POSIXlt(as.POSIXlt(x), ...) :
unknown timezone 'zone/tz/2018c.1.0/zoneinfo/Europe/Berlin'
pacman::p_load(
haven,
lme4,
sjPlot,
sjmisc,
sjlabelled,
ggthemes,
reshape, # reshape dataframes
tmap, # to map spacial data, get shapefiles
tmaptools, # to map spacial data
ggmap, # to map spacial data
sp, # to handle spacial data
broom, # to clean up all kinds of datasets
ggplot2, # to plot
gridExtra, # to arrange multiple plots
tidyverse) # data wrangling
# wd <- "D:/Dropbox/DataVisualization" # Flo
# setwd(wd)
…Bitcoin Prices
# Price of Bitcoins
# price <- read_csv("data/crypto-markets.csv")
# saveRDS(price, "data/price.rds")
price <- readRDS("data/price.rds")
# Relative Amount of Google Web Searches
# google <- read_csv("data/Bitcoin_google_1_10_2017.csv")
# saveRDS(google, "data/google.rds")
google <- readRDS("data/google.rds")
# Relative Amount of News
# news <- read_csv("data/Bitcoin_news_1_10_2017.csv")
# saveRDS(news, "data/news.rds")
news <- readRDS("data/news.rds")
…Bitcoin Region
Info on Source of Data
# Relative Amount of Google Web Searches by Region
## excludes low volume countries
gg_oct17_world <- read_csv("data/bitcoin_gg_region_011017.csv", skip = 3,
col_names = c("Country", "Bitcoin"))
Parsed with column specification:
cols(
Country = col_character(),
Bitcoin = col_integer()
)
## includes low volume countries
gg_oct17_world2 <- read_csv("data/bitcoin_gg_region_all_011017.csv", skip = 3,
col_names = c("Country", "Bitcoin"))
Parsed with column specification:
cols(
Country = col_character(),
Bitcoin = col_character()
)
## shapefile of world
data(World)
2. Prepare Data
Bitcoin Prices
Prepare Price Data
price %>%
filter(symbol == "BTC") %>%
select(date, open, spread, market) ->
price
Merge 3 datasets
price %>%
right_join(google, by = "date") %>%
right_join(news, by = "date") ->
merge
Rename variables
names(merge)[2:ncol(merge)] <- c("Preis", "Spread", "Gesamtwert",
"Google-Suchen", "Nachrichtenartikel")
Save Dataset
saveRDS(merge, "data/bitcoin_raw.rds")
Bitcoin Region
Merge Shapefile with Gogle Trends Regional Data
world.shp <- sp::merge(World, gg_oct17_world,
by.x = "name", by.y = "Country", all.x = T)
LS0tCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgY29kZV9mb2xkaW5nOiBzaG93CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICB0b2M6IHllcwplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KCiMgR2V0dGluZyBEYXRhCgoKKioqCgojIyAxLiBMb2FkLi4uIHsudGFic2V0fQojIyMgLi4uUGFja2FnZXMKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KaWYgKCFyZXF1aXJlKCJwYWNtYW4iKSkgaW5zdGFsbC5wYWNrYWdlcygicGFjbWFuIikKcGFjbWFuOjpwX2xvYWQoCiAgaGF2ZW4sCiAgbG1lNCwgCiAgc2pQbG90LAogIHNqbWlzYywKICBzamxhYmVsbGVkLAogIGdndGhlbWVzLCAKICByZXNoYXBlLCAjIHJlc2hhcGUgZGF0YWZyYW1lcwogIHRtYXAsICMgdG8gbWFwIHNwYWNpYWwgZGF0YSwgZ2V0IHNoYXBlZmlsZXMKICB0bWFwdG9vbHMsICMgdG8gbWFwIHNwYWNpYWwgZGF0YQogIGdnbWFwLCAjIHRvIG1hcCBzcGFjaWFsIGRhdGEKICBzcCwgIyB0byBoYW5kbGUgc3BhY2lhbCBkYXRhCiAgYnJvb20sICMgdG8gY2xlYW4gdXAgYWxsIGtpbmRzIG9mIGRhdGFzZXRzCiAgZ2dwbG90MiwgIyB0byBwbG90IAogIGdyaWRFeHRyYSwgIyB0byBhcnJhbmdlIG11bHRpcGxlIHBsb3RzCiAgdGlkeXZlcnNlKSAjIGRhdGEgd3JhbmdsaW5nCgojIHdkIDwtICJEOi9Ecm9wYm94L0RhdGFWaXN1YWxpemF0aW9uIiAjIEZsbwojIHNldHdkKHdkKQpgYGAKCiMjIyAuLi5CaXRjb2luIFByaWNlcwpgYGB7ciBiaXRjb2luIHByaWNlcywgZWNobz1ULCBtZXNzYWdlPUYsIHdhcm5pbmc9RkFMU0V9CiMgUHJpY2Ugb2YgQml0Y29pbnMKICAgICAgIyBwcmljZSAgPC0gcmVhZF9jc3YoImRhdGEvY3J5cHRvLW1hcmtldHMuY3N2IikKICAgICAgIyBzYXZlUkRTKHByaWNlLCAiZGF0YS9wcmljZS5yZHMiKQpwcmljZSA8LSByZWFkUkRTKCJkYXRhL3ByaWNlLnJkcyIpCiAgICAgICMgUmVsYXRpdmUgQW1vdW50IG9mIEdvb2dsZSBXZWIgU2VhcmNoZXMKICAgICAgIyBnb29nbGUgPC0gcmVhZF9jc3YoImRhdGEvQml0Y29pbl9nb29nbGVfMV8xMF8yMDE3LmNzdiIpCiMgc2F2ZVJEUyhnb29nbGUsICJkYXRhL2dvb2dsZS5yZHMiKQpnb29nbGUgPC0gcmVhZFJEUygiZGF0YS9nb29nbGUucmRzIikKCiMgUmVsYXRpdmUgQW1vdW50IG9mIE5ld3MKICAgICAgIyBuZXdzICAgPC0gcmVhZF9jc3YoImRhdGEvQml0Y29pbl9uZXdzXzFfMTBfMjAxNy5jc3YiKQogICAgICAjIHNhdmVSRFMobmV3cywgImRhdGEvbmV3cy5yZHMiKQpuZXdzIDwtIHJlYWRSRFMoImRhdGEvbmV3cy5yZHMiKQpgYGAKCiMjIyAuLi5CaXRjb2luIFJlZ2lvbgpbSW5mbyBvbiBTb3VyY2Ugb2YgRGF0YV0oaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vdHJlbmRzL2Fuc3dlci80MzU1MjEyKQpgYGB7ciBiaXRjb2luIHJlZ2lvbiwgZWNobz1ULCBtZXNzYWdlPUYsIHdhcm5pbmc9RkFMU0V9CiMgUmVsYXRpdmUgQW1vdW50IG9mIEdvb2dsZSBXZWIgU2VhcmNoZXMgYnkgUmVnaW9uCiMjIGV4Y2x1ZGVzIGxvdyB2b2x1bWUgY291bnRyaWVzCmdnX29jdDE3X3dvcmxkIDwtIHJlYWRfY3N2KCJkYXRhL2JpdGNvaW5fZ2dfcmVnaW9uXzAxMTAxNy5jc3YiLCBza2lwID0gMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX25hbWVzID0gYygiQ291bnRyeSIsICJCaXRjb2luIikpCgojIyBpbmNsdWRlcyBsb3cgdm9sdW1lIGNvdW50cmllcwpnZ19vY3QxN193b3JsZDIgPC0gcmVhZF9jc3YoImRhdGEvYml0Y29pbl9nZ19yZWdpb25fYWxsXzAxMTAxNy5jc3YiLCBza2lwID0gMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX25hbWVzID0gYygiQ291bnRyeSIsICJCaXRjb2luIikpCgojIyBzaGFwZWZpbGUgb2Ygd29ybGQKZGF0YShXb3JsZCkKYGBgCgojIyAyLiBQcmVwYXJlIERhdGEgey50YWJzZXR9CiMjIyBCaXRjb2luIFByaWNlcwojIyMjIFByZXBhcmUgUHJpY2UgRGF0YQpgYGB7cn0KcHJpY2UgJT4lCiAgZmlsdGVyKHN5bWJvbCA9PSAiQlRDIikgJT4lCiAgc2VsZWN0KGRhdGUsIG9wZW4sIHNwcmVhZCwgbWFya2V0KSAtPgpwcmljZQpgYGAKCiMjIyMgTWVyZ2UgMyBkYXRhc2V0cwpgYGB7cn0KcHJpY2UgJT4lCiAgcmlnaHRfam9pbihnb29nbGUsIGJ5ID0gImRhdGUiKSAlPiUgCiAgcmlnaHRfam9pbihuZXdzLCBieSA9ICJkYXRlIikgLT4KbWVyZ2UKYGBgCgojIyMjIFJlbmFtZSB2YXJpYWJsZXMKYGBge3J9Cm5hbWVzKG1lcmdlKVsyOm5jb2wobWVyZ2UpXSA8LSBjKCJQcmVpcyIsICJTcHJlYWQiLCAiR2VzYW10d2VydCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR29vZ2xlLVN1Y2hlbiIsICJOYWNocmljaHRlbmFydGlrZWwiKQpgYGAKCiMjIyMgU2F2ZSBEYXRhc2V0CmBgYHtyfQpzYXZlUkRTKG1lcmdlLCAiZGF0YS9iaXRjb2luX3Jhdy5yZHMiKQpgYGAKCgojIyMgQml0Y29pbiBSZWdpb24KCiMjIyMgTWVyZ2UgU2hhcGVmaWxlIHdpdGggR29nbGUgVHJlbmRzIFJlZ2lvbmFsIERhdGEKYGBge3J9CndvcmxkLnNocCA8LSBzcDo6bWVyZ2UoV29ybGQsIGdnX29jdDE3X3dvcmxkLCAKICAgICAgICAgICAgICAgICAgICAgICBieS54ID0gIm5hbWUiLCBieS55ID0gIkNvdW50cnkiLCBhbGwueCA9IFQpCmBgYAoK