Today we are going to take a look at the BART website and look at the visualizations presented on the website analytics.bart.gov.
We will take a look at json formated data, which is a very common data format for sharing data on the internet.
Directions:
- Create an R Project call BART.
- Download the devices data.
- Try the following R code to make the bar graph for the devices used to access the BART website.
Load the libraries used.
library(tidyverse)
library(jsonlite)
Read in the json data.
json_file <- "devices.json"
json_data <- fromJSON(json_file)
json_data
Fix the visits column so that it is a numeric value.
json_data <- json_data %>% mutate(visits = as.numeric(visits))
json_data
Make a table of the most recent day’s data.
json_data %>% filter( date == "20190922" ) %>%
group_by(device)
Make a bar plot.
json_data %>% filter( date == "20190922" ) %>%
ggplot(aes(y = visits, x = device)) +
geom_bar(stat="identity")
Make a bar plot using percentages.
json_data <- json_data %>% filter( date == "20190922" ) %>%
mutate(visits_percentage = 100*visits/sum(visits))
json_data
json_data %>% ggplot(aes(y = visits_percentage, x = device)) +
geom_bar(stat="identity") +
coord_flip()
LS0tCnRpdGxlOiAiQkFSVCBhbmQganNvbiBkYXRhIgpvdXRwdXQ6CiAgd29yZF9kb2N1bWVudDogZGVmYXVsdAogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICBwZGZfZG9jdW1lbnQ6IGRlZmF1bHQKLS0tCgpUb2RheSB3ZSBhcmUgZ29pbmcgdG8gdGFrZSBhIGxvb2sgYXQgdGhlIEJBUlQgd2Vic2l0ZSBhbmQgbG9vayBhdCB0aGUgdmlzdWFsaXphdGlvbnMgcHJlc2VudGVkIG9uIHRoZSB3ZWJzaXRlIFthbmFseXRpY3MuYmFydC5nb3ZdKGh0dHBzOi8vYW5hbHl0aWNzLmJhcnQuZ292L2JhcnQpLgoKV2Ugd2lsbCB0YWtlIGEgbG9vayBhdCAqanNvbiogZm9ybWF0ZWQgZGF0YSwgd2hpY2ggaXMgYSB2ZXJ5IGNvbW1vbiBkYXRhIGZvcm1hdCBmb3Igc2hhcmluZyBkYXRhIG9uIHRoZSBpbnRlcm5ldC4KCiMjIERpcmVjdGlvbnM6CgoxLiBDcmVhdGUgYW4gUiBQcm9qZWN0IGNhbGwgQkFSVC4KMi4gRG93bmxvYWQgdGhlIFtkZXZpY2VzXShodHRwczovL3d3dy5iYXJ0Lmdvdi9zaXRlcy9kZWZhdWx0L2ZpbGVzL2FuYWx5dGljcy9kZXZpY2VzLmpzb24pIGRhdGEuCjMuIFRyeSB0aGUgZm9sbG93aW5nIFIgY29kZSB0byBtYWtlIHRoZSBiYXIgZ3JhcGggZm9yIHRoZSBkZXZpY2VzIHVzZWQgdG8gYWNjZXNzIHRoZSBCQVJUIHdlYnNpdGUuCgpMb2FkIHRoZSBsaWJyYXJpZXMgdXNlZC4KCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShqc29ubGl0ZSkKYGBgCgpSZWFkIGluIHRoZSBqc29uIGRhdGEuCgpgYGB7cn0KanNvbl9maWxlIDwtICJkZXZpY2VzLmpzb24iCgpqc29uX2RhdGEgPC0gZnJvbUpTT04oanNvbl9maWxlKQpqc29uX2RhdGEKYGBgCgpGaXggdGhlIHZpc2l0cyBjb2x1bW4gc28gdGhhdCBpdCBpcyBhIG51bWVyaWMgdmFsdWUuCgpgYGB7cn0KanNvbl9kYXRhIDwtIGpzb25fZGF0YSAlPiUgbXV0YXRlKHZpc2l0cyA9IGFzLm51bWVyaWModmlzaXRzKSkKanNvbl9kYXRhCmBgYAoKTWFrZSBhIHRhYmxlIG9mIHRoZSBtb3N0IHJlY2VudCBkYXkncyBkYXRhLgoKYGBge3J9Cmpzb25fZGF0YSAlPiUgZmlsdGVyKCBkYXRlID09ICIyMDE5MDkyMiIgKSAlPiUKICBncm91cF9ieShkZXZpY2UpIApgYGAKCk1ha2UgYSBiYXIgcGxvdC4KCmBgYHtyfQpqc29uX2RhdGEgJT4lIGZpbHRlciggZGF0ZSA9PSAiMjAxOTA5MjIiICkgJT4lCiAgZ2dwbG90KGFlcyh5ID0gdmlzaXRzLCB4ID0gZGV2aWNlKSkgKwogIGdlb21fYmFyKHN0YXQ9ImlkZW50aXR5IikKYGBgCgpNYWtlIGEgYmFyIHBsb3QgdXNpbmcgcGVyY2VudGFnZXMuCgpgYGB7cn0KanNvbl9kYXRhIDwtIGpzb25fZGF0YSAlPiUgZmlsdGVyKCBkYXRlID09ICIyMDE5MDkyMiIgKSAlPiUKICBtdXRhdGUodmlzaXRzX3BlcmNlbnRhZ2UgPSAxMDAqdmlzaXRzL3N1bSh2aXNpdHMpKQpqc29uX2RhdGEKYGBgCgpgYGB7cn0KanNvbl9kYXRhICU+JSBnZ3Bsb3QoYWVzKHkgPSB2aXNpdHNfcGVyY2VudGFnZSwgeCA9IGRldmljZSkpICsKICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIpICsKICBjb29yZF9mbGlwKCkKYGBg