如何使用dplyr创建基于R中二进制变量的值进行计数的计数变量



创建df的代码:我有类似下表的重复数据。

df <- structure(list(patid = c("1", "1", "1", "1", "2", "2", "3", "3", 
"3", "4", "4", "4", "4"), observation_date = c("07/07/2016", 
  "07/08/2016", "07/11/2016", "07/07/2019", "07/05/2015", "02/12/2016", 
  "07/05/2015", "07/06/2015", "16/06/2015", "07/05/2015", "02/12/2016", 
  "18/12/2016", "15/01/2017"),
registration = c("0","0","1","1","0","1","0","0","0","0","1","1","1")), class = "data.frame", row.names = c(NA, 
                                                                    -13L))
patidobservation_date注册
12016年7月7日0
12016年8月7日0
12016年11月7日1
12019年7月7日1
22015年5月7日0
22016年12月2日1
32015年5月7日0
32015年6月7日0
32015年6月16日
42015年5月7日0
42016年12月2日1
42016年12月18日1
42017年1月15日1

使用count。为了使每个可能的值都出现在最终表格中,您应该将您的注册列转换为一个因子:

df %>% 
count(patid, registration = factor(registration), .drop = FALSE)

输出

patid registration n
1     1            0 2
2     1            1 2
3     2            0 1
4     2            1 1
5     3            0 3
6     3            1 0
7     4            0 1
8     4            1 3

使用base R

as.data.frame(table(df[c('patid', 'registration')]))
patid registration Freq
1     1            0    2
2     2            0    1
3     3            0    3
4     4            0    1
5     1            1    2
6     2            1    1
7     3            1    0
8     4            1    3

相关内容

  • 没有找到相关文章

最新更新