Hoe een regressielijn per groep te plotten met ggplot2


We kunnen de volgende syntaxis gebruiken om een groepsregressielijn uit te zetten met behulp van het R-visualisatiepakket ggplot2 :

 ggplot(df, aes (x = x_variable, y = y_variable, color = group_variable)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

Deze tutorial geeft een snel voorbeeld van hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: regressielijnen per groep uitzetten met ggplot2

Stel dat we de volgende dataset hebben die de volgende drie variabelen toont voor 15 verschillende studenten:

  • Aantal uren gestudeerd
  • Examenscore ontvangen
  • Gebruikte studietechniek (A, B of 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 technical score
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

De volgende code laat zien hoe je een regressielijn uitzet die de relatie vastlegt tussen het aantal gestudeerde uren en de examenscore voor elk van de drie studietechnieken:

 #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 )

Regressielijn per groep in ggplot2

Merk op dat we in geom_smooth() method = ‚lm” hebben gebruikt om een lineaire trend te specificeren.

We kunnen ook andere afvlakkingsmethoden gebruiken, zoals ‚glm‘, ‚löss‘ of ‚gam‘ om niet-lineaire trends in de gegevens vast te leggen. Je kunt de volledige documentatie voor geom_smooth() hier vinden.

Merk op dat we ook verschillende vormen kunnen gebruiken om examenresultaten voor elk van de drie groepen weer te geven:

 ggplot(df, aes (x = hours, y = score, color = technique, shape = technique)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

Meerdere regressielijnen in één plot in ggplot2

Je kunt hier meer ggplot2-tutorials vinden.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert