У меня есть логическая таблица, которая выглядит следующим образом:
Var1 Var2 Var3
FALSE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE TRUE
TRUE TRUE TRUE
и т. Д.
и вектор со строками:
например, c('a', 'b', 'c')
где длина строки соответствует количеству столбцов в логической таблице.
Только в BASE R, как я могу получить выходные данные в виде списка, который выглядит так:
$1 [1] character(0) # empty
$2 [1] "b"
$3 [1] "a" "c" # TRUE positions matched to vector positions
$4 [1] "a" "b" "c"
в действии, воспроизводя вызов пакета plyr mlply
например, код с использованием plyr package
myset <- c('a', 'b', 'c')
n<-length(myset)
logicaltable <- expand.grid(replicate(n, list(c(F,T))))
mlply(logicaltable, function(...) { myset[c(...)] })