Fandom

Scratchpad

Est-ce que les élements d'un vecteur sont contenus dans un autre vecteur ?

222,046pages on
this wiki
Add New Page
Discuss this page0 Share

Aprés avoir sué un peu de sang, j'ai fini par trouver ...

> X <- letters[c(3,1,2)]
> X
[1] "c" "a" "b"
> Y <- letters[rep(c(2:8),3)]
> Y
[1] "b" "c" "d" "e" "f" "g" "h" "b" "c" "d" "e" "f" "g" "h" "b" "c" "d" "e" "f" "g" "h"
> Y %in% X
[1]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE

Autrement dit, le biniou existe, c'est %in% mais ?%in% ne donne rien, faut passer par ?match ...

Utilisation :

> Y[Y %in% X]
[1] "b" "c" "b" "c" "b" "c"

Je ne garde de Y que les lignes pour lesquelles la valeur de Y est un élément de X.

Plus fort : est-ce que les couples composés par deux variables d'un data frame existent également dans un autre data frame toujours avec deux variables :

paste(DF1$Var1,DF1$Var2) %in% paste(DF2$Var1,DF2$Var2)

Comme précédemment à utiliser lorsque l'on veut sélectionner les couples de DF1 présents dans DF2

DF1[paste(DF1$Var1,DF1$Var2) %in% paste(DF2$Var1,DF2$Var2),]

ou inversement les couples qui sont dans DF1 et pas dans DF2 :

DF1[!(paste(DF1$Var1,DF1$Var2) %in% paste(DF2$Var1,DF2$Var2)),]

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.