Выберите все возможные кортежи из вектора в R - PullRequest
3 голосов
/ 09 марта 2011

Я пытаюсь написать программу на R, которая при заданном векторе вернет все возможные кортежи элементов из этого вектора.

Например: кортежи (c ('a', 'b', 'c')) = c ('a', 'b', 'c'); такси'); c ('a', 'c'), c ('b', 'c'); с ( 'а'); с ( 'б'); с ( 'с')

Я думаю, он должен вернуть список векторов.

Для справки, вот программа , которая выполняет аналогичную функцию в Stata .

1 Ответ

6 голосов
/ 09 марта 2011

Вы можете использовать combn:

x <- 1:3
unlist(lapply(x, function(n) combn(x, n, simplify=FALSE)), recursive=FALSE)
...