[R] list operation

Bill.Venables at csiro.au Bill.Venables at csiro.au
Thu Jun 24 01:34:15 CEST 2010


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-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Henrique Dallazuanna
Sent: Thursday, 24 June 2010 9:21 AM
To: Yuan Jian
Cc: r-help at 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 <jayuan2008 at 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 at 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]]



More information about the R-help mailing list