Pacchetto R per identificare le relazioni tra variabili [chiuso]


13

Esiste un pacchetto R che posso usare per esplorare se esistono relazioni tra variabili?

In genere, quando cerco modelli, osservo le correlazioni e quindi una trama delle sfaccettature. Quindi applico manualmente alcune trasformazioni alle variabili nei dati. Mi chiedevo se avrei potuto accelerare questo processo attraverso un pacchetto R.


Se hai il tuo processo, puoi sempre lanciare il tuo pacchetto. O semplicemente una funzione riutilizzabile in alcuni file caricati all'inizio dello script.
Brandon Bertelsen l'

Risposte:


9

AFAIK, no. Per essere più precisi, non so di un unico pacchetto R che avrebbe fatto parte di quello che viene chiamato esplorativa Analisi dei dati (EDA) per l'utente attraverso una funzione chiamata singola - sto pensando di ri-espressione e rivelazione aspetti discusso in Hoaglin, Mosteller e Tukey, Comprensione dell'analisi dei dati robusta ed esplorativa . Wiley-Interscience, 1983, in particolare.

Tuttavia, esistono alcune alternative interessanti in R, in particolare per quanto riguarda l'esplorazione interattiva dei dati (cercare qui un'interessante discussione: quando è utile utilizzare la visualizzazione interattiva dei dati? ). Mi viene in mente

  • iplots , o il suo successore Acinonyx , per la visualizzazione interattiva (che consente la spazzolatura, i grafici collegati e simili) (Alcune di queste funzionalità si trovano nel pacchetto latticist ; infine, rgl è ottimo per la visualizzazione interattiva 3D).
  • ggobi per display interattivi e dinamici, compresa la riduzione dei dati (ridimensionamento multidimensionale) e Projection Pursuit

Questo è solo per l'esplorazione interattiva dei dati, ma direi che questa è l'essenza dell'EDA. In ogni caso, le tecniche di cui sopra potrebbero aiutare nell'esplorazione di relazioni bivariate o di ordine superiore tra variabili numeriche. Per i dati categorici, il pacchetto vcd è una buona opzione (tabelle di visualizzazione e riepilogo). Quindi, direi che i pacchetti vegan e ade4 vengono prima di tutto per esplorare le relazioni tra variabili di tipi di dati misti.

Infine, che dire del data mining in R? (Prova questa parola chiave su Rseek )


(+1) Piacere di vederti rispondere alle domande!
whuber

+1 A proposito: piccolo errore di battitura - Acinonyx (i & y sono trasposti).
Iteratore

@Iteratore Grazie per aver preso l'errore di battitura. (Ho già fatto +1 sulla tua risposta, bene che hai citato il documento di Wilkinson).
chl

2
Ora c'è loonanche waddella.github.io/loon Il credito va a @hadleywickham per averlo segnalato.
Ari B. Friedman,

11

Se vuoi solo dare una rapida occhiata a come sono correlate le variabili nel tuo set di dati, dai un'occhiata alla funzione Pair () o, meglio ancora, alla funzione Pair.panels () nel pacchetto Psych. Ho scritto un po 'sulla funzione delle coppie qui .

Usando la funzione Pair () o Psych :: Pair.panels () è abbastanza facile creare matrici scatterplot.

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

inserisci qui la descrizione dell'immagine


7

Dai un'occhiata al scagnosticspacchetto e al documento di ricerca originale . Questo è molto interessante per le relazioni bivariate. Per le relazioni multivariate, la ricerca della proiezione è un ottimo primo passo.

In generale, tuttavia, l'esperienza nei domini e nei dati restringerà e migliorerà i metodi per indagare rapidamente sulle relazioni.


7

La funzione chart.Correlation in PerformanceAnalytics fornisce funzionalità simili alla funzione plot.pairs citata da @ Turnte Turner, tranne per il fatto che si attenua con una funzione loess anziché un modello lineare e il significato per le correlazioni.

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

Grafico


5

Se stai cercando possibili trasformazioni per lavorare con la correlazione, allora uno strumento che non è stato ancora menzionato che potrebbe essere utile è quello aceche può essere trovato nel acepackpacchetto (e probabilmente anche in altri pacchetti). Questo fa un processo interattivo per provare molte diverse trasformazioni (usando smoothers) per trovare le trasformazioni per massimizzare la correlazione tra un insieme di variabili xe una variabile ay. Tracciare le trasformazioni può quindi suggerire trasformazioni significative.


2

È possibile utilizzare la funzione DCOR nel pacchetto "energia" per calcolare una misura di dipendenza non lineare chiamata correlazione della distanza e grafico come sopra. Il problema con la correlazione di Pearson è che può rilevare solo relazioni lineari tra variabili. Assicurati di scegliere il parametro write per index nella funzione DCOR che ha detto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.