【问题标题】:Data transfers between data sets数据集之间的数据传输
【发布时间】:2020-05-05 15:59:56
【问题描述】:

df 数据库中有 covid-19 病例的国家和大陆信息。

df8 数据集包含人口信息。

df1 昨天也解决了该国的新病例数。

在 df4 中,我打印了迄今为止各大洲的总死亡人数。

我还找到了各大洲的人口信息。

我的问题是将新病例(昨天的死亡)的数据分成大洲。用df8写成的人口比例。

df <- read.csv ('https://raw.githubusercontent.com/ulklc/covid19- 
 timeseries/master/countryReport/raw/rawReport.csv',
        stringsAsFactors = FALSE)

yesterday <- function() Sys.Date() - 1L
yesterday()
df1 <- aggregate(death ~ countryName, subset(df, day == yesterday()), sum)
df8 <- read.csv ('https://raw.githubusercontent.com/hirenvadher954/Worldometers-                      
     Scraping/master/countries.csv',
             stringsAsFactors = FALSE)

 df4 <- aggregate(death ~ region, subset(df), sum)


  library(tidyverse)

      df %>% 
      left_join(df8, by = c("countryName" = "country_name")) %>% 
      mutate(population = as.numeric(str_remove_all(population, ","))) %>% 
      group_by(countryName) %>%
      slice(1) %>%
      group_by(region) %>% 
      summarize(population = sum(population, na.rm = TRUE))

df 数据库中有 covid-19 病例的国家和大陆信息。

df8 数据集包含人口信息。

df1 昨天也解决了该国的新病例数。

在 df4 中,我打印了迄今为止各大洲的总死亡人数。

我还找到了各大洲的人口信息。

我的问题是将新病例(昨天的死亡)的数据分成大洲。用df8写成的人口比例。

作为输出

地区死亡率

非洲 234 523452656 86/44545

美洲 24562 4123548621 15/4453284 . . .

【问题讨论】:

    标签: r


    【解决方案1】:

    您的某些预期值与您的预期值相差甚远。例如,美洲的人口约为1 billion people,而不是 40 亿。非洲也大约是1.2 billion,而不是 50 亿。

    df %>% 
      left_join(df8, by = c("countryName" = "country_name")) %>% 
      mutate(population = as.numeric(str_remove_all(population, ","))) %>% 
      group_by(countryName) %>% 
      filter(day == yesterday()) %>% 
      group_by(region) %>% 
      unique() %>% 
      summarize(population = sum(population, na.rm = TRUE),
                death = sum(death, na.rm = TRUE),
                prop = paste0(as.character(death), "/", as.character(population)))
    # A tibble: 5 x 4
      region   population  death prop            
      <chr>         <dbl>  <int> <chr>           
    1 Africa   1304908713   1842 1842/1304908713 
    2 Americas 1019607512  87805 87805/1019607512
    3 Asia     4601849172  20027 20027/4601849172
    4 Europe    738083720 142158 142158/738083720
    5 Oceania    40731992    115 115/40731992 
    

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      相关资源
      最近更新 更多