我正在嘗試創(chuàng)建列表的排列列表,例如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"))我不確定如何繼續(xù),我們將不勝感激。
3 回答

qq_笑_17
TA貢獻1818條經(jīng)驗 獲得超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條經(jīng)驗 獲得超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 關(guān)注
- 855 瀏覽
添加回答
舉報
0/150
提交
取消