如何创建样本数据集的所有唯一成对组合

时间:2018-02-24 09:19:47

标签: r combinations pairwise

我有388个示例代码列表,我想要所有唯一的成对组合。 我在r中尝试了几种选择,但它仍然没有给我我想要的东西。

这是我的示例代码的一部分:

11_07LENABL017

30_08ASBBAL033

21_08GEHOAL038

21_08GEHOAL041

04_08HLNABL043

31_08MMBBAL029

39_08VOVOAL030

39_08VOVOAL031

39_08VOVOAL039


So what is want is like this:

11_07LENABL017_30_08ASBBAL033

11_07LENABL017_21_08GEHOAL038

11_07LENABL017_21_08GEHOAL041

等等

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

x = c(1,2,3,4,5)    
apply(combn(x,2),2,paste,collapse='_')

输出:

[1] "1_2" "1_3" "1_4" "1_5" "2_3" "2_4" "2_5" "3_4" "3_5" "4_5"

或者,如果您认为a-bb-a不同:

x = c(1,2,3,4,5)
with(subset(expand.grid(x,x),Var1!=Var2),paste0(Var1,'-',Var2))

输出:

[1] "2-1" "3-1" "4-1" "5-1" "1-2" "3-2" "4-2" "5-2" "1-3" "2-3" "4-3" "5-3" "1-4" "2-4" "3-4" "5-4"
[17] "1-5" "2-5" "3-5" "4-5"

希望这有帮助!