这里的相对菜鸟,将不胜感激任何帮助。基本上我想创建一个输出 csv 文件,其中包含每次爆发的频率和第一次发病日期、最后一次发病日期和总持续时间。
我有一个看起来像这样的数据集:
df <- data.frame(outbreak_name = c("A","A","A","A","B","B","C","C","C"), onset = c(as.Date("2021-1-11"), "2021-2-2","2021-2-3","2021-3-3","2021-5-5","2021-7-5","2021-4-5","2021-2-3","2021-12-4"))
我已经能够用这样的日期创建列
summary_ob <- df %>%
group_by(outbreak_name) %>%
mutate(first_onset = min(onset)) %>%
mutate(last_onset = max(onset)) %>%
mutate(duration = last_onset - first_onset)
我可以用简单的计数创建一个频率表。
summary_freq <- df %>%
group_by(outbreak_name) %>%
summarize(cases = n())
我想不出是如何结合这个,所以它会显示爆发 A 有 4 个病例,第一次发作是 xx,最后一次发作是 xx,爆发已经持续了 xx 天。然后我想把它写成.csv 作为输出。
library(dplyr)
df %>%
group_by(outbreak_name) %>%
summarize(
cases = n(),
first_onset = min(onset),
last_onset = max(onset)
) %>%
mutate(duration = last_onset - first_onset)
# A tibble: 3 x 5
outbreak_name cases first_onset last_onset duration
<chr> <int> <date> <date> <drtn>
1 A 4 2021-01-11 2021-03-03 51 days
2 B 2 2021-05-05 2021-07-05 61 days
3 C 3 2021-02-03 2021-12-04 304 days
write_csv
导出后就可以使用了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句