Fandom

Scratchpad

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

215,835pages on
this wiki
Add New Page
Discuss this page0 Share

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.

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)),]

Also on Fandom

Random wikia