Come calcolare la correlazione tra più variabili in r


Un modo per quantificare la relazione tra due variabili è utilizzare il coefficiente di correlazione di Pearson , che è una misura dell’associazione lineare tra due variabili . Assume sempre un valore compreso tra -1 e 1 dove:

  • -1 indica una correlazione lineare perfettamente negativa tra due variabili
  • 0 indica alcuna correlazione lineare tra due variabili
  • 1 indica una correlazione lineare perfettamente positiva tra due variabili

Questo tutorial spiega come calcolare la correlazione tra più variabili in R, utilizzando come esempio il seguente frame di dati:

 #create data frame
df <- data.frame(a <- c(2, 3, 3, 5, 6, 9, 14, 15, 19, 21, 22, 23),
                 b <- c(23, 24, 24, 23, 17, 28, 38, 34, 35, 39, 41, 43),
                 c <- c(13, 14, 14, 14, 15, 17, 18, 19, 22, 20, 24, 26),
                 d <- c(6, 6, 7, 8, 8, 8, 7, 6, 5, 3, 3, 2))

Esempio 1: correlazione tra due variabili

Il codice seguente mostra come calcolare la correlazione tra due variabili nel frame di dati:

 cor(df$a, df$b)

[1] 0.9279869

Esempio 2: correlazione tra più variabili

Il codice seguente mostra come calcolare la correlazione tra tre variabili nel frame di dati:

 cor(df[, c(' a ', ' b ', ' c ')])

          ABC
a 1.0000000 0.9279869 0.9604329
b 0.9279869 1.0000000 0.8942139
c 0.9604329 0.8942139 1.0000000

Il modo di interpretare il risultato è il seguente:

  • La correlazione tra aeb è 0,9279869.
  • La correlazione tra a e c è 0,9604329.
  • La correlazione tra b e c è 0,8942139.

Esempio 3: correlazione tra tutte le variabili

Il codice seguente mostra come calcolare la correlazione tra tutte le variabili in un frame di dati:

 cor(df)

           abcd
a 1.0000000 0.9279869 0.9604329 -0.7915488
b 0.9279869 1.0000000 0.8942139 -0.7917973
c 0.9604329 0.8942139 1.0000000 -0.8063549
d -0.7915488 -0.7917973 -0.8063549 1.0000000

Esempio 4: correlazione tra sole variabili numeriche

Il codice seguente mostra come calcolare la correlazione solo tra variabili numeriche in un frame di dati:

 cor(df[, unlist ( lapply (df, is. numeric ))])

           abcd
a 1.0000000 0.9279869 0.9604329 -0.7915488
b 0.9279869 1.0000000 0.8942139 -0.7917973
c 0.9604329 0.8942139 1.0000000 -0.8063549
d -0.7915488 -0.7917973 -0.8063549 1.0000000

Esempio 5: Visualizzazione delle correlazioni

Il codice seguente mostra come creare un grafico a coppie, un tipo di grafico che consente di visualizzare la relazione tra ciascuna combinazione di variabili a coppie:

 #load psych package
library(psych)

#create pairs plot
peers. panels (df)

Risorse addizionali

Come calcolare la correlazione parziale in R
Come calcolare la correlazione punto-biseriale in R
Come calcolare la correlazione scorrevole in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *