Come calcolare la correlazione parziale in r


Nelle statistiche, spesso utilizziamo il coefficiente di correlazione di Pearson per misurare la relazione lineare tra due variabili.

Tuttavia, a volte vogliamo comprendere la relazione tra due variabili controllandone una terza .

Ad esempio, supponiamo di voler misurare l’associazione tra il numero di ore di studio di uno studente e il voto dell’esame finale, controllando il voto attuale dello studente nella classe.

In questo caso, potremmo utilizzare la correlazione parziale per misurare il rapporto tra le ore studiate e il voto dell’esame finale.

Questo tutorial spiega come calcolare una correlazione parziale in R.

Esempio: correlazione parziale in R

Supponiamo di avere il seguente frame di dati che mostra il voto corrente, il totale delle ore studiate e il voto dell’esame finale per 10 studenti:

 #create data frame
df <- data. frame (currentGrade = c(82, 88, 75, 74, 93, 97, 83, 90, 90, 80),
                 hours = c(4, 3, 6, 5, 4, 5, 8, 7, 4, 6),
                 examScore = c(88, 85, 76, 70, 92, 94, 89, 85, 90, 93))

#view data frame
df

   currentGrade hours examScore
1 82 4 88
2 88 3 85
3 75 6 76
4 74 5 70
5 93 4 92
6 97 5 94
7 83 8 89
8 90 7 85
9 90 4 90
10 80 6 93

Per calcolare la correlazione parziale tra ciascuna combinazione di variabili a coppie nel dataframe, possiamo utilizzare la funzione pcor() dalla libreria ppcor :

 library (ppcor)

#calculate partial correlations
pcor(df)

$estimate
             currentGrade hours examScore
currentGrade 1.0000000 -0.3112341 0.7355673
hours -0.3112341 1.0000000 0.1906258
examScore 0.7355673 0.1906258 1.0000000

$p.value
             currentGrade hours examScore
currentGrade 0.00000000 0.4149353 0.02389896
hours 0.41493532 0.0000000 0.62322848
examScore 0.02389896 0.6232285 0.00000000

$statistic
             currentGrade hours examScore
currentGrade 0.0000000 -0.8664833 2.8727185
hours -0.8664833 0.0000000 0.5137696
examScore 2.8727185 0.5137696 0.0000000

$n
[1] 10

$gp
[1] 1

$method
[1] "pearson"

Ecco come interpretare il risultato:

Correlazione parziale tra ore studiate e voto dell’esame finale:

La correlazione parziale tra ore studiate e voto dell’esame finale è 0,191 , che rappresenta una piccola correlazione positiva. All’aumentare del numero di ore di studio, anche i punteggi degli esami tendono ad aumentare, presupponendo che il voto attuale rimanga costante.

Il valore p per questa correlazione parziale è 0,623 , che non è statisticamente significativo con α = 0,05.

Correlazione parziale tra voto attuale e voto dell’esame finale:

La correlazione parziale tra il voto corrente e il voto dell’esame finale è 0,736 , che rappresenta una forte correlazione positiva. All’aumentare del voto attuale, anche i punteggi degli esami tendono ad aumentare, presupponendo che il numero di ore studiate rimanga costante.

Il valore p per questa correlazione parziale è 0,024 , che è statisticamente significativo con α = 0,05.

Correlazione parziale tra voto attuale e ore studiate:

La correlazione parziale tra voto attuale, ore studiate e voto dell’esame finale è -0,311 , che rappresenta una leggera correlazione negativa. All’aumentare del voto corrente, il voto dell’esame finale tende a diminuire, presupponendo che il voto dell’esame finale rimanga costante.

Il valore p per questa correlazione parziale è 0,415 , che non è statisticamente significativo con α = 0,05.

Il risultato ci dice anche che il metodo utilizzato per calcolare la correlazione parziale era “Pearson”.

Nella funzione pcor() potremmo anche specificare “kendall” o “pearson” come metodi alternativi per calcolare le correlazioni.

Risorse addizionali

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

Come calcolare la correlazione del rango di Spearman in R
Come calcolare la correlazione incrociata in R
Come calcolare la correlazione scorrevole in R
Come calcolare la correlazione punto-biseriale in R

Aggiungi un commento

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