我在数据框中有一列我用于编码。我想选择其中三个代码,但它们必须彼此不同,直到所有组合都用完为止。这是我的#34; Code"柱
Code
AA
AA
AA
BA
BA
BA
BA
CA
CA
CA
CA
AB
AB
AB
例如,我想要
的群组1 "AA" "BA" "CA"
2 "AA" "BA" "AB"
3 "BA" "CA" "AB"
但不是
1 "AA" "AA" "CA"
2 "AA" "BA" "BA"
3 "CA" "CA" "AB"
我已经尝试过编写一个随机选择的for循环,但它会被挂起,因为它只是完全随机的。因此,它将两次选择相同的代码。
非常感谢任何和所有帮助。
答案 0 :(得分:7)
假设您的数据框名为codeDf
,您可以执行以下操作:
t(combn(unique(codeDf$Code), 3))
[,1] [,2] [,3]
[1,] AA BA CA
[2,] AA BA AB
[3,] AA CA AB
[4,] BA CA AB