带有附加列的 R 频率表

佩特拉

这里的相对菜鸟,将不胜感激任何帮助。基本上我想创建一个输出 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章