> lst <- list(m=c('a','b','c'),n=c('c','a'),l=c('a','bc')) > f <- function(list, set) vapply(lst, function(el)all(is.element(set, el)), FUN.VALUE=logical(1)) > # if you have an old version of R use as.logical(sapply(...)) > # instead of vapply(..., FUN.VALUE=logical(10) > i <- f(lst, c("a","c")) > i m n l TRUE TRUE FALSE > names(lst)[i] [1] "m" "n" > lst[i] $m [1] "a" "b" "c" $n [1] "c" "a"
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Yuan Jian > Sent: Wednesday, June 23, 2010 6:35 AM > To: r-help@r-project.org > Subject: [R] list operation > > Hi, > > it seems a simple problem, but I can not find a clear way. > I have a list: > lst=list(m=c('a','b','c'),n=c('c','a'),l=c('a','bc')) > > lst > $m > [1] "a" "b" "c" > $n > [1] "c" "a" > $l > [1] "a" "bc" > > how can I get list elements that include a given subset? for > example, for given subset {'a','c'}, the answer should be 'm' and 'n'. > > thanks > Yu > > > > [[alternative HTML version deleted]] > > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.