Comment tracer une ligne de régression par groupe avec ggplot2
Nous pouvons utiliser la syntaxe suivante pour tracer une droite de régression par groupe à l’aide du package de visualisation R ggplot2 :
ggplot(df, aes(x = x_variable, y = y_variable, color = group_variable)) + geom_point() + geom_smooth(method = "lm", fill = NA)
Ce didacticiel fournit un exemple rapide de la façon d’utiliser cette fonction dans la pratique.
Exemple : tracer les lignes de régression par groupe avec ggplot2
Supposons que nous ayons l’ensemble de données suivant qui montre les trois variables suivantes pour 15 étudiants différents :
- Nombre d’heures étudiées
- Note d’examen reçue
- Technique d’étude utilisée (soit A, B ou C)
#create dataset df <- data.frame(hours=c(1, 2, 3, 3, 4, 1, 2, 2, 3, 4, 1, 2, 3, 4, 4), score=c(84, 86, 85, 87, 94, 74, 76, 75, 77, 79, 65, 67, 69, 72, 80), technique=rep(c('A', 'B', 'C'), each=5)) #view dataset df hours score technique 1 1 84 A 2 2 86 A 3 3 85 A 4 3 87 A 5 4 94 A 6 1 74 B 7 2 76 B 8 2 75 B 9 3 77 B 10 4 79 B 11 1 65 C 12 2 67 C 13 3 69 C 14 4 72 C 15 4 80 C
Le code suivant montre comment tracer une droite de régression qui capture la relation entre les heures étudiées et la note obtenue à l’examen pour chacune des trois techniques d’étude :
#load ggplot2 library(ggplot2) #create regression lines for all three groups ggplot(df, aes(x = hours, y = score, color = technique)) + geom_point() + geom_smooth(method = "lm", fill = NA)
Notez que dans geom_smooth() nous avons utilisé method = ‘lm” pour spécifier une tendance linéaire.
Nous pourrions également utiliser d’autres méthodes de lissage comme « glm », « loess » ou « gam » pour capturer les tendances non linéaires des données. Vous pouvez trouver la documentation complète de geom_smooth() ici .
Notez que nous pourrions également utiliser différentes formes pour afficher les résultats des examens pour chacun des trois groupes :
ggplot(df, aes(x = hours, y = score, color = technique, shape = technique)) +
geom_point() +
geom_smooth(method = "lm", fill = NA)
Vous pouvez trouver plus de didacticiels ggplot2 ici .