R语言变量降维分析

变量降维: (Variable dimension reduction) 涉及因子分析/主成分分析等,通过使用这个工具,可以将多个变量减少,用新的核心变量进行替代,并将新变量用线性关系表示。从而减少变量字段过多造成的数据分析复杂度。将20个变量用6个变量进行替换,该6个变量及就成为新的变量。

# Retain numeric digits
covariances<-newdata
covariances<- cov(covariances)
correlations<-cov2cor(covariances)
print(correlations)
library(psych)
fa.parallel(correlations,n.obs=length(newdata[,1]),fa="both",n.iter=100,main="Scree plots with parallel analysis")
fa<-fa(correlations,nfactors=n,rotate="none",fm="pa")
print(fa)
fa.varimax<-fa(correlations,nfactors= n,rotate="varimax",fm="pa")
print(fa.varimax)
library(GPArotation)
fa.promax<-fa(correlations,nfactors=n,rotate="promax",fm="pa")
print(fa.promax)

上述进行的是主成分分析,对因子进行降维,因子一般为数值型变量 。

fsm<-function(oblique){
  if(class(oblique)[2]=="fa"&is.null(oblique$Phi)){
    warning("Object doesn't look like oblique EFA")
  }else{
    P<-unclass(oblique$loading)
    F<-P%*%oblique$Phi
    colnames(F)<-c("PA1","PA2")
    return (F)
  }
}
fsm(fa.promax)
factor.plot(fa.promax,labels=rownames(fa.promax$loadings))
fa.diagram(fa.promax,simple=TRUE)
print(fa.promax$weights)

上述是对因子进行了因子旋转降维,最终可以查看因子载荷和相关系数。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值