我想将一式三份的结果集分成三个可能的重复项。
如果初始设置是
A B C
1 122 106 114
2 110 122 110
我想把它变成
A B
1 122 106
2 122 114
3 106 114
4 110 122
5 110 110
6 122 110
combn函数将逐行完成此操作,但是我无法弄清楚如何将其应用于整个数据帧(这可能会很大,我仅使用两行进行演示)。
最佳答案
您可以执行以下操作:
lapply()
为数据combn
rbind
合并结果do.call
的魔力来组合由步骤1和2创建的列表。在一行代码中:
do.call(rbind, lapply(seq(nrow(dat)), function(i)t(combn(dat[i, ], 2))))
[,1] [,2]
[1,] 122 106
[2,] 122 114
[3,] 106 114
[4,] 110 122
[5,] 110 110
[6,] 122 110
关于r - 将三份重复拆分为重复份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25402561/