如何解决lavaan相互作用回归模型:样本协方差矩阵不是正定的
我正在运行带有lavaan R包的模型,该模型通过连续代码和两个分类代码来预测连续结果。其中一个是二分变量(我们将其称为A; 0 =否,1 =是),另一个是三级分类变量(我们将其称为B; 0 =低,中,3 =高)。下面是数据示例:
outcome gender age continuous A B
1 1.333333 2 23.22404 1.333333 1 0
2 1.500000 2 23.18033 1.833333 1 1
3 1.500000 2 22.37978 2.166667 1 NA
4 2.250000 1 18.74044 1.916667 1 0
5 1.250000 1 22.37978 1.916667 1 1
6 1.500000 2 20.16940 1.500000 1 NA
除了连续,二分类和三级分类变量外,我的模型还包含一些控制变量:
model.1a <- 'outcome ~ gender + age + continuous + A + B
A ~~ continuous
A ~~ B
continuous ~~ B'
fit.1a <- sem(model=model.1a,data=dat)
summary(fit.1a,fit.measures=TRUE,standardized=TRUE,ci=TRUE,rsquare=T)
第二步,我还希望包括变量A和B之间的交互。为此,我首先将这两个变量居中,然后将交互包括在模型中:
model.1b <- 'outcome ~ gender + age + continuous + A_centr + B_centr + interaction
A_centr ~~ continuous
A_centr ~~ B_centr
continuous ~~ B_centr
interaction ~~ 0*gender + 0*age
gender ~~ age'
fit.1b <- sem(model=model.1b,data=dat)
summary(fit.1b,rsquare=T)
但是,当我运行此模型时,出现以下错误:
Error in lav_samplestats_icov(COV = cov[[g]],ridge = ridge,x.idx = x.idx[[g]],:
lavaan ERROR: sample covariance matrix is not positive-definite
据我所知,之所以如此,是因为两个分类变量之间的相互作用与原始变量非常相似,但是我不确定如何解决。有人有解决问题的建议吗?
为供您参考,我已经尝试将非中心版本用于一个或两个类别变量,以创建交互作用项并在回归模型中使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。