Código de exemplo:
(pc.cr <- princomp(USArrests))
summary(pc.cr)
loadings(pc.cr) ## note that blank entries are small but not zero
Estou obtendo resultados diferentes de cada um e não tenho certeza de entender qual é a diferença.
Aqui está a saída:
> 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
PS: como posso acessar a tabela criada pelo resumo (pc.cr)? (Eu não consigo encontrá-lo em str.)
# inappropriate
comentário na primeira linha?Respostas:
A primeira saída é a correta e mais útil. A chamada
loadings()
ao seu objeto apenas retorna um resumo em que o SS é sempre igual a 1; portanto, a variação% é apenas o carregamento do SS dividido pelo número de variáveis. Faz sentido apenas ao usar a Análise Fatorial (como emfactanal
). Eu nunca usoprincomp
ou a sua alternativa à base de SVD (prcomp
), e prefiro o FactoMineR ou ade4 pacote que são de longe mais poderoso!Sobre sua segunda pergunta, a
summary()
função retorna o SD de cada componente (pc.cr$sdev
no seu caso) e o restante da tabela parece ser calculado posteriormente (através do métodoprint
oushow
, eu não investiguei isso em detalhes).O que em
princomp()
si pode ser visto usandogetAnywhere("princomp.default")
.fonte