【问题标题】:For Loop for poLCA package(R) to run multiple class modelsfor Loop for poLCA package(R) 运行多个类模型
【发布时间】:2015-10-07 11:23:50
【问题描述】:

我正在尝试根据不同数量的潜在类 nclass 选择最适合我的数据的 LCA 模型 (R package=poLCA)。

我想使用 for 循环为 1:5 潜在类运行模型,并为每个模型生成一个包含 G2AICBIC 值的表。

## Generating a table of G2,AIC & BIC for different no of LCA classes (1:5) for 6 variables. 

library(poLCA)
as.data.frame(mod_sum_v6)
for(i in 1:5){
    lca_v6<- poLCA(cbind(A,B,C,D,E,F) ~ 1, 
    maxiter=50000,nclass=i,
    nrep=1, data=data)
    mod_sum_v6[i]<-c(lca_v6$Chisq,lca_v6$resid.df,lca_v6$Gsq,lca_v6$aic,lca_v6$bic)
}

【问题讨论】:

    标签: r for-loop


    【解决方案1】:

    我在网上找到了这段代码,它运行一个包含两到十组的模型序列。当 nrep=10 时,它会运行每个模型 10 次,并保持 BIC 最低的模型。

    f<-with(mydata, cbind(F29_a,F29_b,F29_c,F27_a,F27_b,F27_e,F09_a, F09_b, F09_c)~1) #
    
    max_II <- -100000
    min_bic <- 100000
    for(i in 2:10){
    lc <- poLCA(f, mydata, nclass=i, maxiter=3000, 
              tol=1e-5, na.rm=FALSE,  
              nrep=10, verbose=TRUE, calc.se=TRUE)
      if(lc$bic < min_bic){
      min_bic <- lc$bic
    LCA_best_model<-lc
    }
    }       
    LCA_best_model
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多