我试图找到一个数字的所有可能组合,即基本上是数字的阶乘,但也显示所有可能的组合。
当我使用 allPerms 函数时,我应该得到所有可能的组合,但它总是少一个组合。为什么会这样?
library(permute)
allPerms(3)
[,1] [,2] [,3]
[1,] 1 3 2
[2,] 2 1 3
[3,] 2 3 1
[4,] 3 1 2
[5,] 3 2 1
allPerms(4)
[,1] [,2] [,3] [,4]
[1,] 1 2 4 3
[2,] 1 3 2 4
[3,] 1 3 4 2
[4,] 1 4 2 3
[5,] 1 4 3 2
[6,] 2 1 3 4
[7,] 2 1 4 3
[8,] 2 3 1 4
[9,] 2 3 4 1
[10,] 2 4 1 3
[11,] 2 4 3 1
[12,] 3 1 2 4
[13,] 3 1 4 2
[14,] 3 2 1 4
[15,] 3 2 4 1
[16,] 3 4 1 2
[17,] 3 4 2 1
[18,] 4 1 2 3
[19,] 4 1 3 2
[20,] 4 2 1 3
[21,] 4 2 3 1
[22,] 4 3 1 2
[23,] 4 3 2 1
如您所见,这两种情况的 123 和 1234 的第一个组合分别缺失。
我知道我可以使用 combinat 包中的 permn() 函数获得所有可能的组合。
我只是想知道是否有办法为此目的使用 allPerms 本身。或任何其他功能。这方面的任何信息都将非常有用。谢谢你。