Código de ejemplo:
(pc.cr <- princomp(USArrests))
summary(pc.cr)
loadings(pc.cr) ## note that blank entries are small but not zero
Estoy obteniendo diferentes resultados de cada uno, y no estoy seguro de entender cuál es la diferencia.
Aquí está la salida:
> summary(pc.cr)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4
Standard deviation 82.8908472 14.06956001 6.424204055 2.4578367034
Proportion of Variance 0.9655342 0.02781734 0.005799535 0.0008489079
Cumulative Proportion 0.9655342 0.99335156 0.999151092 1.0000000000
> loadings(pc.cr) ## note that blank entries are small but not zero
...
Comp.1 Comp.2 Comp.3 Comp.4
SS loadings 1.00 1.00 1.00 1.00
Proportion Var 0.25 0.25 0.25 0.25
Cumulative Var 0.25 0.50 0.75 1.00
PD: ¿cómo puedo obtener acceso a la tabla creada por resumen (pc.cr)? (Parece que no puedo encontrarlo en str.)
# inappropriate
comentarios en la primera línea?Respuestas:
El primer resultado es el correcto y más útil. Llamar
loadings()
a su objeto solo devuelve un resumen donde las SS siempre son iguales a 1, por lo tanto, el% de varianza es solo la carga de SS dividida por el número de variables. Tiene sentido solo cuando se usa el Análisis Factorial (como enfactanal
). ¡Nunca usoprincomp
o su alternativa basada en SVD (prcomp
), y prefiero el paquete FactoMineR o ade4 que son mucho más potentes!Acerca de su segunda pregunta, la
summary()
función solo devuelve la SD para cada componente (pc.cr$sdev
en su caso), y el resto de la tabla parece calcularse después (a través del métodoprint
oshow
, no investigé esto en detalles).Lo que
princomp()
hace se puede ver usandogetAnywhere("princomp.default")
.fuente