> 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.

Reply via email to