La fonction merge() permet de fusionner deux data.frame ayant une variables en commun ainsi que des données complémentaires.
age <- c(11,13,14)
prenom <- c("simon","nicolas","cyril")
moyenne <- c(12.1,14.2,8.6)
classe <- factor(c("6eme","4eme","3eme"))
eleves <- cbind.data.frame(age,prenom,classe, moyenne)
#On colle les données dans un data.frame
nb_elev <- c(29,32,36,33)
moy_classe <- c(10.2,11.3,10.6,10.9)
caract_classe <- cbind.data.frame(c("6eme","5eme","4eme","3eme"),nb_elev,moy_classe)
#On colle les données dans un data.frame
names(caract_classe) <- c("classe","effectif","moyenne de la classe")
#On attribue à chaque variable le nom que l'on désire
merge(eleves,caract_classe,by="classe")
#On fusionne les données dans un data.frame
#La clé commune aux données est la variable "classe"
#En effet, la variable commune aux data.frame « eleves » et « caract_classe » est la variable classe.
On obtient :
merge(eleves,caract_classe,by="classe") #La clé est la variable "ville"
classe age prenom moyenne effectif moyenne de la classe
1 3eme 14 cyril 8.6 33 10.9
2 4eme 13 nicolas 14.2 36 10.6
3 6eme 11 simon 12.1 29 10.2