SPSS完不成主成分分析,那就换R语言实现全过程吧

数据小兵
数据小兵
数据小兵
64
文章
0
评论
2020-04-1803:05:00 评论 1,262 1116字
摘要

SPSS只能完成主成分分析的一部分环节,主成分得分等计算尚需结合其他工具(如Excel)来完成,这对SPSS用户来说,是极不方便的。

小兵建议大家直接采用R语言实现主成分分析,今天先送上一枚案例。 使用R语言自带USJudgeRatings法官综合素质评分数据,每位法官均有12项维度打分,我们觉得用12个指标评价一位法官过于复杂了,现在请对12个维度打分变量进行降维处理,造几个主成分来用于综合评价。数据如下。

SPSS完不成主成分分析,那就换R语言实现全过程吧

加载包:library(psych)

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

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

SPSS完不成主成分分析,那就换R语言实现全过程吧

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

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

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

SPSS完不成主成分分析,那就换R语言实现全过程吧

提取到两个主成分PC1、PC2,特征值分别为10.13、1.10,均大于1,以特征值为参考的话,提取前2个主成分尚可。方差贡献比例分别为84%、9%,累积方差贡献比例94%,一般认为大于80%,即可认为主成分有较大代表性。 从累积方差贡献,特征值的表现来看,提取2个主成分没问题。 12个指标和PC1、PC2交叉的数字即为载荷,从载荷的分布来看,可以比较轻松的划分各指标与主成分的归属,比如PC2在指标"CONT"上的载荷明显大于其他,所以"CONT"是PC2的主要代表变量,而其他变量在PC1的载荷均较大,所以PC1是一个一般性的综合成分。鉴于此,不做旋转处理是可以的,不影响对主成分核心含义的提炼。 和SPSS主成分的结果对比一下,主成分特征值、方差贡献比例完全一致。

SPSS完不成主成分分析,那就换R语言实现全过程吧

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

SPSS完不成主成分分析,那就换R语言实现全过程吧

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

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

SPSS完不成主成分分析,那就换R语言实现全过程吧

效果很直观,就不用文字多说了。 执行到此处,我们已经确认12个维度指标变量,提取前2个成分作为主成分是可以的。

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

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

head(USJ.spc$scores)

SPSS完不成主成分分析,那就换R语言实现全过程吧

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

End.作者:数据小兵来源:博客本文均已和作者授权,如转载请与作者联系。

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: