Oltre
al calcolo dei coefficienti di correlazione parametrici e non parametrici, in R sono disponibili i correlogrammi, che
forniscono una sintesi grafica delle informazioni sulla correlazione
tra due variabili.
I correlogrammi possono essere generati mediante la funzione corrgram() contenuta in uno dei tanti pacchetti aggiuntivi disponibili in R, denominato corrgram, che deve essere preventivamente scaricato dal CRAN. I dati sono contenuti nella tabella ais del pacchetto DAAG - accertatevi di avere installato il pacchetto o in alternativa procedete come indicato in [1]. In questo script vediamo come con la funzione corrgram() sia possibile realizzare tre diversi correlogrammi, che forniscono differenti informazioni sulla correlazione tra le diverse variabili contenute nel set di dati ais.
Un diverso correlogramma viene realizzato con la seconda parte dello script ponendo nella funzione corrgram() gli argomenti lower.panel=panel.ellipse e upper.panel=panel.pts. Copiate e incollate nella Console di R la seconda parte dello script e premete ↵ Invio:
Da notare che in R di default le finestre grafiche si sovrappongono perfettamente l'una all'altra, iconizzatele o spostatele per rivedere quelle aperte in precedenza.
I correlogrammi possono essere generati mediante la funzione corrgram() contenuta in uno dei tanti pacchetti aggiuntivi disponibili in R, denominato corrgram, che deve essere preventivamente scaricato dal CRAN. I dati sono contenuti nella tabella ais del pacchetto DAAG - accertatevi di avere installato il pacchetto o in alternativa procedete come indicato in [1]. In questo script vediamo come con la funzione corrgram() sia possibile realizzare tre diversi correlogrammi, che forniscono differenti informazioni sulla correlazione tra le diverse variabili contenute nel set di dati ais.
Copiate
e incollate nella Console
di R la prima parte dello script e
premete ↵ Invio:
#
CORRELOGRAMMI (1/3)
#
library(DAAG)
# carica il pacchetto DAAG incluso il set di dati ais
str(ais)
# mostra la struttura di ais
#
#
library(corrgram)
# carica il pacchetto che genera i correlogrammi
#
windows()
# apre una nuova finestra
corrgram(ais,
cor.method = "pearson", order=FALSE,
lower.panel=panel.shade, upper.panel=panel.pie, text.panel=panel.txt,
main="Correlogramma semplice") # correlogramma
semplice
#
I dati sono caricati con library(DAAG), viene mostrata la struttura del set di dati con str(ais),
quindi viene caricata il pacchetto necessario per rappresentare i
correlogrammi con library(corrgram)
[2] e viene aperta una nuova finestra grafica con windows().
Nella
funzione corrgram() compaiono
come argomenti [2]:
→ il
set di dati da analizzare (ais);
→ l'ordine
nel quale presentare i risultati (order=FALSE),
che lascia le variabili nello stesso ordine nel quale sono presenti
nel set di dati originali. In alternativa l'ordine in cui presentare
i risultati può essere espresso come order="PCA",
order="OLO",
order="GW", order="HC"
[3];
→ il
metodo di correlazione (cor.method =
"pearson"), corrispondente a uno dei coefficienti di correlazione parametrici e non parametrici, che qui è il classico
coefficiente di correlazione r di Pearson (test parametrico), ma che può essere in alternativa, impiegando l'argomento cor.method
= "spearman" o l'argomento cor.method
= "kendall", rispettivamente il coefficiente
di correlazione per ranghi ρ (rho) di Spearman
o il coefficiente di
correlazione τ (tau) di Kendall, entrambi test non
parametrici;
→ gli
argomenti lower.panel=panel.shade
e upper.panel=panel.pie che
consentono di rappresentare i
valori r
di Pearson sotto forma di quantità di colore nelle torte nella metà
superiore destra del correlogramma, nelle quali una maggior quantità
di colore corrisponde a un più elevato valore di r,
e di intensità del colore dei quadrati nella metà inferiore
sinistra. In blu sono riportate le correlazioni positive in colore
rosato quelle negative.
Un diverso correlogramma viene realizzato con la seconda parte dello script ponendo nella funzione corrgram() gli argomenti lower.panel=panel.ellipse e upper.panel=panel.pts. Copiate e incollate nella Console di R la seconda parte dello script e premete ↵ Invio:
windows()
# apre una nuova finestra (2/3)
corrgram(ais,
cor.method = "pearson", order=FALSE,
lower.panel=panel.ellipse, upper.panel=panel.pts,
text.panel=panel.txt, diag.panel=panel.minmax, main="Correlogramma
con tendenze") #
#
correlogramma con evidenza delle tendenze
#
In
alto a destra è riportato per ciascuna delle possibili coppie di
variabili il grafico xy con la distribuzione dei valori osservati. In
basso a sinistra sono mostrati gli elissoidi che indicano la tendenza
delle variabili a variare congiuntamente con in rosso la stima della
curva che ne approssima la tendenza, elissoidi sempre più stretti e
più allungati e curva sempre meno curva man mano che la relazione
tra le variabili si avvicina a una retta. Nella diagonale compaiono
infine i nomi delle variabili con il valore minimo e il valore
massimo osservati.
Infine
il terzo correlogramma è realizzato con questa ultima parte dello
script impiegando nella funzione corrgram()
l'argomento lower.panel=panel.pts,
l'argomento upper.panel=panel.conf
e l'argomento diag.panel=panel.density.
Copiate e incollate nella Console di R la terza parte dello script e premete ↵ Invio:
Copiate e incollate nella Console di R la terza parte dello script e premete ↵ Invio:
windows()
# apre una nuova finestra (3/3)
corrgram(ais,
cor.method = "pearson", order=FALSE, lower.panel=panel.pts,
upper.panel=panel.conf, diag.panel=panel.density, main="Correlogramma
con i coefficienti di correlazione") # correlogramma
con i coefficienti di correlazione r di Pearson e i loro limiti di
confidenza
#
In
alto a destra per ciascuna delle possibili coppie di variabili è
riportato il coefficiente di correlazione r di Pearson con i
relativi limiti di confidenza al 95%. In basso sinistra è riportato
per ciascuna delle possibili coppie di variabili il grafico xy con la
distribuzione dei valori osservati. Nella diagonale sono riportati
infine i kernel density plot di ciascuna variabile. La funzione
corrgram() consente ovviamente anche in questo caso di calcolare, in
alternativa al coefficiente di correlazione r di Pearson, il
coefficiente di correlazione per ranghi ρ (rho) di Spearman o il coefficiente di correlazione τ (tau) di Kendall,
impiegando rispettivamente l'argomento cor.method
= "spearman"
o l'argomento cor.method
= "kendall".
Da notare che in R di default le finestre grafiche si sovrappongono perfettamente l'una all'altra, iconizzatele o spostatele per rivedere quelle aperte in precedenza.
Potete riutilizzare facilmente lo script sostituendo all'oggetto ais l'oggetto contenente i vostri dati, opportunamente strutturati. Per una guida rapida all'importazione dei dati potete consultare i link:
→ importare i dati di un file .csv
→ importare i dati di un file .xls o .xlsx
→ gestione dei dati mancanti
→ importare i dati di un file .csv
→ importare i dati di un file .xls o .xlsx
→ gestione dei dati mancanti
----------
[1] Vedere il post Il set di dati ais nel quale trovate anche come caricare i dati della tabella senza impiegare il pacchetto DAAG.
[2]
Per il pacchetto corrgram
e la funzione corrgram()
vedere il manuale di riferimento del pacchetto Package
‘corrgram’.
https://cran.r-project.org/web/packages/corrgram/corrgram.pdf
[2]
Getting
Things in Order: An Introduction to the R Package seriation.
https://cran.r-project.org/web/packages/seriation/vignettes/seriation.pdf
Nessun commento:
Posta un commento