簡體   English   中英

R-尋找累積值

[英]R- Finding cumulative values

我有 COVID 數據。 它給出了歐洲國家在某些日期的病例數和死亡人數。 我需要 select 10 個國家,並通過畫線顯示第 1000 例確診病例之后的病例。 國家列在標題為國家的列下,病例數列在標題為病例的列下,死亡人數列在標題為死亡的列下,日期列在標題為日期的列下。 問題是我不知道如何獲得第1000個國家確診病例數以及之后的病例數。 這里是問題:“c)自第1000例確診病例以來10個國家的累計病例數”

這是我的嘗試代碼:

library(utils)
COVID_data <-read.csv("https://opendata.ecdc.europa.eu/covid19/nationalcasedeath_eueea_daily_ei/csv", na.strings = "", fileEncoding = "UTF-8-BOM")


  above100th_cases <- ten_countries_cases %>% 
  filter(Cumulative_cases_Austria >= 1000|
           Cumulative_cases_Croatia >= 1000|
           Cumulative_cases_Denmark >= 1000|
           Cumulative_cases_Finland >= 1000|
           Cumulative_cases_France >= 1000|
           Cumulative_cases_Germany >= 1000|
           Cumulative_cases_Greece >= 1000|
           Cumulative_cases_Iceland >= 1000|
           Cumulative_cases_Italy >= 1000|
           Cumulative_cases_Spain >= 1000)
  
#Reshape the data set in order to draw line graphs 
above100th_case.m <- melt(above100th_cases,id.vars = 1)

# 0 values were below 100th, then skip these values to reach better graphs
above100th.m <- above100th_case.m %>% filter(value>0)
  
#Draw the graph by using ggplot
ggplot(above100th.m, aes(x=dateRep, y= value, color=variable))+
  geom_line(size=1)+
  #Arrange y axis, by considering min&max cumulative number of cases
  scale_y_continuous(breaks = c(seq(from =5000, to =9000000, by=1001000)))+
  labs(x="Date",
       y="Cumulative Case Number",
       title="The Cumulative Number of Cases By Date") +
  facet_wrap(~variable)+
  theme_bw()

這顯然是錯誤的。 我也嘗試使用 filter(if() else) 或 when_case(),但我無法應用它們。 我希望,我可以解釋自己。

這是必需的嗎?

library(utils)
COVID_data <-read.csv("https://opendata.ecdc.europa.eu/covid19/nationalcasedeath_eueea_daily_ei/csv", na.strings = "", fileEncoding = "UTF-8-BOM")


library(tidyverse)
COVID_data %>% mutate(dateRep = as.Date(dateRep, '%d/%m/%Y')) %>%
  group_by(countriesAndTerritories) %>%
  arrange(dateRep) %>%
  mutate(cum_cases = cumsum(cases)) %>%
  filter(cum_cases >= 1000) %>%
  ungroup() %>%
  ggplot() +
  geom_line(aes(x = dateRep, y = cum_cases, color = countriesAndTerritories))


或者如果要過濾 10 個國家/地區

ten_countries <- c('Denmark', 'Croatia', 'Austria', 'Finland', 'France', 'Germany', 'Greece', 'Iceland', 'Italy', 'Spain')

COVID_data %>% filter(countriesAndTerritories %in% ten_countries) %>%
  mutate(dateRep = as.Date(dateRep, '%d/%m/%Y')) %>%
  group_by(countriesAndTerritories) %>%
  arrange(dateRep) %>%
  mutate(cum_cases = cumsum(cases)) %>%
  filter(cum_cases >= 1000) %>%
  ungroup() %>%
  ggplot() +
  geom_line(aes(x = dateRep, y = cum_cases, color = countriesAndTerritories))

reprex package (v2.0.0) 於 2021 年 6 月 8 日創建

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM