[R] intersect more than two sets
John Fox
jfox at mcmaster.ca
Tue Apr 24 21:22:19 CEST 2007
Dear Weiwei Shi,
How about using recursion?
> intersection <- function(x, y, ...){
+ if (missing(...)) intersect(x, y)
+ else intersect(x, intersection(y, ...))
+ }
> a <- letters[1:4]
> b <- letters[2:5]
> c <- letters[3:6]
> d <- letters[4:7]
> e <- letters[5:8]
> intersection(a, b)
[1] "b" "c" "d"
> intersection(a, b, c)
[1] "c" "d"
> intersection(a, b, c, d)
[1] "d"
> intersection(a, b, c, d, e)
character(0)
> do.call(intersection, list(a, b, c))
[1] "c" "d"
I hope this helps,
John
--------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario
Canada L8S 4M4
905-525-9140x23604
http://socserv.mcmaster.ca/jfox
--------------------------------
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Weiwei Shi
> Sent: Tuesday, April 24, 2007 2:59 PM
> To: R Help
> Subject: Re: [R] intersect more than two sets
>
> assume t2 is a list of size 11 and each element is a vector
> of characters.
>
> the following codes can get what I wanted but I assume there
> might be a one-line code for that:
>
> t3 <- t2[[1]]
> for ( i in 2:11){
> t3 <- intersect(t2[[i]], t3)
> }
>
> or there is no such "apply"?
>
> On 4/24/07, Weiwei Shi <helprhelp at gmail.com> wrote:
> > Hi,
> > I searched the archives and did not find a good solution to that.
> >
> > assume I have 10 sets and I want to have the common
> character elements of them.
> >
> > how could i do that?
> >
> > --
> > Weiwei Shi, Ph.D
> > Research Scientist
> > GeneGO, Inc.
> >
> > "Did you always know?"
> > "No, I did not. But I believed..."
> > ---Matrix III
> >
>
>
> --
> Weiwei Shi, Ph.D
> Research Scientist
> GeneGO, Inc.
>
> "Did you always know?"
> "No, I did not. But I believed..."
> ---Matrix III
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
More information about the R-help
mailing list