Генерация всех возможных перестановок (или n-кортежей) - PullRequest
23 голосов
/ 24 февраля 2012

Я хотел бы создать data.frame из всех возможных перестановок из 10 переменных, которые могут быть 1 или 2

2*2*2*2*2*2*2*2*2*2 = 1024 # possible

1,1,1,1,1,1,1,1,1,1
1,2,1,1,1,1,1,1,1,1
1,2,2,1,1,1,1,1,1,1
1,2,2,2,1,1,1,1,1,1
...

Есть ли "быстрый" способ сделать это в R?1004 *

Ответы [ 2 ]

29 голосов
/ 24 февраля 2012

как насчет этого:

tmp = expand.grid(1:2,1:2,1:2,1:2,1:2,1:2,1:2,1:2,1:2,1:2)

или вот это (спасибо Тайлеру):

x <- list(1:2)
tmp = expand.grid(rep(x, 10))
0 голосов
/ 15 мая 2019

Некоторые люди задают вопрос о письмах, например здесь . Обычно предоставляется решение expand.grid, но я считаю, что это намного проще:

sapply(LETTERS[1:3], function(x){paste0(x, LETTERS[1:3])}) %>% c()
# [1] "AA" "AB" "AC" "BA" "BB" "BC" "CA" "CB" "CC"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...