Problème nombre de lignes avec merge de deux tableaux
Bonjour,
J'ai mergé deux tableaux sous R. Soit A le tableau avec 4506 lignes (=nombre individus) et le tableau B avec 4745 lignes (=inds). J'ai donc mergé les deux tableaux by IID (colonne commune).
Je n'ai eu aucun message d'erreur lors de la merge des tableaux mais cependant ma data finale contient 4538 lignes... Auriez-vous une idée de l'erreur? :calim2:
Merci de votre aide
Problème nombre de lignes avec merge de deux tableaux
Bonjour,
Par défaut, la fonction merge() conserve seulement les individus communs :
Code:
1 2 3 4 5 6 7 8 9 10
| > df1 <- data.frame(idd=c(1,1,2,3,4,5),V1=c(1,1,1,1,1,1))
> df2 <- data.frame(idd=c(1,3,4,5,6),V2=c(1,1,1,1,1))
> dftot<-merge(df1,df2,by="idd")
> dftot
idd V1 V2
1 1 1 1
2 1 1 1
3 3 1 1
4 4 1 1
5 5 1 1 |
Il faut utiliser l'option all=TRUE pour garder l'ensemble des individus des deux bases :
Code:
1 2 3 4 5 6 7 8 9 10
| > dftot<-merge(df1,df2,by="idd",all=TRUE)
> dftot
idd V1 V2
1 1 1 1
2 1 1 1
3 2 1 NA
4 3 1 1
5 4 1 1
6 5 1 1
7 6 NA 1 |
Pour plus d'options sur la fonction merge(), regardez l'aide :
Vous voyez aussi dans l'exemple qu'on a deux lignes pour l'individu1 dans df1, une seule dans df2 et qu'on obtient deux lignes dans dftot, ce qui explique que vous ayez davantage de lignes dans le tableau total que dans le plus petit tableau.
Cordialement,
Problème nombre de lignes avec merge de deux tableaux
Bonjour,
Avez-vous vérifié que vos tableaux ne comportaient pas des doublons ? Dans mon premier exemple, je n'utilise pas l'option all=TRUE. Il y a 4 individus communs mais on obtient 5 observations parce que l'individu 1 a deux observations.
Cordialement,