【发布时间】:2020-08-01 11:22:40
【问题描述】:
假设我有以下由字符“a”到“e”组成的数据框:
df <- data.frame(P1 = c("a","b","c"), P2 = c("b","c","d"), P3 = c("e","a","e"))
P1 P2 P3
1 a b e
2 b c a
3 c d e
我想计算包含“a”到“e”的每个组合(大小 2)的数据框行数。所以在这种情况下,“a”到“e”有 10 种不同的(大小 2)组合。
t(combn(c("a","b","c","d","e"),2))
[,1] [,2]
[1,] "a" "b"
[2,] "a" "c"
[3,] "a" "d"
[4,] "a" "e"
[5,] "b" "c"
[6,] "b" "d"
[7,] "b" "e"
[8,] "c" "d"
[9,] "c" "e"
[10,] "d" "e"
2行有“a”和“b”的组合,1行有“a”和“c”的组合,没有行有“a”和“d”的组合,依此类推...... ...最终我想要一个看起来像这样的数据框:
X1 X2 Count
1 a b 2
2 a c 1
3 a d 0
4 a e ..
......... etc
对此的任何帮助将不胜感激,我在想 dplyr 或类似的东西可能有合适的东西,但没有设法找到一个没有耗时循环或类似的简单方法。
【问题讨论】:
标签: r combinations