在R中生成非重复的组合对

时间:2009-11-10 18:57:44

标签: r combinations

对于非描述性标题感到抱歉,但我不知道是否有一个关于我想要达到的目标的词。

我们假设我有一个不同类的名称列表,如

c( '1', '2', '3', '4')

我想生成所有可能的排列对,这样就没有反向重复。所以我想拥有的就是

'1' '2'
'1' '3'
'1' '4'
'2' '3'
'2' '4'
'3' '4'

请注意,我没有例如'2' '1'因为我已经'1' '2'了。有没有一种简单的方法可以在R中实现这一目标?

1 个答案:

答案 0 :(得分:12)

> x<-c('1','2','3','4')
> combn(x,2)
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,] "1"  "1"  "1"  "2"  "2"  "3" 
[2,] "2"  "3"  "4"  "3"  "4"  "4"