这个问题在这里已有答案:
我有一个如下所示的数据集:
SID group timepoint
5402 A 0
5402 B 0
5402 C 1
5403 A 0
25403 B 1
25403 C 1
我想计算每组x时间点有多少个唯一的SID . 到目前为止,我一直在手工做组合,如下所示:
length(unique(subset(df, timepoint=='0' & group=='A')$SID))
length(unique(subset(df, timepoint=='0' & group=='B')$SID))
...
有没有办法使用分组函数给我一个包含所有计数的表? (比如 by
,或 tapply
?)谢谢!
1 回答
我们可以使用
uniqueN
来自data.table
. 将'data.frame'转换为'data.table'(setDT(df1)
),按'group'和'timepoint'分组,获取'SID'(uniqueN(SID)
)unique
元素的长度 .