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