[Rscript]主成分分析

setwd("E:/data_analysis")
dta<-read.csv("newdata.csv")
library(psych)

#碎石图
fa.parallel(dta,fa="pc",n.iter=100,show.legend=T,main="Scree plot with parallel analysis")
 #?fa.parallel查询参数意义
 #n.iter=n,根据n个随机数据矩阵推导特征值均值
 #show.legend,默认是有一个图例,对于多个面板图,最好不要显示图例

#提取主成分
principal(dta,nfactors=10)
 #h2栏指成分公因子方差,即主成分对每个变量的方差解释度,u2为成分唯一性,即方差无法被主成分解释的比例,u2+h2=1
 #SS loadings行包含了与主成分相关联的特征值,指的是与特定主成分相关联的标准化后的方差值
 #proportion Var行表示的是每个主成分对整个数据集的解释力度

#主成分旋转
 #提取了多个主成分时,对主成分进行旋转会使结果更具解释性。旋转是一系列将成分载荷阵变得更容易解释的数学方法,
 #尽可能对成分去噪。旋转方法包括正交旋转和斜交旋转。主成分旋转试图对载荷阵的列进行去噪,使得每个成分只由一组有限的变量来解释。
rc<-principal(dta,nfactors=10,rotate="varimax")
rc

#主成分得分
pc<-principal(dta,nfactors=10,score=T)
pc$scores

猜你喜欢

转载自blog.csdn.net/tomocat/article/details/79106157