[R] intersect of list elements

Georg Otto georg.otto at tuebingen.mpg.de
Fri Jul 21 19:39:09 CEST 2006


Hi,

i have a list of several vectors, for example:

> vectorlist
$vector.a.1
[1] "a" "b" "c"

$vector.a.2
[1] "a" "b" "d"

$vector.b.1
[1] "e" "f" "g"


I can use intersect to find elements that appear in $vector.a.1 and
$vector.a.2:

> intersect(vectorlist[[1]], vectorlist[[2]])
[1] "a" "b"


I would like to use grep to get the vectors by their names matching an
expression and to find the intersects between those vectors. For the
first step:

> vectorlist[grep ("vector.a", names(vectorlist))]
$vector.a.1
[1] "a" "b" "c"

$vector.a.2
[1] "a" "b" "d"


Unfortunately, I can not pass the two vectors as argument to intersect:

> intersect(vectorlist[grep ("vector.a", names(vectorlist))])
Error in unique(y[match(x, y, 0)]) : argument "y" is missing, with no default

I am running R Version 2.3.1 (2006-06-01) 


Could somone help me to solve this?

Cheers,

Georg



More information about the R-help mailing list