我想简单地计算每种研究条件下的科目数量。数据如下所示:
subjectid cond obser variable
1234 1 1 12
1234 1 2 14
2143 2 1 19
3456 1 1 12
3456 1 2 14
3456 1 3 13
etc etc etc etc
这是一个庞大的数据集,并非总是很明显有多少独特的主体对每种情况有所贡献,等等。
我在data.frame中有这个。
我想要的是类似的东西
cond ofSs
1 122
2 98
对于每个“条件”,我都会得到对该条件贡献数据的唯一Ss数量的计数。看起来这样应该很简单。
最佳答案
使用ddply
包中的plyr
函数:
require(plyr)
df <- data.frame(subjectid = sample(1:3,7,T),
cond = sample(1:2,7,T), obser = sample(1:7))
> ddply(df, .(cond), summarize, NumSubs = length(unique(subjectid)))
cond NumSubs
1 1 1
2 2 2
ddply
函数通过cond
变量“拆分”数据帧,并为每个子数据帧生成一个摘要列NumSubs
。
关于r - 计算数据框中的唯一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459454/