Come utilizzare cor() per calcolare i coefficienti di correlazione in r


È possibile utilizzare la funzione cor() in R per calcolare i coefficienti di correlazione tra le variabili.

Ecco i modi più comuni per utilizzare questa funzionalità:

Metodo 1: calcolare il coefficiente di correlazione di Pearson tra due variabili

 cor(df$x, df$y)

Utilizzare il coefficiente di correlazione di Pearson quando si calcola la correlazione tra due variabili continue. (ad esempio altezza e peso)

Metodo 2: calcolare il coefficiente di correlazione di Pearson tra tutte le variabili numeriche nel frame di dati

 cor(df)

Questo metodo restituirà una matrice di correlazione contenente il coefficiente di correlazione di Pearson tra ciascuna combinazione a coppie di variabili numeriche in un frame di dati.

Metodo 3: calcolare il coefficiente di correlazione di Spearman tra due variabili

 cor(df$x, df$y, method=' spearman ')

Utilizzare il coefficiente di correlazione di Spearman quando si calcola la correlazione tra due variabili classificate. (ad esempio, la classifica del punteggio dell’esame di matematica di uno studente rispetto alla classifica del punteggio dell’esame di scienze in una classe)

Metodo 4: calcolare il coefficiente di correlazione Kendall tra due variabili

 cor(df$x, df$y, method=' kendall ')

Utilizzare il coefficiente di correlazione di Kendall quando si desidera utilizzare la correlazione di Spearman ma la dimensione del campione è piccola e sono presenti molti legami.

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R che mostra il numero di ore trascorse a studiare, il numero di esami pratici sostenuti e il voto dell’esame finale per otto studenti diversi:

 #create data frame
df <- data. frame (hours=c(1, 1, 3, 2, 4, 3, 5, 6),
                 prac_exams=c(4, 3, 3, 2, 3, 2, 1, 4),
                 score=c(69, 74, 74, 70, 89, 85, 99, 90))

#view data frame
df

  hours prac_exams score
1 1 4 69
2 1 3 74
3 3 3 74
4 2 2 70
5 4 3 89
6 3 2 85
7 5 1 99
8 6 4 90

Esempio 1: calcolare il coefficiente di correlazione di Pearson tra due variabili

Il codice seguente mostra come utilizzare la funzione cor() per calcolare il coefficiente di correlazione di Pearson tra le ore e le variabili del punteggio :

 #calculate Pearson correlation coefficient between hours and score
cor(df$hours, df$score)

[1] 0.8600528

Il coefficiente di correlazione di Pearson tra ore e punteggio è risultato pari a 0,86.

Tieni presente che se sono presenti valori NA nel frame di dati, puoi utilizzare l’argomento use=’complete.obs’ per utilizzare solo le righe in cui non sono presenti valori NA:

 #calculate Pearson correlation coefficient and ignore any rows with NA
cor(df$hours, df$score, use=' complete.obs ')

Esempio 2: calcolare il coefficiente di correlazione di Pearson tra tutte le variabili numeriche

Il codice seguente mostra come utilizzare la funzione cor() per creare una matrice di correlazione contenente il coefficiente di correlazione di Pearson tra tutte le variabili numeriche nel frame di dati:

 #calculate Pearson correlation coefficient between all numeric variables
cor(df)

                hours prac_exams score
hours 1.0000000 -0.1336063 0.8600528
prac_exams -0.1336063 1.0000000 -0.3951028
score 0.8600528 -0.3951028 1.0000000

Ecco come interpretare il risultato:

  • Il coefficiente di correlazione di Pearson tra ore e prac_exams è -0,13 .
  • Il coefficiente di correlazione di Pearson tra ore e punteggio è 0,86 .
  • Il coefficiente di correlazione di Pearson tra prac_exams e il punteggio è -0,39 .

Nota : il coefficiente di correlazione di Pearson tra ogni singola variabile e se stessa è sempre 1, motivo per cui ogni valore lungo la diagonale della matrice di correlazione è 1.

Esempio 3: calcolare il coefficiente di correlazione di Spearman tra due variabili

Il codice seguente mostra come utilizzare la funzione cor() per calcolare il coefficiente di correlazione di Spearman tra le ore e le variabili prac_exams :

 #calculate Spearman correlation coefficient between hours and prac_exams
cor(df$hours, df$prac_exams, method=' spearman ')

[1] -0.1250391

Il coefficiente di correlazione di Spearman tra ore e prac_exams risulta essere -0,125.

Esempio 4: Calcola il coefficiente di correlazione di Kendall tra due variabili

Il codice seguente mostra come utilizzare la funzione cor() per calcolare il coefficiente di correlazione Kendall tra le ore e le variabili prac_exams :

 #calculate Kendall's correlation coefficient between hours and prac_exams
cor(df$hours, df$prac_exams, method=' kendall ')

[1] -0.1226791

Il coefficiente di correlazione di Kendall tra ore e prac_exams risulta essere -0,123.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come calcolare la correlazione scorrevole in R
Come calcolare l’autocorrelazione in R
Come calcolare la correlazione parziale in R

Aggiungi un commento

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