首页 > 解决方案 > R中的特定排列

问题描述

我正在尝试{0,1,2,3}使用combinat::permn.

问题是我希望将每个排列转换为'%s-%s-%s'..etc 的形式并存储在列表中。例如,

> library(combinat)
> permn(numbers[1:4])
[[1]]
[1] "0" "1" "2" "3"
[[2]]
[1] "0" "1" "3" "2"
 .
 .
 . and so on

但我想将所有排列的输出转换为我的特定格式的字符串序列列表,即'0-1-2-3', '0-1-3-2等。

标签: rpermutation

解决方案


用于lapply应用于paste每个向量并使用所需的分隔符折叠它们(在本例中为“-”)。

lapply(permn(0:3), paste, collapse = "-")

如果您只想将输出作为向量而不是列表,则可以使用sapply代替lapply


推荐阅读