非常简单而又非常完整的R语言主成分分析实例

本篇文章不讲有关主成分分析的理论知识,只讲实际操作。

实例:(中学生身体四项指标的主成分分析)

在某中学随机抽取某年级30名学生,测量其身高(X1)、体重(X2)、胸围(X3)和坐高(X4),数据如下。试对这30名中学生身体四项指标数据做主成分分析。


这里写图片描述

这些数据保存保存在students_data.csv中,该文件中的部分数据截图如下:

这里写图片描述

现在开始做主成分分析
第一步:将students_data.csv中的数据读入到程序中

data <- read.csv('D:/students_data.csv', header = T)    
注:header = T表示将students_data.csv中的第一行数据设置为列名,这种情况下,
students_data.csv中的第二行到最后一行数据作为data中的有效数据。header = F
表示不将students_data.csv中的第一行数据设置为列名,这种情况下,students_data.csv
中的第一行到最后一行数据作为data中的有效数据。

第二步:进行主成分分析

student.pr <- princomp(data, cor = T)
注:cor = T的意思是用相关系数进行主成分分析。

第三步:观察主成分分析的详细情况

summary(student.pr, loadings = T)
执行完这一步的具体结果如下:

这里写图片描述

说明:结果中的Comp.1、Comp.2、Comp.3和Comp.4是计算出来的主成分,Standard deviation代
表每个主成分的标准差,Proportion of Variance代表每个主成分的贡献率,Cumulative 
Proportion代表各个主成分的累积贡献率。每个主成分都不属于X1、X2、X3和X4中的任何一个。
第一主成分、第二主成分、第三主成分和第四主成分都是X1、X2、X3和X4的线性组合,也就是说最原始
数据的成分经过线性变换得到了各个主成分。然而并不是每个主成分的作用都非常关键,因此,我们只选
择作用比较关键的几个,一般地,选择累积贡献率达到八成的前几个主成分即可(这个实例中我们选择前
两个,毕竟第二主成分的贡献率也比较大)。
    接下来,在得到主成分的基础上进行回归也好进行聚类也好,就不再使用原始的X1、X2、X3和X4
了,而是使用主成分的数据。但现在还没有各个样本的主成分的数据,所以,最后一步就是得到各个样本主成分的数据。

第四步:计算得到各个样本主成分的数据

pca_data <- predict(student.pr)
得出的结果如下:

这里写图片描述

我们只保留Comp.1和Comp.2的数据即可。

结束:到此,大功告成,接下来可以做自己想做的事情了。

  • 60
    点赞
  • 473
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值