如何用R语言实现主成分分析

这期内容当中小编将会给大家带来有关如何用R语言实现主成分分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联是网站建设技术企业,为成都企业提供专业的网站设计、做网站,网站设计,网站制作,网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制适合企业的网站。10余年品质,值得信赖!

建议大家直接采用R语言实现主成分分析,今天先送上一枚案例。

使用R语言自带USJudgeRatings法官综合素质评分数据,每位法官均有12项维度打分,我们觉得用12个指标评价一位法官过于复杂了,现在请对12个维度打分变量进行降维处理,造几个主成分来用于综合评价。

数据如下:

如何用R语言实现主成分分析

加载包:

library(psych)

画出含平行分析的碎石图:


fa.parallel(USJudgeRatings, fa = "pc", n.iter = 100, show.legend = TRUE, main = 'Scree plot with parallel analysis')

如何用R语言实现主成分分析

此图告诉我们似乎是提取1个主成分。判断主成分个数的经验和方法不只是这一个,我觉得只提取1个主成分的话有些偏执,可以考虑多提1个,共提取2个主成分进行考察。

接下来开始主成分分析,暂不旋转:


USJ.pc<-principal(USJudgeRatings,nfactors=2,rotate = "none")

如何用R语言实现主成分分析

提取到两个主成分PC1、PC2,特征值分别为10.13、1.10,均大于1,以特征值为参考的话,提取前2个主成分尚可。方差贡献比例分别为84%、9%,累积方差贡献比例94%,一般认为大于80%,即可认为主成分有较大代表性。

从累积方差贡献,特征值的表现来看,提取2个主成分没问题。

12个指标和PC1、PC2交叉的数字即为载荷,从载荷的分布来看,可以比较轻松的划分各指标与主成分的归属,比如PC2在指标“CONT”上的载荷明显大于其他,所以"CONT"是PC2的主要代表变量,而其他变量在PC1的载荷均较大,所以PC1是一个一般性的综合成分。鉴于此,不做旋转处理是可以的,不影响对主成分核心含义的提炼。

和SPSS主成分的结果对比一下,主成分特征值、方差贡献比例完全一致。

如何用R语言实现主成分分析

再对比一下SPSS输出的载荷矩阵,也是一致。

如何用R语言实现主成分分析

如果觉得我表述不清的话,那我们绘制指标变量与主成分载荷图,直观看一下效果。


fa.diagram(USJ.pc,simple=TRUE)

如何用R语言实现主成分分析

效果很直观,就不用文字多说了。

执行到此处,我们已经确认12个维度指标变量,提取前2个成分作为主成分是可以的。

接下来,我们需要计算每个主成分的得分了。


USJ.spc<-principal(USJudgeRatings,nfactors=2,rotate = "none",scores = TRUE)


head(USJ.spc$scores)

如何用R语言实现主成分分析

对主成分得分变量的使用,通常是直接用于从高到底排序,排名靠前的法官则在该主成分维度上表现突出。或者综合2个主成分得分变量,构造一个综合得分进行评价。

上述就是小编为大家分享的如何用R语言实现主成分分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页题目:如何用R语言实现主成分分析
当前地址:http://azwzsj.com/article/pcdjce.html