基于R语言的主成分分析

基于R语言的主成分分析

加入的SPSS群里有人问,怎么用SPSS进行主成分分析。确实没有注意到这种操作。很好奇,于是翻了翻孙振球的《医学统计学》,发现主成分分析这一块,竟使用了SAS!后来再找找网上的说明,SPSS似乎却被是不能直接进行主成分分析的。

主成分分析在R语言里面的实现几乎是瞬间的事儿,它只需要princomp()一个函数。

于是从记录的几次考试成绩里找了稍规整些的Excel表,行列转换了重新粘贴在csv文件里,直接给score向量了。

代码如下:

#Excel列转行直接赋给向量score
score<-data.frame(

ch1=c(105,100,95,95,90,90,85,80,80,80,75,75,75,75,75,75,75,75,75,75,70,70,70,70,70,70,70,70,55),
ch2=c(80,76,73,69,65,65,64,61,61,61,57,57,57,53,52,50,50,50,46,46,46,44,41,38,30,30,30,19,19),
ch3=c(80,73,69,65,65,61,61,57,53,53,53,50,50,50,50,50,46,46,46,44,42,38,38,34,34,30,30,30,26),
ch4=c(95,90,90,85,80,80,80,75,75,75,75,75,75,75,75,75,75,70,70,70,70,70,70,70,70,55,105,100,95),
ch5=c(90,85,91,82,100,94,100,100,78,72,93,88,94,69,77,88,88,91,91,77,87,74,60,51,89,64,86,69,100),
ch6=c(97,82,80,59,93,80,60,86,89,100,72,86,100,81,78,72,79,63,88,86,84,100,97,72,80,78,88,90,84)
)

#按相关矩阵分析主成分
score.pr<-princomp(score,cor=TRUE)
#输出贡献率、累计贡献率和载荷
summary(score.pr,loadings=TRUE)
#画碎石图给出主成分
screeplot(score.pr,type="lines")

RStudio输出结果:

Importance of components:
                          Comp.1    Comp.2    Comp.3    Comp.4     Comp.5
Standard deviation     1.7664414 1.0569992 1.0067533 0.8154655 0.26821204
Proportion of Variance 0.5200526 0.1862079 0.1689254 0.1108307 0.01198962
Cumulative Proportion  0.5200526 0.7062604 0.8751858 0.9860165 0.99800608
                            Comp.6
Standard deviation     0.109377749
Proportion of Variance 0.001993915
Cumulative Proportion  1.000000000

Loadings:
    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
ch1  0.534         0.163  0.245  0.745  0.263
ch2  0.533  0.199  0.188        -0.597  0.527
ch3  0.557         0.114        -0.144 -0.804
ch4  0.181 -0.763 -0.229  0.537 -0.208       
ch5  0.289 -0.303 -0.544 -0.709  0.145       
ch6        -0.524  0.759 -0.377              
> #画碎石图给出主成分
> screeplot(score.pr,type="lines")
>

第1章ch1几乎决定了52%的总成绩,而ch2、ch3、ch4影响程度相差不多,至ch4累计贡献已经达到0.9860165,ch5、ch6几乎可以不看了,这样,从观察6次成绩变成以观察4次、甚至只观察第1次成绩为主,达到了降维的目的。

总之从这一点上,R语言要比SPSS可能要方便得多。R语言拥有极其方便易用的Help,关于主成分分析,有更多的介绍和功能,在此不述。

(0)

相关推荐