Выберите все комбинации значений в векторе в R - PullRequest
0 голосов
/ 07 февраля 2019

Допустим, у меня есть такой вектор:

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

Я пытаюсь вернуть список со всеми возможными комбинациями элементов вектора, для которых порядок не имеет значения, а «а» всегда находится ввывод, чтобы получить что-то вроде этого:

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

Спасибо.

1 Ответ

0 голосов
/ 07 февраля 2019

Существует несколько пакетов с функциями 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...