在R中组合二进制变量

时间:2013-07-01 20:49:59

标签: r

我有一个如下所示的数据集:

   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”。有什么建议?您能推荐用于处理此类数据集的资源吗?

提前谢谢你......我对此很陌生。

1 个答案:

答案 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))