R-Paket zur Identifizierung von Beziehungen zwischen Variablen

13

Gibt es ein R-Paket, mit dem ich untersuchen kann, ob es Beziehungen zwischen Variablen gibt?

Wenn ich nach Mustern suche, betrachte ich normalerweise Korrelationen und dann eine Facettenzeichnung. Dann wende ich einige Transformationen manuell auf Variablen in den Daten an. Ich fragte mich, ob ich diesen Prozess durch ein R-Paket beschleunigen könnte.

Celenius
quelle
Wenn Sie einen eigenen Prozess haben, können Sie jederzeit Ihr eigenes Paket rollen. Oder einfach eine wiederverwendbare Funktion in einer Datei, die zu Beginn Ihres Skripts geladen wurde.
Brandon Bertelsen

Antworten:

9

AFAIK, nein. Genauer gesagt, ich kenne kein einziges R-Paket, das einen Teil der so genannten explorativen Datenanalyse ( Exploratory Data Analysis, EDA) über einen einzigen Funktionsaufruf für Sie erledigen würde - ich denke an die Aspekte der erneuten Expression und Offenbarung In Hoaglin, Mosteller und Tukey, Grundlegendes zur robusten und explorativen Datenanalyse . Insbesondere Wiley-Interscience, 1983.

Allerdings gibt es einige netten Alternativen in R, insbesondere interaktive Exploration von Daten in Bezug auf (siehe hier für interessante Diskussion: Wenn interaktive Visualisierung von Daten nützlich , um den Einsatz ist? ). Ich kann mir vorstellen

  • iplots oder dessen Nachfolger Acinonyx , für die interaktive Visualisierung ( unter Berücksichtigung von Bürsten, verbunden Plots und dergleichen) (Einige dieser Funktionen können in der gefunden werden latticist Paket, und schließlich rgl . für interaktive 3D - Visualisierung ist groß)
  • ggobi für interaktive und dynamische Anzeigen, einschließlich Datenreduktion (mehrdimensionale Skalierung) und Projektionsverfolgung

Dies ist nur für die interaktive Datenexploration gedacht, aber ich würde sagen, dass dies die Essenz von EDA ist. Auf jeden Fall können die oben genannten Techniken hilfreich sein, wenn Sie bivariate Beziehungen oder Beziehungen höherer Ordnung zwischen numerischen Variablen untersuchen. Für kategoriale Daten ist das vcd- Paket eine gute Option (Visualisierungs- und Übersichtstabellen). Dann würde ich sagen, dass die Pakete vegan und ade4 an erster Stelle stehen, um die Beziehungen zwischen Variablen gemischter Datentypen zu untersuchen.

Was ist schließlich mit Data Mining in R? (Versuchen Sie dieses Schlüsselwort auf Rseek )

chl
quelle
(+1) Schön, dass Sie wieder Fragen beantworten!
whuber
+1 Übrigens: kleiner Tippfehler - Acinonyx (ich und ich sind transponiert).
Iterator
@Iterator Danke, dass du den Tippfehler abgefangen hast. (Ich habe Ihrer Antwort bereits +1 gegeben, gut, dass Sie Wilkinsons Artikel zitiert haben).
chl
2
Es gibt jetzt loonauch waddella.github.io/loon Gutschrift geht an @hadleywickham, um darauf hinzuweisen.
Ari B. Friedman
11

Wenn Sie sich nur einen kurzen Überblick über die Korrelation der Variablen in Ihrem Dataset verschaffen möchten, sehen Sie sich die pairs () -Funktion oder besser die pairs.panels () -Funktion im psych-Paket an. Ich schrieb ein wenig über die Paare funktionieren hier .

Mit Hilfe der Funktion pairs () oder psych :: pairs.panels () ist es ziemlich einfach, Streudiagramm-Matrizen zu erstellen.

pairs.panels(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21,lm=TRUE)

Bildbeschreibung hier eingeben

Stephen Turner
quelle
7

Schauen Sie sich das scagnosticsPaket und das Original-Forschungspapier an . Dies ist sehr interessant für bivariate Beziehungen. Für multivariate Beziehungen ist das Projektionsstreben ein sehr guter erster Schritt.

Im Allgemeinen werden Ihre Methoden zur raschen Untersuchung von Beziehungen jedoch durch Fachkenntnisse in Bezug auf Domänen und Daten eingegrenzt und verbessert.

Iterator
quelle
7

Die Funktion chart.Correlation in PerformanceAnalytics bietet eine ähnliche Funktionalität wie die erwähnte Funktion plot.pairs @Stephen Turner, außer dass sie mit einer Lössfunktion und nicht mit einem linearen Modell geglättet wird und die Bedeutung für die Korrelationen.

library(PerformanceAnalytics)
chart.Correlation(iris[-5], bg=c("blue","red","yellow")[iris$Species], pch=21)

Diagramm

Zach
quelle
5

Wenn Sie nach möglichen Transformationen suchen, um mit Korrelation zu arbeiten, ist ein Tool, das noch nicht erwähnt wurde und möglicherweise nützlich ist ace, im acepackPaket (und wahrscheinlich auch in anderen Paketen) enthalten. Dies ist ein interaktiver Prozess, bei dem viele verschiedene Transformationen (unter Verwendung von Smoothers) versucht werden, die Transformationen zu finden, um die Korrelation zwischen einer Menge von x-Variablen und einer y-Variablen zu maximieren. Das Zeichnen der Transformationen kann dann sinnvolle Transformationen vorschlagen.

Greg Snow
quelle
2

Sie können die DCOR-Funktion im Energiepaket verwenden, um ein Maß für die nichtlineare Abhängigkeit zu berechnen, das als Entfernungskorrelation und Diagramm wie oben bezeichnet wird. Das Problem mit Pearsons Korrelation ist, dass nur lineare Beziehungen zwischen Variablen erkannt werden können. Stellen Sie sicher, dass Sie den Schreibparameter für den Index in der DCOR-Funktion ausgewählt haben.

Leichenwagen
quelle