j'ai un petit problème avec la fonction merge (ou la fonction join ..)
J'ai deux data.frame à joindre entre eux.
Le premier "mflore" contient des indications sur des relevés floristiques (localisation, date etc), le second "bf" est une base de données sur les traits de vie des espèces ....
J'aimerais associés les traits de vie de "bf" à mes espèces trouvées dans "mflore".
Les colonnes correspondantes pour la jointure sont:
Code : Tout sélectionner
bf$Nom.Phytobase
mflore$espece
J'ai tapé :
Code : Tout sélectionner
test<-merge(bf,mflore,by.y="espece",by.x="Nom.Phytobase", all.x=F, all.y=T)
Et j'obtiens un énorme data.frame contenant entièrement bf et mflore. Hors j'aimerais entièrement mflore et UNIQUEMENT les especes de bf qui sont identiques à mflore (et non toutes les espèces de la base de données).
Une idée ? je pensais qu'en écrivant:
Code : Tout sélectionner
all.x=F, all.y=T
EDIT : suite à un commentaire j'ai tenté de passer par la fonction "join", voila ce que ça me donne ...
J'ai modifié le nom de ma colonne dans bf pour qu'elle corresponde à celle dans mflore et j'ai tapé ça:
Code : Tout sélectionner
> test2<-join(mflore,bf,by="espece",type="inner")
> summary(test2)
site date localisation modalite
:620060 :620060 andain: 3516 :620060
Escource : 20722 11/09/2012: 21092 ligne : 57206 HE : 18542
Haguenau_P150: 11984 02/09/2015: 9004 :620060 3B : 17992
Solferino : 11340 23/09/2014: 4986 NA's : 392 SR : 14212
Haguenau_P32 : 5098 01/09/2015: 3296 CV : 4274
Villecartier : 4704 16/09/2014: 2254 (Other): 5702
(Other) : 7266 (Other) : 20482 NA's : 392
Je me retrouve avec plus de 620 000 lignes, alors quand dans mon tableau initial j'en ai environs 35 000
Code : Tout sélectionner
summary(mflore)
site date localisation modalite PU
Villecartier :6328 12/09/2013: 2534 andain: 3302 SR :7194 Min. : 1.000
Rennes :4832 10/09/2013: 2314 ligne :29978 3B :7124 1st Qu.: 4.000
Escource :4526 16/09/2014: 2074 : 862 CV :5430 Median : 8.000
Bord Louviers:4450 06/09/2012: 1720 NA's : 544 LO :5078 Mean : 8.191
Solferino :3846 17/09/2014: 1348 HE :4532 3rd Qu.:12.000
Haguenau_P150:3436 17/09/2013: 1338 (Other):4784 Max. :18.000
(Other) :7268 (Other) :23358 NA's : 544 NA's :860
Hors vu que je veux ajouter des colonnes de modalités à mes lignes déjà existantes, pourquoi je me retrouve avec autant de lignes ? J'ai du oublier quelque chose dans ma formule ?