本文已参与「新人创作礼」活动,一起开启掘金创作之路
主成分分析
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)#主成分排名
结果:
结果解释:查看排名