前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言之主成分分析

R语言之主成分分析

作者头像
一粒沙
发布2019-07-31 15:34:19
8920
发布2019-07-31 15:34:19
举报
文章被收录于专栏:R语言交流中心R语言交流中心
主成分分析(Principal Component Analysis,PCA),就是将多个变量通过 线性变换以选出较少个数重要变量的一种多元统计分析方法。又称主分量分析。主成分分析所关心的问题,是通过一组变量的几个线性组合来解释这组变量的方差-协方差结构,它的一般目的是:(1)数据的压缩;(2)数据的解释。

注意事项:在主成分分析中变量的数量不得大于样本数量;如果样本量小于变量数,但是样本量足够大,那么也可以通过抽样实现主成分分析。

主成分分析的相关步骤及原理可以参照以下的链接:

1.http://wiki.mbalib.com/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90%E6%B3%95

2.http://ufldl.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90

3.http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020209.html

R语言中主成分分析过程案例:

test<-data.frame( a=c(148, 129, 160, 149, 159, 142, 153, 140,151, 139, 150, 161, 148, 140, 137, 152, 149, 145, 160, 166, 151, 147, 157, 137, 157, 161, 144, 146, 139, 148), b=c(41, 34, 49, 36, 45, 51, 43, 43, 42,31, 29, 37, 59, 33, 31, 35, 47, 45, 47, 44, 42, 38, 39, 37, 48, 36, 36, 40, 35, 38), c=c(72, 71, 77, 67, 80, 66, 76, 77, 77,68, 64, 78, 78, 67, 66, 73, 82, 70, 74, 78, 73, 73, 68, 65, 80, 74, 68, 67, 68, 70), d=c(78, 73, 86, 79, 86, 76, 83, 79, 80,74, 74, 84, 83, 47, 73, 79, 79,67, 87, 85, 82, 88, 80, 55, 88, 70, 76, 76, 73, 78) )

sd=scale(test)

pca<-princomp(sd,cor=TRUE)#data为数据矩阵或数据框,cor为是否用相关阵,默认为协差阵,scores为是否输出成分得分

screeplot(pca,type="line",mian="碎石图",lwd=2) #画出碎石图,其他碎石图:screeplot(pca) #条型;biplot(pca) #分散型

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

summary(data.pr,loading=TRUE)#loading=TURE选项列出了主成分对应原始变量的系数

其中:standarddeviation 标准偏差Porportion of Variance 贡献率(方差比例)

comulative proportion 累计贡献率(累计比例)

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

c=s[1:评价对象的个数,1]*q1+s[1:评价对象的个数,2]*q2

cbind(s,c)

然后把综合得分c的值从小到大排序,得到最后评价结果。

欢迎大家学习交流

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档