[Rscript]探索性因子分析

setwd("E:/天睿TERADATA/data_analysis")
dta<-read.csv("newdata.csv")

#判断需要提取的公共因子数
fa.parallel(dta,fa="both",n.iter=100,main="Scree plots with parallel analysis")
 #代码中使用了fa="both",从而会同时展示主成分和公共银子分析的结果
 #结果中最大拐角处前有八个变量,从而我们选择八个公共因子

 #若是用相关系数矩阵做
 #cov_dta<-cov(dta)
 #cor_dta<-cov2cor(cov_dta)
 #fa.parallel(cor_dta,n.obs=nrow(dta),fa="both",n.iter=100,main="Scree plots with parallel analysis")
 
#提取公共因子
fa<-fa(dta,nfactors=4,rotate="none",fm="pa")
fa
 
#因子旋转有利于因子解释
#正交旋转
fa.varimax<-fa(dta,nfactors=4,rotate="varimax",fm="pa")
fa.varimax
#斜交旋转允许因子之间相关

#绘制正交旋转的结果
factor.plot(fa.varimax,lables=rownames(fa.varimax$loadings))
fa.diagram(fa.varimax,simple=T)

#因子得分:相比于主成分分析,探索性因子分析不那么关注计算因子得分
fa.varimax$weights

猜你喜欢

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