Korrelationen mit R (Pearson & Spearman)

Hier erhalten Sie eine Anleitung zur Berechnung der Korrelationskoeffizienten nach Pearson und Spearman mit R. Dies sind grundlegende Methoden zur Quantifizierung von Zusammenhängen und kommen regelmäßig bei statistischen Beratungen zum Einsatz.

Als erster Schritt bei der Analyse von Zusammenhängen kann ein Streudiagramm hilfreich sein:

 

Graphische Zusammenhangsanalyse: Streudiagramm mit R

Nehmen wir hierzu an, es liegen zwei Variablen X und Y vor. Die Werte der Variablen X und Y lesen wir mit folgendem Code in R ein:

 

X <- c(2,4,3,6,7,8,1,4,9,3,10,7,4,9)

Y <- c(3,6,2,8,4,5,3,7,7,4,8,8,6,8)

 

Wir möchten nun untersuchen, ob zwischen X und Y ein Zusammenhang, d.h. eine Korrelation besteht. Hierzu erstellen wir zunächst ein Streudiagramm von X und Y mit dem folgenden R-Befehl:

 

plot(X,Y)

 

Sie erhalten hierdurch das folgende Streudiagramm:

R Streudiagramm erstellen (Scatterplot)

Das Streudiagramm erweckt den Eindruck, dass X und Y einen positiven Zusammenhang zeigen, d.h. größere Werte von X gehen mit größeren Werten von Y einher. Um den Zusammenhang zu quantifizieren möchten wir einen Korrelationskoeffizienten berechnen. 

 

Hierbei stehen mehrere Arten von Korrelationskoeffizient zur Verfügung. Die bekanntesten sind Pearson's r und Spearmans rho. Wir betrachten zunächst Pearsons' r. 

 

Pearson Korrelation in R

Pearson's r setzt ein metrisches Messniveau der beiden betrachteten Variablen voraus. Möchte man den Test auf eine signifikante Pearson-Korrelation durchführen, so müssen die beiden betrachteten Variablen zusätzlich normalverteilt sein.

Falls diese Voraussetzungen erfüllt sind, sollte man Pearsons r verwenden. Für den Fall dass eine der Voraussetzungen nicht erfüllt ist, empfiehlt es sich auf Spearman's rho zurückzugreifen.

 

Wir prüfen nun die Normalverteilung von X und Y jeweils mit einem Shapiro-Wilk-Test, und zwar durch Eingabe des folgenden Codes:

 

shapiro.test(X)

shapiro.test(Y)

 

Wir erhalten sodann den folgenden Output:

Man erkennt: Der p-Wert des Tests für X ergibt einen p-Wert von p=0.4456, beim Test für Y beträgt der p-Wert p=0.0936. Da beide Werte größer sind als das Signifikanzniveau von 0.05, kann man davon ausgehen dass beide Variablen normalverteilt sind. Damit ist die Voraussetzung für die Pearson-Korrelation erfüllt. Wir berechnen nun Pearson's r und geben dazu den folgenden R-Code ein:

 

cor.test(X,Y,method="pearson")

 

Dies resultiert in folgendem Output:

R Korrelation Pearson Signifikanz berechnen

Der Output enthält zahlreiche Kennzahlen. Wir beschränken uns hier nur auf die wichtigen Teile des Outputs. 

  • Ganz unten wird der Korrelationskoeffizient angezeigt. Dieser beträgt r=0.6956. Da dieser Wert größer als Null ist, besteht wie vermutet zwischen X und Y eine positive Korrelation. Der Korrelationskoeffizient kann maximal den Wert 1 annehmen, daher ist der hier berechnete Wert von 0.6956 als recht hoch anzusehen, d.h. die positive Korrelation zwischen X und Y ist ziemlich stark.
  • In der obersten Zeile ganz rechts ist der p-Wert des Korrelations-Tests angegeben und beträgt p=0.0057. Dieser Wert ist deutlich kleiner als 0.05, also liegt hier eine statistisch signifikante Korrelation vor.

Zum Vergleich möchten wir nun noch den Korrelationstest nach Spearman berechnen.

 

Spearman Korrelationskoeffizient

Beachten Sie: Da in diesem Beispiel die Voraussetzung für die Pearson-Korrelation erfüllt sind, wäre es eigentlich nicht nötig zusätzlich noch die Analyse nach Spearman durchzuführen, denn bei erfüllten Voraussetzungen ist die Methode nach Pearson vorzuziehen. Wir tun dies hier dennoch zum Zweck der Demonstration, und verwenden zur Berechnung den folgenden R-Code:

cor.test(X,Y,method="spearman")

 

Wir erhalten dann den folgenden Output:

R Rangkorrelationskoeffizient Spearman

Wir betrachten wieder zunächst den Korrelationskoeffizienten rho, der in der Mitte des Outputs dargestellt ist. Der Wert des Koeffizienten beträgt rho = 0.7368, es liegt also eine große positive Korrelation zwischen X und Y vor. 

Weiterhin ist wie bei jedem Test der p-Wert von Interesse. Dieser findet sich im oberen Teil des Outputs und beträgt p=0.0026. Die Korrelation zwischen X und Y ist also statistisch signifikant, da der p-Wert kleiner als 0.05 ist.

Ganz unten im Output finden wir schließlich noch eine Warnmeldung. Diese Warnmeldung dürfen Sie ignorieren.

Sie möchten weitere Artikel zum Thema R oder Statistik lesen? Hier geht es zurück zur Artikel-Übersicht.

Informationen über unser Angebot der R-Beratung erhalten Sie hier:

R Statistikprogramm Nachhilfe.