我有一个大型数据集,其中包含超过1000万条记录和20个变量。我需要获取这20个变量中11个变量的所有可能组合,并且对于每个组合,还应显示频率。
我在plyr包和table()函数中尝试过count()。但是它们两者都无法获得所有可能的组合,因为组合的数量非常多(大于2 ^ 32个组合),而且尺寸很大。
我想要频率大于0的前三个变量的所有可能组合。
答案 0 :(得分:1)
好。我想我对您的需求有所了解。如果要说要按表中的N个行类别计数,可以使用data.table
包。它将为您提供表中存在的所有组合的计数。只需在by
论据中列出所需的类别
DT<-data.table(val=rnorm(1e7),cat1=sample.int(10,1e7,replace = T),cat2=sample.int(10,1e7,replace = T),cat3=sample.int(10,1e7,replace = T))
DT_count<-DT[, .N, by=.(cat1,cat2,cat3)]