У меня есть список, определенный следующим образом:Динамические условия для подмножества в R
cond <- list(list(1), list(1, 2), list(1, 2, 3))
На основании этого cond
списка Я хочу сделать Подменю. В тривиальном жестко закодированном случае, я делаю это так:
t1 <- subset(dat, group == 1)
t2 <- subset(dat, group == 1 | group == 2)
# etc
Теперь я хочу, чтобы перейти от этого жестких кодированных решений динамического. В псевдокоде это будет выглядеть так:
ts <- list()
i <- 1
for(lst in cond){
ts[i] <- subset(dat, group in lst) # <- This is what I want
i <- i + 1
}
Другими словами, я хочу, чтобы перейти от этого:
group == 1 | group == 2
к этому:
group in lst
Но я не знаю, как это реализовать.
Вам просто нужен оператор '% in%'. – joran
@joran. Благодаря! Я проверю это через минуту. – Jacobian
Возможный дубликат: http://stackoverflow.com/questions/29188063/how-to-create-a-vector-indicating-matches-between-the-elements-of-one-vector-and – MrFlick