2016-03-07 2 views
0

Я хотел бы найти наиболее эффективный с точки зрения вычислений способ получения всех возможных способов получения значений «n» из «n» отдельных списков, где каждый список может имеют 1 или более элементов, в R. Я проиллюстрирую пример.Поиск всех возможных способов выбора элементов «n» из списков «n»

Предположим, у меня есть список списков (в моем примере, в частности, список из четырех списков):

ll <- list(list(1), list(2), list(1,3), list(2,4)) 

Я хочу, чтобы все пути я могу отведать одно значение из каждого из четырех списков в этот список списков. В этом случае возможных наборы значений будут:

c(1, 2, 1, 2) 
c(1, 2, 1, 4) 
c(1, 2, 3, 2) 
c(1, 2, 3, 4) 

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

ответ

1

Вы могли бы попробовать что-то вроде следующего

expand.grid(ll) 

# Var1 Var2 Var3 Var4 
# 1 1 2 1 2 
# 2 1 2 3 2 
# 3 1 2 1 4 
# 4 1 2 3 4 
Смежные вопросы