我有一个包含IDNum、Var1、Var2、Var3、Var4、Var5、Var6列的大型数据集变量为布尔值,值为0或1每一行可以是64个不同的可能排列中的一个。我想计算每一个排列对应的行数。有没有一种有效的方法把这个写在r中?

最佳答案

aggregate可以做到。下面是一个简短的例子:

r <- function() rbinom(10, 1, .5)
d <- data.frame(IDNum=1:10, Var1=r(), Var2=r())
d
   IDNum Var1 Var2
1      1    0    1
2      2    0    1
3      3    0    0
4      4    1    0
5      5    1    1
6      6    0    0
7      7    1    1
8      8    1    0
9      9    0    1
10    10    0    1

现在要计算每个组合的数目:
> aggregate(d$IDNum, d[-1], FUN=length)
  Var1 Var2 x
1    0    0 2
2    1    0 2
3    0    1 4
4    1    1 2

d$IDNum中的值实际上并不在这里使用,但必须将某些内容传递给length函数。将每个组合的d$IDNum中的值传递到length以获取计数。

关于r - 计算R中的现有排列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23600122/

10-11 04:22