唯一集排列R

时间:2019-01-30 17:12:38

标签: r set unique permutation

有没有一种方法可以生成以下排列的所有唯一集合,因此我可以轻松更改N和R。

library(gtools)
x <- c("A","B","C","D")
x <- permutations(n=4,r=2,v=x)
x
    [,1] [,2]
[1,] "A"  "B" 
[2,] "A"  "C" 
[3,] "A"  "D" 
[4,] "B"  "A" 
[5,] "B"  "C" 
[6,] "B"  "D" 
[7,] "C"  "A" 
[8,] "C"  "B" 
[9,] "C"  "D" 
[10,] "D"  "A" 
[11,] "D"  "B" 
[12,] "D"  "C"

例如,集合1和4不是唯一的,AB和BA包含相同的字符。

以下列表是唯一的,这就是我想要的。

    [,1] [,2]
[1,] "A"  "B" 
[2,] "A"  "C" 
[3,] "A"  "D" 
[4,] "B"  "C"
[5,] "B"  "D"
[6,] "C"  "D"

1 个答案:

答案 0 :(得分:3)

conbn将为您提供所需的内容:

 #combn gives you the combinations, t is only used to transpose the matrix
 t(combn(x, 2))
#     [,1] [,2]
#[1,] "A"  "B" 
#[2,] "A"  "C" 
#[3,] "A"  "D" 
#[4,] "B"  "C" 
#[5,] "B"  "D" 
#[6,] "C"  "D"