我有一个格式的数据帧
Id_patient Evnt_chr
1 30 evnt
2 30 evnt
3 30 Not evnt
4 1 Not evnt
5 1 Not evnt
6 9 evnt
7 89 evnt
8 89 Not evnt
我需要获得以下形式的数据帧:
Evnt_chr Nb_id_patient %
evnt 3 75
Not_evnt 1 25
感谢您的帮助
Mathieu
使用dplyr:
library(dplyr)
df %>%
group_by(Id_patient) %>%
summarize(evnt = if(any(Evnt_chr == "evnt")) "evnt" else "Not evnt") %>%
`[[`("evnt") %>%
table() %>%
cbind( 100 * ./sum(.)) %>%
`colnames<-`(c("Nb_id_patient", "%"))
#> Nb_id_patient %
#> evnt 3 75
#> Not evnt 1 25