如果向量在R中包含重复的元素,如何找到唯一的排列?

我们可以使用combinat包中的permn函数来查找排列,但是如果向量中有重复的元素,则结果将不会具有唯一的排列,因此,我们需要与permn函数一起使用唯一的函数。例如,如果我们有一个向量1、2、1,那么排列将是(1 2 1),(1 1 2),(1 1 2),(1 2 1),(2 1 1),(2 1 1),唯一的排列将是(1 2 1),(1 1 2),(2 1 1)。

示例

x1<-c(1,2,1,2)

x1

输出结果

[1] 1 2 1 2

找到所有排列-

烫发(x1)

[[1]]

[1] 1 2 1 2

[[2]]

[1] 1 2 2 1

[[3]]

[1] 1 2 2 1

[[4]]

[1] 2 1 2 1

[[5]]

[1] 2 1 1 2

[[6]]

[1] 1 2 1 2

[[7]]

[1] 1 1 2 2

[[8]]

[1] 1 1 2 2

[[9]]

[1] 1 1 2 2

[[10]]

[1] 1 1 2 2

[[11]]

[1] 1 2 1 2

[[12]]

[1] 2 1 1 2

[[13]]

[1] 2 1 2 1

[[14]]

[1] 1 2 2 1

[[15]]

[1] 1 2 2 1

[[16]]

[1] 1 2 1 2

[[17]]

[1] 2 1 1 2

[[18]]

[1] 2 1 2 1

[[19]]

[1] 2 2 1 1

[[20]]

[1] 2 2 1 1

[[21]]

[1] 2 2 1 1

[[22]]

[1] 2 2 1 1

[[23]]

[1] 2 1 2 1

[[24]]

[1] 2 1 1 2

找到唯一的排列-

唯一的(permn(x1))

[[1]]

[1] 1 2 1 2

[[2]]

[1] 1 2 2 1

[[3]]

[1] 2 1 2 1

[[4]]

[1] 2 1 1 2

[[5]]

[1] 1 1 2 2

[[6]]

[1] 2 2 1 1

示例

x2 <-c(0,1,0)位数(x2)

[[1]]

[1] 0 1 0

[[2]]

[1] 0 0 1

[[3]]

[1] 0 0 1

[[4]]

[1] 0 1 0

[[5]]

[1] 1 0 0

[[6]]

[1] 1 0 0

唯一的(permn(x2))

[[1]]

[1] 0 1 0

[[2]]

[1] 0 0 1

[[3]]

[1] 1 0 0

以上是 如果向量在R中包含重复的元素,如何找到唯一的排列? 的全部内容, 来源链接: utcz.com/z/350164.html

回到顶部