我有一个如下所示的数据集:
UserID Query Asthma Stroke
142 abc dr 0 0
142 asthma 1 0
142 stroke 0 1
145 stroke 0 1
145 pizza 0 0
有数十万个UserID,每个用户提交了可变数量的查询。为了进一步分析,我需要为每个UserID加上“Asthma”和“Stroke”。有什么建议?您能推荐用于处理此类数据集的资源吗?
提前谢谢你......我对此很陌生。
答案 0 :(得分:3)
您可以使用plyr包中的ddply
函数。
假设您的数据集是样本:
install.packages("plyr")
library(plyr)
ddply(sample,.(UserID), summarize,sumAsthma=sum(Asthma),sumStroke=sum(Stroke))
注意:如果您有多个数字列,则可以使用numcolwise()
。
ddply(sample,.(UserID),numcolwise(sum))