微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在运行 modindices 命令以检查 SEM 的改进时出现 R 错误“下标分配中不允许使用 NA”?

如何解决为什么在运行 modindices 命令以检查 SEM 的改进时出现 R 错误“下标分配中不允许使用 NA”?

我使用 R-lavaan 包测试了测量模型,这是我的结构方程方法的第一步。

一切正常,但是当我尝试检查该测量模型的 modindices 时,我收到一条我似乎无法解决错误消息:

    rosiesTAM_measurement<- '

    #measurement model
    PEoU =~ 1*TAM_PEoU_1 + TAM_PEoU_2 + TAM_PEoU_3 + TAM_PEoU_4
    PU =~ 1*TAM_PU_1 + TAM_PU_2 + TAM_PU_3 + TAM_PU_4
    E =~ 1*TAM_E_1 + TAM_E_2 + TAM_E_3 + TAM_E_4
    SI =~ 1*TAM_SI_1 + TAM_SI_2 + TAM_SI_3
    #residual variances
    TAM_SS ~~ TAM_SS
    PEoU ~~ PEoU
    PU ~~ PU
    E ~~ E
    SI ~~ SI
    TAM_SS ~~ PEoU
    TAM_SS ~~ PU
    TAM_SS ~~ E
    TAM_SS ~~ SI
    PEoU ~~ PU
    PEoU ~~ E
    PEoU ~~ SI
    PU ~~ E
    PU ~~ SI
    E ~~ SI
  '
   
   #fit the model
   rosiesTAM_measurement_fit <- cfa(rosiesTAM_measurement_fam_class4,data = rosie_fscores) 
   
   #print summary
   summary(rosiesTAM_measurement_fit,standardized = T,fit.measures = T)
   
   #visualize measurement model
   semPaths(rosiesTAM_measurement_fit)
   
   #check modindices
   modindices(rosiesTAM_measurement_fit,sort = TRUE)
    Error in tmp[cbind(REP$row[idx],REP$col[idx])] <- lavpartable$free[idx] : 
    NAs are not allowed in subscripted assignments
   

与 SEM 相关的变量不包含任何缺失值。我不明白为什么 R 不想运行 modindices 命令。 测量模型拟合接近可接受(样本量非常小,N = 183):

  • 卡方:0
  • CFI:0.938
  • RMSEA:0.088
  • SRMR:0.084

感谢您的帮助,提前致谢。

解决方法

问题解决了!问题在于清单(观察到的)变量 TAM_SS。从测量模型中删除该变量时,可以检查修改指数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。