主成分分析
library(psych)
#畫出碎石圖確定數(shù)據(jù)集all的7到12列的數(shù)據(jù)的主成分個數(shù)
fa.parallel(all[7:12], fa = 'pc', n.iter = 100, show.legend = FALSE)
#抽取出主成分,這里nfactors設(shè)置為2,
#rotate指定旋轉(zhuǎn)的方式為最大方差旋轉(zhuǎn)(varimax),將成分載荷陣變得更容易解釋
#score為True計算出主成分得分
data2_pca2 <- principal(all[7:12], nfactors = 2, rotate = "varimax",score=TRUE)
#將得到的兩個主成分RC1,RC2綁定到數(shù)據(jù)集all中
RC<-data.frame(data2_pca2$scores)
all<-data.frame(all,RC1=RC$RC1,RC2=RC$RC2)
autoplot(prcomp(all[7:12], scale = TRUE), label = TRUE)
#將主成分加入模型進行回歸
lmmodel <- lm(all.y~.,data=all[,c(1:6,13,14)])
因子回歸
#通過factanal實現(xiàn),scores表示計算因子得分的方法,這里指定兩個因子
da<-factanal(all[7:12],2,score=c("regression"),data=all[7:12],rotation="varimax")
#FC計算因子得分
FC<-data.frame(da$score)
all<-data.frame(all,FC1=FC$Factor1,FC2=FC$Factor2)
lmmodel <- lm(log(all$reviewCount)~.,data=all[,c(1:6,19,20)])
##利用psych包的fa函數(shù)實現(xiàn)
#判斷需提取的公共因子數(shù)
convariances<-ability.cov$cov
correlations<-cov2cor(covariances)
correlations<-cor(all[7:12])
fa.parallel(correlations,n.obs=2392,fa="both",n.iter=100)
#提取因子
fa.varimax<-fa(correlations,nfactors=2,rotate="varimax",fm="pa",score=TRUE)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。