Skip to content
Snippets Groups Projects
Commit ba43e4d3 authored by Rok Roškar's avatar Rok Roškar
Browse files

R examples

parent 1bbf13dc
No related branches found
No related tags found
No related merge requests found
install.packages("knitr")
install.packages("tidyverse")
install.packages("data.table")
This diff is collapsed.
---
title: "covidtracking-example"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
library(jsonlite)
library(ggplot2)
options(repr.plot.width=14, repr.plot.height=8)
library(data.table)
```
## Look at the metadata
```{r}
metadata_df <- fromJSON("../../data/covidtracking/states-metadata.json")
head(metadata_df)
```
## Look at the data
```{r}
data_df <- fromJSON("../../data/covidtracking/states-daily.json")
head(data_df)
```
```{r}
data_df$date <- as.Date(paste(data_df$date), format="%Y%m%d")
head(data_df)
```
## Daily counts and totals
```{r}
# compute daily differences
data_df <- data.table(data_df)
tdf <- data.table(data_df)
setkey(tdf, state, date)
head(tdf)
```
```{r}
tdf[, diff_positive := positive - shift(positive), by = .(state)]
tdf_state <- tdf[state == "WA"]
tdf_state
```
```{r}
ggplot(data = tdf_state, aes(x = date, y = diff_positive)) +
labs(title = "WA", y = "Daily positive") +
geom_bar(stat = "identity", position = position_dodge(width=1))
```
## Counts per 100k
```{r}
data_df <- as.data.table(data_df)
pop_df <- fread("../../data/geodata/us_pop_fung_2019.csv")
setkey(pop_df, ST)
head(pop_df)
```
```{r}
most_recent_test_date <- max(data_df$date)
most_recent_df <- data_df[date == most_recent_test_date]
paste("Most recent test date", most_recent_test_date)
paste(nrow(most_recent_df), "states/territories have data on this date.")
```
```{r}
most_recent_df <- merge(most_recent_df, pop_df, by.x = "state", by.y = "ST", all = TRUE)
head(most_recent_df)
```
```{r}
most_recent_df[, total_100k := total / Population * 100000]
head(most_recent_df[, .(date, state, total_100k)])
```
```{r}
setkey(most_recent_df, total_100k)
head(most_recent_df)
```
```{r}
most_recent_df[, state := factor(state, levels = c(state))]
```
```{r}
ggplot(data = most_recent_df, aes(x = state, y = total_100k)) +
labs(title = "Tests per 100k", y = "total/100k") +
geom_bar(stat="identity", position=position_dodge(width=1)) +
theme(axis.text.x = element_text(angle = 90))
```
This diff is collapsed.
---
title: "italy-with-r"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## Read the data
```{r}
library(readr)
d <- read_csv("../../data/covid-19-italy/dpc-covid19-ita-andamento-nazionale.csv")
d
```
```{r}
names(d)
```
## Create a plot
```{r}
library(ggplot2)
ggplot(d, aes(x = data, y = totale_casi)) +
geom_point() +
geom_line(col = "blue") +
xlab("Date") +
ylab("Number of cases")
```
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment