Website-Icon Björn Walther

Streudiagramm und Regressionsgerade in R

Anwendungsfall

Ein Streudiagramm mitsamt linearer Regressionsgerade ist im Falle einer einfachen linearen Regression angebracht. Einfach heißt, es existiert nur eine unabhängige Variable (x), um die abhängige Variable (y) zu erklären. Den Fall zweier unabhängigen Variablen und einer abhängigen Variable kann man im dreidimensionalen Raum abbilden – das ist allerdings nicht Gegenstand dieses Beitrages. Ich zeige zwei hier die Möglichkeit der Erstellung mit Bordmitteln von R.

 

In meinem Beispiel unterstelle ich einen Zusammenhang zwischen dem Intelligenzquotient und dem Abiturschnitt. Die Hypothese lautet: Je höher die Intelligenz, desto niedriger (also besser) der Abiturschnitt. Demzufolge ist die unabhängige Variable der Intelligenzquotient (IQ) und die abhängige Variable der Abiturschnitt (Abischni).

 

Diagrammerstellung

Ein Streudiagramm ist recht einfach zu erstellen und an die eigenen Bedürfnisse anzupassen, wie ich in diesem Artikel schon gezeigt habe. Zunächst ist der plot()-Befehl wichtig. In ihn werden die beiden Variablen (x und y) hineingegeben. Die x-Variable (hier: IQ) wird zuerst aufgenommen, dann die y-Variable (hier: Abiturschnitt). Zum Kontext: die Variablen sind nicht „attached“, weswegen ich die Datenquelle data_xls samt $ voranstelle:

plot(data_xls$IQ, data_xls$Abischni)
Hier ist nun erkennbar, dass die Punkte in etwa in die vermutete Richtung verlaufen. Eine steigender IQ geht mit einem sinkenden Abiturschnitt einher. Nun fehlt allerdings noch die Regressionsgerade. Diese wird mit der abline()-Funktion hinzugefügt. Dazu muss man die Regressionsgleichung formulieren und in diese Funktion einsetzen. Das sieht dann wie folgt aus:

abline(lm(data_xls$Abischni~data_xls$IQ))

 

Dies führt zu folgender Darstellung: Weitere Anpassungen, z.B. Vergabe eines Titels, Anpassung der Achsenbeschriftung usw. sind denkbar und zeige ich in diesem Artikel ausführlicher.

 

Einfügen des Bestimmtheitsmaßes (R²)

Hierzu ist es notwendig, dies auch berechnen zu lassen. Dazu bedarf es der Rechnung der Regression und Verweis auf das dadurch erhaltene R². Das Modell modelliere ich mit der lm()-Funktion. Für den Kontext: Mein Modell heißt schlicht „model“ und meine Datenquelle ist der Dataframe „data_xls“.

model 
Mit der obigen Berechnung wird die Regression berechnet und die Ergebnisse im Vektor "model" gespeichert. Mit der summary()-Funktion kann man sie sich ausgeben lassen. Das Ziel ist jedoch das Streudiagramm mitsamt Regressionsgerade, weswegen ich hierauf verzichte und auf den ausführlichen Beitrag dazu verweise.

 

Danach gebe ich die entsprechende Information in die legend()-Funktion. Dabei verwende ich folgende zusätzliche Argumente:
Die mobile Version verlassen