首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相关矩阵的主成分分析

相关矩阵的主成分分析
EN

Stack Overflow用户
提问于 2018-11-17 15:34:36
回答 1查看 2K关注 0票数 1

许多函数可以对R中的原始数据进行主成分分析(PCA),通过原始数据,我了解任何数据框架或矩阵,这些数据框架或矩阵的行被观察到索引,其列与测量值相一致。我们能在R中的相关矩阵上进行PCA吗?哪个函数可以接受相关矩阵作为R中的输入?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-17 16:31:20

正如注释中提到的,您可以使用

代码语言:javascript
复制
ii <- as.matrix(iris[,1:4])
princomp(covmat=cor(ii))

这将给出与princomp(iris,cor=TRUE)等价的结果(这不是您想要的结果-后者使用完整的数据矩阵,但返回在协方差矩阵转换为相关时计算的值)。

如果有关联矩阵,也可以手工完成所有相关的计算:

代码语言:javascript
复制
cc <- cor(ii)
e1 <- eigen(cc)

标准差:

代码语言:javascript
复制
sqrt(e1$values)
[1] 1.7083611 0.9560494 0.3830886 0.1439265

差异比例:

代码语言:javascript
复制
e1$values/sum(e1$values)
[1] 0.729624454 0.228507618 0.036689219 0.005178709

您可以通过e1$vectors获得装载。通过this CV question(根据as.matrix(iris) %*% e1$vectors) )计算分数(这不会给出与princomp()$scores数值相同的答案--特征向量的缩放方式不同--但它给出了相同的结果)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53352695

复制
相关文章

相似问题

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