Hoe u een gemiddelde lijn kunt toevoegen aan een plot in ggplot2
U kunt de volgende basissyntaxis gebruiken om een lijn toe te voegen die de gemiddelde waarde in een plot in ggplot2 vertegenwoordigt:
ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept = mean(df$y, na. rm = TRUE ))
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Voeg een gemiddelde lijn toe aan de plot in ggplot2
Stel dat we het volgende dataframe in R hebben:
#create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
y=c(2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15))
#view head of data frame
head(df)
xy
1 1 2
2 2 5
3 3 6
4 4 5
5 5 7
6 6 8
We kunnen de volgende code gebruiken om een spreidingsdiagram van x versus y te maken en een horizontale lijn toe te voegen die de gemiddelde y-waarde vertegenwoordigt:
library (ggplot2) #create scatter plot with average line to represent average y-value ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept = mean(df$y, na. rm = TRUE ))
We kunnen zien dat er een gemiddelde lijn aan de grafiek is toegevoegd net boven de y-waarde van 8.
Als we de gemiddelde y-waarde berekenen, zullen we ontdekken dat deze 8,333 is:
#calculate average y-value mean(df$y, na. rm = TRUE ) [1] 8.333333
Merk op dat we ook de argumenten color , lty en lwd kunnen gebruiken om respectievelijk de kleur, het lijntype en de lijnbreedte van de gemiddelde lijn op te geven:
library (ggplot2) #create scatter plot with custom average line ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept = mean(df$y, na. rm = TRUE ), color=' blue ', lty=' dashed ', lwd= 2 )
De middelste lijn is nu blauw, gestippeld en heeft een lijndikte van 2.
U kunt de volledige online documentatie voor de functie geom_hline() hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:
Hoe een trendlijn te tekenen in ggplot2
Hoe de lijndikte in ggplot2 aan te passen
Hoe aslimieten in ggplot2 in te stellen