Innanzitutto, ci sono diversi modi per costruire i cosiddetti biplot nel caso dell'analisi della corrispondenza. In tutti i casi, l'idea di base è quella di trovare un modo per mostrare la migliore approssimazione 2D delle "distanze" tra celle di riga e celle di colonna. In altre parole, cerchiamo una gerarchia (parliamo anche di "ordinazione") delle relazioni tra righe e colonne di una tabella di contingenza.
χ2
corresp()
MASS
RtC= NN
i = 1 , … , Ij = 1 , … , Jfj | io= nio j/ nio ⋅fio | j= nio j/ n⋅ jiofio ⋅Jf⋅ jχ2ioio'
d2χ2( io , io') = ∑j = 1Jnn⋅ j( nio jnio ⋅- nio'jnio'⋅)2
χ2H0nio ⋅× n⋅ j/ n( i , j )
χ2cos2iojχ2chisq.test(tab)$expected-chisq.test(tab)$observed
χ2nφ2
In realtà, ci sono diversi pacchetti che possono fornire con CA migliorate rispetto alla funzione disponibile nel MASS
package: ade4 , FactoMineR , Anacor , e ca .
L'ultima è quella che è stata utilizzata per il vostro particolare illustrazione, e un documento è stato pubblicato sul Journal of Statistical Software che spiega la maggior parte dei suoi functionnalities: analisi delle corrispondenze in R, con una grafica a due e tre dimensioni: il ca pacchetto .
Quindi, il tuo esempio sui colori degli occhi / dei capelli può essere riprodotto in molti modi:
data(HairEyeColor)
tab <- apply(HairEyeColor, c(1, 2), sum) # aggregate on gender
tab
library(MASS)
plot(corresp(tab, nf=2))
corresp(tab, nf=2)
library(ca)
plot(ca(tab))
summary(ca(tab, nd=2))
library(FactoMineR)
CA(tab)
CA(tab, graph=FALSE)$eig # == summary(ca(tab))$scree[,"values"]
CA(tab, graph=FALSE)$row$contrib
library(ade4)
scatter(dudi.coa(tab, scannf=FALSE, nf=2))
In tutti i casi, ciò che leggiamo nel biplot risultante è sostanzialmente (limito la mia interpretazione al 1 ° asse che ha spiegato la maggior parte dell'inerzia):
- il primo asse evidenzia la chiara opposizione tra il colore chiaro e scuro dei capelli e tra gli occhi blu e castani;
- le persone con i capelli biondi tendono ad avere anche gli occhi blu e le persone con i capelli neri tendono ad avere gli occhi castani.
Ci sono molte risorse aggiuntive sull'analisi dei dati nel laboratorio di bioinformatica di Lione, in Francia. Questo è principalmente in francese, ma penso che non sarebbe un grosso problema per te. Le seguenti due dispense dovrebbero essere interessanti come primo avvio:
K