计算R中不同列组合的数量

时间:2016-10-04 08:43:52

标签: r

我正在寻找一种简单的方法来计算数量 大二进制matrix中的唯一组合。

如果我有以下matrix

m = matrix(c(1,0,1,1,1,1,1,0,1,1,0,1), ncol=3, byrow=TRUE)

我想得到以下输出:

     [,1] [,2] [,3] [,4]
[1,]    1    0    1    3
[2,]    1    1    1    1

因此该函数应该计算列的唯一组合的数量 - 有三行包含1,0,1,一行包含1,1,1。

对象类型不固定(即它可以是data.framedata.table,等等。 我想避免必须手动指定列数来计算 如果可能的话(即我可以提供带有相应列名的字符向量,或者使用整个矩阵)。

我知道必须有一个解决方案,但我的谷歌似乎很弱。

1 个答案:

答案 0 :(得分:2)

一种方法是使用count中的plyr

library(plyr)
count(m, 1:ncol(m))

#  x.1 x.2 x.3 freq
#1   1   0   1    3
#2   1   1   1    1