Рассмотрим следующий список, где каждый член содержит наборы чисел.
sets <- list(a=1:3, b=2:3, c=4:6, d=4:6, e=7)
Я хочу идентифицировать все наборы, которые являются правильными подмножествами другого набора в списке, так что мой желаемый результат будет выглядеть следующим образом...
c(F,T,F,F,F)
Поскольку мои фактические наборы достаточно велики, мне не нужно рассчитывать наборы мощности для каждого набора.У кого-нибудь есть мысли по поводу эффективного способа сделать это?
Это то, что я сделал до сих пор, и это работает, но это не самый элегантный способ сделать это.
truthtable <- bind_rows(lapply(X=sets, FUN=function(x, allsets){
unlist(lapply(X=allsets, FUN=function(x,testset){
return(all(x %in% testset) & !setequal(x, testset))
}, testset=x))
}, allsets=sets))
apply(truthtable, 1, function(x){(all(!x))})