Come calcolare la correlazione policorica in r
La correlazione policorica viene utilizzata per calcolare la correlazione tra variabili ordinali.
Ricordiamo che le variabili ordinali sono variabili i cui possibili valori sono categoriali e hanno un ordine naturale.
Ecco alcuni esempi di variabili misurate su scala ordinale:
- Soddisfazione : Molto insoddisfatto, insoddisfatto, neutrale, soddisfatto, molto soddisfatto
- Livello di reddito : reddito basso, reddito medio, reddito alto
- Stato della posizione lavorativa : Analista iniziale, Analista I, Analista II, Analista senior
- Livello di dolore : importo basso, importo medio, importo elevato
Il valore della correlazione policorica varia da -1 a 1 dove:
- -1 indica una perfetta correlazione negativa
- 0 indica nessuna correlazione
- 1 indica una perfetta correlazione positiva
Possiamo usare la funzione polychor(x, y) del pacchetto polycor per calcolare la correlazione policorica tra due variabili ordinali in R.
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: calcolare la correlazione policorica per le valutazioni dei film
Supponiamo che tu voglia sapere se due diverse agenzie di valutazione dei film hanno un’elevata correlazione tra le loro valutazioni dei film.
Chiediamo a ciascuna agenzia di valutare 20 film diversi su una scala da 1 a 3 dove:
- 1 indica “cattivo”
- 2 indica “povero”
- 3 indica “buono”
Possiamo utilizzare il seguente codice in R per calcolare la correlazione policorica tra i rating delle due agenzie:
library (polycor) #define movie ratings for each agency agency1 <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2) agency2 <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3) #calculate polychoric correlation between ratings polychor(agency1, agency2) [1] 0.7828328
La correlazione policorica risulta essere 0,78 .
Questo valore è piuttosto elevato, il che indica che esiste una forte associazione positiva tra i rating di ciascuna agenzia.
Esempio 2: calcolare la correlazione policorica per le recensioni dei ristoranti
Supponiamo che tu voglia sapere se due diversi ristoranti di quartiere hanno una correlazione tra le valutazioni dei clienti sui rispettivi ristoranti.
Intervistiamo casualmente 20 clienti che hanno mangiato nei due ristoranti e chiediamo loro di valutare la loro soddisfazione complessiva su una scala da 1 a 5 dove:
- 1 indica “molto insoddisfatto”
- 2 indica “insoddisfatto”
- 3 indica “neutro”
- 4 indica “soddisfatto”
- 5 indica “molto soddisfatto”
Possiamo utilizzare il seguente codice in R per calcolare la correlazione policorica tra le valutazioni dei due ristoranti:
library (polycor) #define ratings for each restaurant restaurant1 <- c(1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 4, 4, 5, 5, 4, 3, 4, 5, 5) restaurant2 <- c(4, 3, 3, 4, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 2, 1, 1, 2, 1, 4) #calculate polychoric correlation between ratings polychor(restaurant1, restaurant2) [1] -0.1322774
La correlazione policorica risulta essere -0,13 .
Questo valore è vicino allo zero, indicando che c’è pochissima (se non nessuna) associazione tra le valutazioni dei ristoranti.
Risorse addizionali
I seguenti tutorial spiegano come calcolare altri coefficienti di correlazione comuni in R:
Come calcolare la correlazione del rango di Spearman in R
Come calcolare la correlazione punto-biseriale in R
Come calcolare la correlazione incrociata in R
Come calcolare la correlazione scorrevole in R
Come calcolare la correlazione parziale in R