Je m'interroge sur comment procède FactoMineR pour centrer-réduire quand on fait une ACP. Ou alors sur ce qui explique la différence qu'on observe ci-dessous.
Là je centre-réduis avec la fonction scale() et je fais l'ACP sur le tableau centré-réduit, sans l'option centrer-réduire:
Code : Tout sélectionner
> library(FactoMineR)
> X0 <- USArrests
> X <- scale(X0)
> # run PCA
> acp <- PCA(X, scale.unit = FALSE, ncp=2)
> # coordinates on the principal components
> head(acp$ind$coord)
Dim.1 Dim.2
Alabama 0.9756604 -1.1220012
Alaska 1.9305379 -1.0624269
Arizona 1.7454429 0.7384595
Arkansas -0.1399989 -1.1085423
California 2.4986128 1.5274267
Colorado 1.4993407 0.9776297
Je retrouve bien les coordonnées sur les composantes principales ainsi :
Code : Tout sélectionner
> # principal components
> pc <- acp$svd$V
> head(as.matrix(X)%*%pc)
[,1] [,2]
Alabama 0.9756604 -1.1220012
Alaska 1.9305379 -1.0624269
Arizona 1.7454429 0.7384595
Arkansas -0.1399989 -1.1085423
California 2.4986128 1.5274267
Colorado 1.4993407 0.9776297
Mais quand je centre-réduis avec FactoMineR, il y a une légère différence :
Code : Tout sélectionner
> # run PCA
> acp <- PCA(X0, scale.unit = TRUE, ncp=2)
> # coordinates on the principal components
> head(acp$ind$coord)
Dim.1 Dim.2
Alabama 0.9855659 -1.1333924
Alaska 1.9501378 -1.0732133
Arizona 1.7631635 0.7459568
Arkansas -0.1414203 -1.1197968
California 2.5239801 1.5429340
Colorado 1.5145629 0.9875551
Savez-vous d'où provient cette différence ?
Bon je n'ai pas encore exploré le code de la fonction PCA() pour voir ce qu'elle fait.