我正在尝试创建列表的排列列表,例如perms(list("a", "b", "c"))返回list(list("a", "b", "c"), list("a", "c", "b"), list("b", "a", "c"), list("b", "c", "a"), list("c", "a", "b"), list("c", "b", "a"))我不确定如何继续,我们将不胜感激。
3 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
combinat::permn 将完成该工作:
> library(combinat)
> permn(letters[1:3])
[[1]]
[1] "a" "b" "c"
[[2]]
[1] "a" "c" "b"
[[3]]
[1] "c" "a" "b"
[[4]]
[1] "c" "b" "a"
[[5]]
[1] "b" "c" "a"
[[6]]
[1] "b" "a" "c"
注意,如果元素很大,则计算量很大。
aluckdog
TA贡献1847条经验 获得超7个赞
您可以尝试permutations()使用该gtools软件包,但与permn()from 不同combinat,它不会输出列表:
> library(gtools)
> permutations(3, 3, letters[1:3])
[,1] [,2] [,3]
[1,] "a" "b" "c"
[2,] "a" "c" "b"
[3,] "b" "a" "c"
[4,] "b" "c" "a"
[5,] "c" "a" "b"
[6,] "c" "b" "a"
- 3 回答
- 0 关注
- 822 浏览
添加回答
举报
0/150
提交
取消