извлечение и использование текущих данных в наборе данных - PullRequest
0 голосов
/ 06 мая 2020
 df <- read.csv ('https://raw.githubusercontent.com/ulklc/covid19- 
  timeseries/master/countryReport/raw/rawReport.csv',
            stringsAsFactors = FALSE)

  yesterday <- function() Sys.Date() - 1L
  yesterday()
 # [1] "if it doesn't work yesterday()-1  do it"

Я создал вчера функцию.

В наборе данных df есть разделы региона, смерти и восстановленных.

Вот что ему нужно от вашей помощи.

Чтобы найти страну, которая сообщила о наибольшем количестве смертей на континенте по сравнению со вчерашним днем ​​в наборе данных DF

Согласно вчерашнему набору данных DF, найдите страну, которая сообщила о наиболее выздоровевших на континенте .

итак, что я хочу в качестве вывода.

Дата страна Имя регион смерть восстановлена ​​

2020/05/05 Италия (образец) Европа 600 (образец ) 50

2020/05/05 Испания (образец) Европа 200 (образец) 580

2020/05/05 Китай (образец) Азия 1200 80

2020/05/05 Япония (образец) Азия 400 780

..

..

. .

страны и данные приведены в качестве примеров.

одна строка смерти. восстановлена ​​строка.

требуется для каждого региона.

Всего 5 регионов. Это становится 10 строк.

1 Ответ

1 голос
/ 06 мая 2020

Этот результат содержит 10 строк (по 2 для каждого региона), как вы и просили, но следует учитывать, что США, например, сообщили как о наибольшем количестве смертей, так и о наибольшем выздоровлении в регионе Америки. Это означает, что он появляется дважды. То же верно и для Ирана и Австралии, поэтому уникальных строк всего 7.

library(tidyverse)
death_df <- df %>%
  filter(as.Date(day) == yesterday()) %>%
  group_by(region) %>%
  filter(death == max(death)) %>%
  select(Date = day,
         countryName,
         region,
         death,
         recovered)

recovered_df <- df %>%
  filter(as.Date(day) == yesterday()) %>%
  group_by(region) %>%
  filter(recovered == max(recovered)) %>%
  select(Date = day,
         countryName,
         region,
         death,
         recovered)

full_df <- bind_rows(death_df, recovered_df)
full_df
# A tibble: 10 x 5
# Groups:   region [5]
   Date       countryName    region   death recovered
   <chr>      <chr>          <chr>    <int>     <int>
 1 2020/05/05 Australia      Oceania     96      5889
 2 2020/05/05 Algeria        Africa     470      2067
 3 2020/05/05 United Kingdom Europe   29427         0
 4 2020/05/05 Iran           Asia      6340     80475
 5 2020/05/05 United States  Americas 72241    199684
 6 2020/05/05 Australia      Oceania     96      5889
 7 2020/05/05 Spain          Europe   25613    154718
 8 2020/05/05 Iran           Asia      6340     80475
 9 2020/05/05 United States  Americas 72241    199684
10 2020/05/05 South Africa   Africa     148      2746
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...