Я знаю, как строить диаграммы отдельно, но не знаю, как объединить данные и график в одну фигуру. Моя проблема в том, что исходные данные не включают дней, поэтому я должен рассчитать их и добавить к фрейму данных. и я чувствую, что мой способ сделать это не очень умный.
`library(tidyverse)`
`df <- read_csv("https://covid.ourworldindata.org/data/ecdc/full_data.csv")`
###days vs log in US
`filt1_US <- df$location %in% "United States"`
`filt2_US <-df$total_cases > 100`
`filt3_US <-df[filt1_US & filt2_US,]`
`daysUS <- seq(1:23)`
# 23 days (since total cases>100) 3/3 - 3/25
`newUS <- cbind(filt3_US,daysUS)`
`ggplot(data=newUS, aes(x=days, y=total_cases))+
geom_line(stat = "identity",linejoin = "round",color="red")+
scale_y_log10()+
xlab("Day of Infection")+
ylab("Total Number of Cases")+
ggtitle("Total COVID19 Cases in "US")+
theme( text = element_text(family="Arial"),
axis.title.x = element_text(color="DarkGreen",size=20),
axis.title.y = element_text(color="DarkGreen",size=15),
axis.text.x = element_text(size=10),
axis.text.y = element_text(size=10),
legend.title = element_text(size=15,face = "bold"),
legend.text = element_text(size=10),
plot.title = element_text(color="Dark blue",
size=20,face = "bold"))`
дней против журнала в Китае
`filt4_China <- df$location %in% "China"
filt5_China <-df$total_cases > 100
filt6_China <-df[filt4_China & filt5_China,]`
`daysChina <- seq(1:67)` # 67days 1/19 - 3/25
`newChina <- cbind(filt6_China,daysChina)`
`ggplot(data=newChina, aes(x=daysChina, y=total_cases))+
geom_line(stat = "identity",linejoin = "round",color="red")+
scale_y_log10()+
xlab("Day of Infection")+
ylab("Total Number of Cases")+
ggtitle("Total COVID19 Cases in China")+
theme( text = element_text(family="Arial"),
axis.title.x = element_text(color="DarkGreen",size=20),
axis.title.y = element_text(color="DarkGreen",size=15),
axis.text.x = element_text(size=10),
axis.text.y = element_text(size=10),
legend.title = element_text(size=15,face = "bold"),
legend.text = element_text(size=10),
plot.title = element_text(color="Dark blue",
size=20,face = "bold"))`