选择R中向量中的所有值组合

时间:2019-02-07 16:04:14

标签: r vector

假设我有一个像这样的向量:

test<-c("a","b","c")

我正在尝试返回一个列表,其中包含向量元素的所有可能组合,其中顺序无关紧要,并且始终在输出中使用“ a”来获得如下内容:

[[1]]
  [1] "a"
  [2] "b"
  [3] "c"
[[2]]
  [1] "a"
  [2] "b"
[[3]]
  [1] "a"
  [2] "c"

谢谢。

1 个答案:

答案 0 :(得分:3)

有几个具有Powerset功能的软件包(rje,ggm,HapEstXXR)。其中HapEstXXR使用C / C ++,因此它应该特别快:

library(HapEstXXR)
lapply(powerset(c("b", "c")), function(x) c("a", x))

给予:

4 sets to create.
[[1]]
[1] "a" "b"

[[2]]
[1] "a" "c"

[[3]]
[1] "a" "b" "c"