为什么在SEM中将声明的序数变量作为内生变量不起作用?

时间:2019-05-02 03:37:51

标签: r data-analysis r-lavaan

对于我的数据集,我有一个CFA模型+一个结构回归模型。 CFA模型运作良好。但是,结构回归不起作用,因为我在结构模型中有一个序数变量作为内生变量。我总是收到警告消息,然后出现错误消息:

  

lavaan警告:构造W矩阵时遇到麻烦;对A11子矩阵使用广义逆

     

nlminb中的错误(开始= start.x,目标=目标功能,梯度=梯度,:

     

NA / NaN梯度评估

我使用RStudio 1.1.463和R 3.5.2创建和运行模型。我的lavaan版本是0.6-3。

结构模型中的外生变量为:

  • 性别(3个等级,名义变量)
  • 持续时间(6级,顺序变量)
  • 职位(6个级别,顺序变量)
  • 时间(6个级别,顺序变量)

我已经将它们转换为虚拟变量。

内生变量为:

  • F1(潜在变量)
  • F2(潜在变量)
  • 价格(常规变量)
  • 可能(数字,最终内生变量)

按照页面http://lavaan.ugent.be/tutorial/cat.html的指示,我已将“价格”声明为“常规”,但仍然无法使用。

以下是我针对此问题的代码:

sem.initial.model.dummy2 <- '
  # Measurement model
  F1 =~ Y1 + Y2 + Y3 + Y4
  F2 =~ Y5 + Y6 + Y7 + Y8 + Y9
  Y8 ~~ Y9
  Y5 ~~ Y6
  Y2 ~~ Y4

  # Structural Regression model
  F1 ~ b2*gender_2 + b3*gender_3 + d2*duration_2 + d3*duration_3 + d4*duration_4 + d5*duration_NA + g2*job_2 + g3*job_3 + g4*job_4
  F2 ~ l*F1 + c2*gender_2 + c3*gender_3 + e2*duration_2 + e3*duration_3 + e4*duration_4 + e5*duration_NA + h2*job_2 + h3*job_3 + h4*job_4
  price ~ f2*duration_2 + f3*duration_3 + f4*duration_4 + f5*duration_NA + i2*job_2 + i3*job_3 + i4*job_4
  likely ~ o*F1 + r*F2 + p*price + j2*time_2 + j3*time_3 + j4*time_NA

  #I skipped the codes for indirect effects here'

sem.initial.model.dummy2.fit <- sem(sem.initial.model.dummy2, data = dat4, ordered = 'price')

summary(sem.initial.model.dummy2.fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE, modindices = TRUE)

我只想成功地使用“价格”作为序数内生变量来运行结构回归模型。有人可以帮忙吗?谢谢!

0 个答案:

没有答案