Korrelationen in R
Du kannst die Funktion cor( ) verwenden, um Korrelationen zu erzeugen, und die Funktion cov( ), um Kovarianzen zu erzeugen.
Ein vereinfachtes Format ist cor(x, use=, method= ), wobei
Option | Beschreibung |
x | Matrix oder Datenrahmen |
verwenden | Legt den Umgang mit fehlenden Daten fest. Die Optionen sind all.obs (setzt voraus, dass keine Daten fehlen - fehlende Daten führen zu einem Fehler), complete.obs (listenweise Löschung) und pairwise.complete.obs (paarweise Löschung) |
Methode | Gibt die Art der Korrelation an. Die Optionen sind Pearson, Spearman oder Kendall. |
# Correlations/covariances among numeric variables in
# data frame mtcars. Use listwise deletion of missing data.
cor(mtcars, use="complete.obs", method="kendall")
cov(mtcars, use="complete.obs")
Leider erzeugen weder cor( ) noch cov( ) Signifikanztests, obwohl du die Funktion cor.test( ) verwenden kannst, um einen einzelnen Korrelationskoeffizienten zu testen.
Die Funktion rcorr( ) im Paket Hmisc erzeugt Korrelationen/Kovarianzen und Signifikanzniveaus für Pearson und Spearman Korrelationen. Die Eingabe muss jedoch eine Matrix sein und es wird eine paarweise Löschung verwendet.
# Correlations with significance levels
library(Hmisc)
rcorr(x, type="pearson") # type can be pearson or spearman
#mtcars is a data frame
rcorr(as.matrix(mtcars))
Du kannst das Format cor(X, Y) oder rcorr(X, Y) verwenden, um Korrelationen zwischen den Spalten von X und den Spalten von Y zu erzeugen. Dies ähnelt den Befehlen VAR und WITH in SAS PROC CORR.
# Correlation matrix from mtcars
# with mpg, cyl, and disp as rows
# and hp, drat, and wt as columns
x <- mtcars[1:3]
y <- mtcars[4:6]
cor(x, y)
Andere Arten von Korrelationen
# polychoric correlation
# x is a contingency table of counts
library(polycor)
polychor(x)
# heterogeneous correlations in one matrix
# pearson (numeric-numeric),
# polyserial (numeric-ordinal),
# and polychoric (ordinal-ordinal)
# x is a data frame with ordered factors
# and numeric variables
library(polycor)
hetcor(x)
# partial correlations
library(ggm)
data(mydata)
pcor(c("a", "b", "x", "y", "z"), var(mydata))
# partial corr between a and b controlling for x, y, z
Korrelationen visualisieren
Verwende corrgram( )um Korrelationsdiagramme zu erstellen.
Verwende pairs() oder splom(), um Streudiagramm-Matrizen zu erstellen.
Zum Üben
Probiere diesen interaktiven Kurs über überwachtes Lernen in R aus: Regression