我有一个表示大数据集的相关矩阵的数据框:
> data
V1 V2 V3 V4 V5 V6 V7 V8
1 1.000 0.846 0.805 0.859 0.473 0.398 0.301 0.382
2 0.846 1.000 0.881 0.826 0.376 0.326 0.277 0.415
3 0.805 0.881 1.000 0.801 0.380 0.319 0.237 0.345
4 0.859 0.826 0.801 1.000 0.436 0.329 0.327 0.365
5 0.473 0.376 0.380 0.436 1.000 0.762 0.730 0.629
6 0.398 0.326 0.319 0.329 0.762 1.000 0.583 0.577
7 0.301 0.277 0.237 0.327 0.730 0.583 1.000 0.539
8 0.382 0.415 0.345 0.365 0.629 0.577 0.539 1.000
我想使用{stats}中的princomp()进行主成分分析 我试着阅读可用的文档,并得到了:
myPCA <- princomp(~V1+V2+V3+V4+V5+V6+V7+V8, data=data, covmat=data)
但这与我离开最后一个论点时没有什么不同。 请告知使用princomp()参数的正确方法。
答案 0 :(得分:1)
您可能想尝试使用principal
包下的psych
功能。
https://personality-project.org/r/html/principal.html
以下摘自http://www.statmethods.net/advstats/factor.html
# Principal Axis Factor Analysis
library(psych)
fit <- principal(mydata, nfactors=5, rotate="varimax")
fit # print results
mydata可以是原始数据矩阵或协方差矩阵。
答案 1 :(得分:1)
您可以考虑使用eigen
函数,它将生成相关矩阵的特征值(相当于princomp生成的sdevs的平方)以及特征向量(相当于princomp生成的加载量) )。
电话会是:
myPCA <- eigen(data)
myPCA$values
myPCA$vectors