r - 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, fit.measures=TRUE, standardized=TRUE, ci=TRUE, 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
据我所知,之所以如此,是因为两个分类变量之间的交互作用与原始变量非常相似,但我不确定如何解决这个问题。有没有人有解决问题的建议?
供您参考,我已经尝试对一个或两个分类变量使用非居中版本来创建交互项和回归模型。
解决方案
推荐阅读
- c++ - C ++中的安全交叉编译器ABI?
- arrays - mongodb查询搜索后从字段中提取值
- webhooks - Microsoft Logic App 中的 Webhook 触发器不会触发
- java - 片段中的 java.util.ConcurrentModificationException
- linux - Ansible 禁用 repo 未按预期运行
- asp.net - Angular HttpClient 在真实设备中不起作用
- c++ - libharu 中的 utf8:嵌入字体真的有必要吗?
- javascript - Firestore:按文档数组中的地图查询
- amazon-web-services - 通过 terraform 将 RDS Postgres 读取副本作为多可用区
- python - 创建现有数据框的以下数据框