R 主成分分析

176 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

主成分分析

1.数据描述

2.调入数据,并对数据标准化。

操作步骤:

Case7=read.table("clipboard",header=T);Case7
library(mvstats)
sd=scale(Case7);sd   #输出标准化后的数据和属性信息

结果: 在这里插入图片描述 在这里插入图片描述

结果解释: 从剪贴板读取数据,对数据进行标准化

3.求标准化数据的相关矩阵。

操作步骤:

dcor=cor(sd);dcor#求相关矩阵

结果: 在这里插入图片描述

结果解释:求标准化数据的相关矩阵

4.求相关矩阵的特征值和特征向量。

操作步骤:

deig=eigen(dcor) #求相关矩阵的特征值和特征向量
deig$values #输出特征值
vec=deig$vectors # 输出特征向量

结果: 在这里插入图片描述

结果解释:求特征值和特征向量

5.计算方差贡献率和累积方差贡献率。

操作步骤:

sum(deig$values[1:2])/8 #求前2个主成分的累积方差贡献率

结果: 在这里插入图片描述

结果解释:求累计方差贡献率

6.画出碎石图。

操作步骤:

pca=princomp(sd,cor=T)#主成分分析函数
screeplot(pca,type="line",main="碎石图",lwd=2) #画出碎石图

结果: 在这里插入图片描述

结果解释:画碎石图

7.确定主成分个数,要求累积方差贡献率不低于80%。

操作步骤:

summary(pca)

结果: 在这里插入图片描述

8.求主成分载荷。

操作步骤:

pca$loadings[,1:2] #输出前2个主成分的载荷系数

结果: 在这里插入图片描述

结果解释:求主成分载荷

9.计算各城市的主成分得分。

操作步骤:

s=pca$scores[,1:2];s #输出前2个主成分的得分

结果: 在这里插入图片描述

结果解释:求主成分得分

10.计算各城市的综合得分并据此排名。

操作步骤:

princomp.rank(pca,m=2)#主成分排名

结果: 在这里插入图片描述

结果解释:查看排名