Ich habe einen Datenrahmen mit vielen Beobachtungen und vielen Variablen. Einige von ihnen sind kategorisch (ungeordnet) und die anderen sind numerisch.
Ich suche nach Assoziationen zwischen diesen Variablen. Ich konnte die Korrelation für numerische Variablen berechnen (Spearman-Korrelation), aber:
- Ich weiß nicht, wie ich die Korrelation zwischen ungeordneten kategorialen Variablen messen soll.
- Ich weiß nicht, wie ich die Korrelation zwischen ungeordneten kategorialen Variablen und numerischen Variablen messen soll.
Weiß jemand, wie das gemacht werden könnte? Wenn ja, gibt es R-Funktionen, die diese Methoden implementieren?
Antworten:
Es hängt davon ab, welchen Sinn für eine Korrelation Sie haben möchten. Wenn Sie die Produktmomentkorrelation des Prototyps Pearson ausführen, erhalten Sie ein Maß für die Stärke der Assoziation und einen Test für die Bedeutung dieser Assoziation. Typischerweise unterscheiden sich jedoch der Signifikanztest und das Maß der Effektgröße .
Signifikanztests:
Effektgröße (Assoziationsstärke):
quelle
Hmisc::rcorr
tut dies wunderbar und wir können es wie folgt überprüfen (für einen Datenrahmen mit gemischten Variablen):as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P)
as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
Ich habe das folgende Cheatsheet gesehen, das vorher verlinkt wurde:
https://stats.idre.ucla.edu/other/mult-pkg/whatstat/
Es kann für Sie nützlich sein. Es gibt sogar Links zu bestimmten R-Bibliotheken.
quelle
Wenn Sie eine Korrelationsmatrix mit kategorialen Variablen wünschen, können Sie die folgende Wrapper-Funktion verwenden (für die das 'vcd'-Paket erforderlich ist):
Wo:
vars
ist ein Zeichenfolgenvektor von kategorialen Variablen, die Sie korrelieren möchtendat
ist ein data.frame, der die Variablen enthältDas Ergebnis ist eine Matrix von Cramer's V's.
quelle
Eine solche Analyse kann als Verallgemeinerung der Mehrfachkorrespondenzanalyse angesehen werden und ist unter vielen Namen bekannt, wie beispielsweise kanonische Korrelationsanalyse, Homogenitätsanalyse und viele andere. Eine Implementierung in R befindet sich im
homals
Paket (auf CRAN). googeln für einige dieser Namen wird eine Fülle von Informationen geben, es gibt ein vollständiges Buch: Albert Gifi, "Nonlinear Multivariate Analysis". Viel Glück!quelle
Ich hatte ein ähnliches Problem und habe den Chi-Quadrat-Test wie vorgeschlagen ausprobiert, aber ich war sehr verwirrt bei der Beurteilung der P-Werte gegen die NULL-Hypothese.
Ich werde erklären, wie ich kategoriale Variablen interpretiert habe. Ich bin mir nicht sicher, wie relevant es in Ihrem Fall ist. Ich hatte die Antwortvariable Y und zwei Prädiktorvariablen X1 und X2, wobei X2 eine kategoriale Variable mit zwei Ebenen ist, nämlich 1 und 2. Ich habe versucht, ein lineares Modell anzupassen
Aber ich wollte verstehen, wie unterschiedlich das Niveau von X2 zur obigen Gleichung passt. Ich bin auf eine R-Funktion gestoßen durch ()
Dieser Code versucht, für jede Ebene von X2 in das lineare Modell zu passen. Dies gab mir alle P-Werte und R-Quadrate, Reststandardfehler, die ich verstehe und interpretieren kann.
Ich bin mir wieder nicht sicher, ob Sie das wollen. Ich habe verschiedene Werte von X2 verglichen, um Y vorherzusagen.
quelle
Um die Verbindungsstärke zwischen zwei kategorialen Variablen zu messen, würde ich eher die Verwendung einer Kreuztabelle mit der Statistik chisquare vorschlagen
Um die Verbindungsstärke zwischen einer numerischen und einer kategorialen Variablen zu messen, können Sie einen Mittelwertvergleich verwenden, um festzustellen, ob sich diese von einer Kategorie zu einer anderen signifikant ändert
quelle