Here is an alternative: > lst <- list(m = c('a','b','c'), n = c('c','a'), l = c('a','bc')) > set <- c("a", "c")
> (w <- sapply(lst, function(x) all(set %in% x))) m n l TRUE TRUE FALSE > names(w)[w] [1] "m" "n" -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Henrique Dallazuanna Sent: Thursday, 24 June 2010 9:21 AM To: Yuan Jian Cc: r-help@r-project.org Subject: Re: [R] list operation Try this: lst[colSums(mapply('%in%', list(set), lst)) == 2] On Wed, Jun 23, 2010 at 10:35 AM, Yuan Jian <jayuan2...@yahoo.com> wrote: > 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. > > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[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.