tresbot - 1 month ago 9

R Question

I'm trying to create a list of permutations of a list, such that, for example,

`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"))

I'm not sure how to proceed, any help would be greatly appreciated.

Answer Source

`combinat::permn`

will do that work:

```
> 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"
```

Note that calculation is huge if the element is large.