2015-07-22 1 views
1

J'ai deux vecteurs:différence entre deux vecteurs de R

a <- c(1, 1, 3, 4, 5, 7, 9) 
b <- c(2, 3, 4, 6, 8, 2) 

Je veux trouver les numéros dans le second vecteur, qui ne sont pas dans le premier vecteur:

dif <- c(2, 6, 8) 

J'ai essayé de nombreuses approches différentes (telles que la fusion, différents types de jointures (paquetage dplyr), setdiff, compare (comparer le paquetage)), mais je n'arrive toujours pas à trouver un moyen de le faire.

Répondre

7

Vous pouvez utiliser setdiff

setdiff(b,a) 
#[1] 2 6 8 
3

Une autre façon, au lieu de setdiff (ce qui est probablement preferrable), est d'utiliser %in%

unique(b[! b %in% a]) 
#[1] 2 6 8