Website-Icon Björn Walther

Geraden in R in rplot() zeichnen


Mitunter ist es notwendig, in ein mit rplot() erstelltes Diagramm Geraden/Linien einzuzeichnen. Dieser Beitrag zeigt, wie horizontale und vertikale Geraden eingezeichnet werden, eine Gerade mit Achsenabschnitt und Steigung sowie eine Regressionsgerade eingezeichnet werden können. Letzteres ist nur sinnvoll im Kontext von Streudiagrammen. Die Achsen kann man auch formatieren, was ich in diesem Beitrag gezeigt habe.

1 Horizontale Gerade einzeichnen

Eine Horizontale wird mit der Funktion abline() und dem Argument “h” eingezogen. Hier ziehe ich eine Gerade ein, die bei y=7 parallel zur x-Achse verläuft.


plot(x,y)
abline(h=7)

 

Die Linie kann man auch gestrichelt darstellen. Dazu nutzt man das Argument lty:
Linientypen:

Dazu zeichne ich diesmal bei y=3 eine parallele Gerade zur x-Achse ein und stelle sie gestrichelt dar.


plot(x,y)
abline(h=3, lty="dashed")

 

2 Vertikale Gerade einzeichnen

Eine Vertikale wird ebenfalls mit der Funktion abline(), allerdings mit dem Argument “v” eingezogen. Hier ziehe ich eine Gerade ein, die bei x=2,5 parallel zur y-Achse verläuft.


plot(x,y)
abline(v=2.5)

 

3 Gerade mit Achsenabschnitt und Steigung einzeichnen

Erneut nutzen wir hierzu die Funktion abline(), allerdings brauchen wir nun die Argumente “a” und “b”. a ist der Achsenabschnitt und b die Steigung. Meine Gerade beginnt bei 9 und hat die (negative) Steigung von -1,5. Zusätzlich mache ich sie mit dem lwd-Argument etwas dicker und färbe sie mit dem col-Argument ein. Weitere Farben gibt es hier in der Übersicht.


plot(x,y)
abline(a=9, b=-1.5, lwd=3, col = "steelblue")

 

4 Regressionsgerade einzeichnen

Dies funktioniert wie bereits erwähnt nur für Streudiagramme. Hierfür benötigt man lediglich die Funktion lm(), in die man Kriterium (abhängige Variable) und Prädiktor (unabhängige Variable) einsetzt:


plot(x,y)
abline(lm(y~x)

 

5 Kombination mehrerer Geraden

Abschließend noch ein kurzer Überblick, wie man zwei oder mehr Gerade einzeichnet, beispielsweise, um einen Schnittpunkt zu erzeugen:


plot(x,y)
abline(h=3, lty="dashed")
abline(v=2, lty="dashed")

Wahlweise auch in Verbindung mit einer etwas dickeren Regressionsgerade:
plot(x,y)
abline(lm(y~x), lwd=2)
abline(h=3, lty=”dashed”)
abline(v=2, lty=”dashed”)

 

6 Videotutorial

https://www.youtube.com/watch?v=_4klZbdrDHQ /

 

Die mobile Version verlassen