У меня есть список сгруппированных элементов, и я хочу сделать все возможные комбинации этих элементов, однако я хочу только взять один элемент из каждой группы. Заказ не имеет значения.Комбинации из сгруппированных элементов
vars_list <- list(Group1 = letters[1:5], Group2 = letters[6:9],
Group3 = letters[10:11], Group4 = letters[12:15])
Скажем, я хочу, чтобы сделать комбинации при п = 2, п = 3, п = 4, где п число групп, я хочу использовать.
Я нашел решение, чтобы сделать это при п = число групп (Combinations from recursive lists):
lengths <- c(1, 1, 1, 1)
combos <- expand.grid(mapply(function(element, n) combn(element, m=n,
FUN=paste0, collapse=""), vars_list, lengths, SIMPLIFY = F))
Как я могу сделать это для п < числа групп?
Если n = 2, где находятся элементы, которые нужно взять? 'Group1' и' Group3', 'Group2' и' Group3' и т. Д.? – adaien
Обратите внимание, что ваши 'комбо' такие же, как' expand.grid (vars_list) ', check' all (комбо == expand.grid (vars_list)) ' – user1981275
adiana, n = 2 означает, что два элемента должны быть взяты из две отдельные группы, например. 'a' из Group1 и 'f' из Group2. пользователь1981275, это! похоже, что ваш ответ выполняет эту работу. большое спасибо. – Xlrv