我的数据框如下所示:
Index V1 v2 v3 v4 v5 v6
1 a b c d e f
2 b c d e
3 a b c f g
4 a c f d g
5 b c d g h i
. . . . . . .
. . . . . . .
我需要遍历数据框中的每一行并选取一起显示的对,并对它们进行计数。例如,a和b出现在行索引1和3中,因此count = 2。
数据框有6列,不包括索引和554行。可能的11中每行有6个变量。
第一步是做一对a和b。
然后做所有组合。例如。 a+c
,a+d
,a+e...
b+c
,b+d...
我使用了table(apply(df,1,function(x) paste(sort(x), collapse='-')))
和
来自count(df)
包的plyr
,但输出是a+b
,a+b+c....
b+c
,b+c+d
的频率。
我需要所有对的频率。所以a+b = (freq of a+b) + (freq of a+b+c) + (freq of a+b+c+d)
的频率等等
在excel中,我尝试过COUNTIF
。这样COUNTIF(column1,a,column2,b)
,但a和b分别不在第1列和第2列。
还尝试了COUNTIF(df,a,df,b)
,但这给了我很多。
可以在r或excel中完成。虽然我认为R会更快。