【发布时间】:2021-12-25 08:45:20
【问题描述】:
我不确定这个任务是否属于self join。我基本上试图在下面的数据框中查找每个State.UnionTerritory 的最新日期,其中每个Daily_confirmed 案例是当前日期的一半。
这将帮助我获得每个州在每个日期的病例翻倍时间。
library(tidyverse)
library(lubridate)
df_ind <- read_csv("https://raw.githubusercontent.com/johnsnow09/covid19-df_stack-code/main/sample_data.csv")
df_ind %>% head()
# output
Date State.UnionTerritory Daily_confirmed
<date> <chr> <dbl>
1 2021-12-23 Haryana 46
2 2021-12-23 Maharashtra 1179
3 2021-12-23 Delhi 118
4 2021-12-22 Haryana 55
5 2021-12-22 Maharashtra 1201
6 2021-12-22 Delhi 125
例如,Delhi 在2021-12-23 上有118 的案例,而德里的这一比例不到或一半是57 在2021-12-15 上,所以翻倍率将是2021-12-23 - 2021-12-15 = 8天。
所以我应该得到类似的东西:
这应该适用于数据中的每个州以及所有日期。
df_ind <- df_ind %>%
mutate(Daily_confirmed_half = as.integer(Daily_confirmed / 2) )
我不确定我如何准确地尝试这个来获得正确的日期作为Doubling_Date 列,其中Daily_confirmed 案例值满足<= half 的条件。
我可以group summarize 和使用first 提取最新日期,但不确定将正确日期带入此数据框的另一列的有效方法。
【问题讨论】: