假设我有以下几行,我想将它们分成几对:
fname_c1 fname_c2 lname_c1 lname_c2 by bm bd group
<fct> <fct> <fct> <fct> <int> <int> <int> <dbl>
1 STEFAN NA WOLFF NA 1957 9 2 4
2 STEFAN NA MUELLER NA 1957 6 7 4
3 STEFAN NA MUELLER NA 1957 6 1 4
我想要:
fname_c1 fname_c2 lname_c1 lname_c2 by bm bd group
<fct> <fct> <fct> <fct> <int> <int> <int> <dbl>
1 STEFAN NA WOLFF NA 1957 9 2 4
2 STEFAN NA MUELLER NA 1957 6 7 4
fname_c1 fname_c2 lname_c1 lname_c2 by bm bd group
<fct> <fct> <fct> <fct> <int> <int> <int> <dbl>
1 STEFAN NA WOLFF NA 1957 9 2 4
3 STEFAN NA MUELLER NA 1957 6 1 4
fname_c1 fname_c2 lname_c1 lname_c2 by bm bd group
<fct> <fct> <fct> <fct> <int> <int> <int> <dbl>
2 STEFAN NA MUELLER NA 1957 6 7 4
3 STEFAN NA MUELLER NA 1957 6 1 4
如果我有4行,我将执行combn(4, 2)
并得到组合矩阵。
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 1 1 2 2 3
[2,] 2 3 4 3 4 4
但是现在我如何使行采用矩阵元素的索引:/对不起,我有点像矩阵。
答案 0 :(得分:2)
Grid
可以采用一系列行索引,在combn
中,我们可以根据索引对数据集的行进行子集化
FUN
combn(seq_len(nrow(df1)), 2, FUN = function(i) df1[i,], simplify = FALSE)