首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用关联矩阵作为对R中princomp()的输入

如何使用关联矩阵作为对R中princomp()的输入
EN

Stack Overflow用户
提问于 2014-03-29 02:07:45
回答 2查看 930关注 0票数 1

我有一个表示大型数据集的相关矩阵的数据:

代码语言:javascript
复制
> 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()进行主成分分析--我试着阅读了可用的文档,得到了:

代码语言:javascript
复制
myPCA <- princomp(~V1+V2+V3+V4+V5+V6+V7+V8, data=data, covmat=data)

但这和我停止上次争论时没有什么不同。请建议使用princomp()参数的正确方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-29 03:22:57

您可能想尝试在principal包下使用psych函数。https://personality-project.org/r/html/principal.html

下面是http://www.statmethods.net/advstats/factor.html的摘录

代码语言:javascript
复制
 # Principal Axis Factor Analysis
 library(psych)
 fit <- principal(mydata, nfactors=5, rotate="varimax")
 fit # print results

mydata可以是原始数据矩阵,也可以是协方差矩阵。

票数 1
EN

Stack Overflow用户

发布于 2014-03-29 06:38:48

您可以考虑使用eigen函数,它将生成相关矩阵的特征值(等效于princomp产生的sdevs的平方)以及特征向量(等效于princomp产生的负载)。

这一呼吁只是:

代码语言:javascript
复制
myPCA <- eigen(data)
myPCA$values
myPCA$vectors
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22726116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档