[英]R: Find the unique count (frequency) of a column by patient per treatment group
[英]calculate frequency of unique values per group in R
如何计算唯一值的数量,以便我从中获得:
organisation <- c("A","A","A","A","B","B","B","B","C","C","C","C","D","D","D","D")
variable <- c("0","0","1","2","0","0","1","1","0","0","1","1","0","0","2","2")
df <- data.frame(organisation,variable)
organisation | variable
A | 0
A | 1
A | 2
A | 2
B | 0
B | 0
B | 1
B | 1
C | 0
C | 0
C | 1
C | 1
D | 0
D | 2
D | 2
D | 2
至:
unique_values | frequency
0,1,2 | 1
0,1 | 2
0,2 | 1
只有 3 个可能的序列:
你可以做这样简单的事情:
library(dplyr)
library(stringr)
distinct(df) %>%
arrange(variable) %>%
group_by(organisation) %>%
summarize(unique_values = str_c(variable,collapse = ",")) %>%
count(unique_values)
输出:
unique_values n
<chr> <int>
1 0,1 2
2 0,1,2 1
3 0,2 1
尝试这个
s <- aggregate(. ~ organisation , data = df , \(x) names(table(x)))
s$variable <- sapply(s$variable , \(x) paste0(x , collapse = ","))
setNames(aggregate(. ~ variable , data = s , length) , c("unique_values" , "frequency"))
unique_values frequency
1 0,1 2
2 0,1,2 1
3 0,2 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.