ce que tu as trouvé est dans la logique de ma solution, tu recherches ce qui est commun aux deux toi en faisant deux fois '%in%' et moi en utilisant la fonction intersect :
Code : Tout sélectionner
x <- letters[1:5]
y <- letters[3:7]
x <- x[x %in% y]
y <- y[y %in% x]
c(x,y)
intersect(x,y)
[1] "c" "d" "e"
Code : Tout sélectionner
x <- letters[1:5]
y <- letters[3:7]
z <- letters[4:10]
x <- x[x %in% y]
x <- x[x%in%z]
y <- y[y %in% x]
z <- z[z%in%x]
c(x, y, z)
[1] "d" "e" "d" "e" "d" "e"
# à la place de :
x <- letters[1:5]
y <- letters[3:7]
z <- letters[4:10]
A <- list(x, y, z)
auxi <- Reduce(intersect, A) # le vecteur des valeurs communes
do.call(c, lapply(A, function(x) x[x%in%auxi]))
[1] "d" "e" "d" "e" "d" "e"
Cordialement,
Maxime