11 votos

¿Cuál es la diferencia entre Resumen y cargas para princomp?

Código de ejemplo:

(pc.cr <- princomp(USArrests))  # inappropriate
summary(pc.cr)
loadings(pc.cr)  ## note that blank entries are small but not zero

Estoy recibiendo diferentes salidas de cada uno, y no estoy seguro, que entiendo lo que 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

p.s: ¿Cómo puedo obtener acceso a la tabla creada por summary(pc.cr)?? (Parece que no puedo encontrar en str)

Gracias.

4voto

DavLink Puntos 101

La primera salida es la correcta y la más útil. Llamando loadings() de su objeto sólo devuelve un resumen donde la SS son siempre igual a 1, por lo tanto el % de la varianza es sólo el SS cargas dividido por el número de variables. Tiene sentido sólo cuando se utiliza el Análisis de factores (como en factanal). Yo nunca uso princomp o su enfermedad vesicular porcina basada en la alternativa (prcomp), y prefiero el FactoMineR o ade4 paquete que son mucho más potente!

Sobre su segunda pregunta, el summary() función sólo devuelve la desviación estándar para cada componente (pc.cr$sdev en su caso), y el resto de la mesa parece ser calculada después (a través de la print o show método, yo no investigar esta en los detalles).

> getS3method("summary","princomp")
function (object, loadings = FALSE, cutoff = 0.1, ...)
{
    object$cutoff <- cutoff
    object$print.loadings <- loadings
    class(object) <- "summary.princomp"
    object
}
<environment: namespace:stats>

Lo princomp() sí no puede ser vista usando getAnywhere("princomp.default").

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X