Lavaan:路径分析包含有序的分类(包括二进制)变量,并且缺少内生变量的数据

时间:2019-11-22 14:54:25

标签: missing-data categorical-data r-lavaan

我遇到一个内生变量和二进制/有序内生变量的数据丢失的情况。 下面的模型1代表它,并且可以完美运行。 但是,按照其编写方式,它假设我的变量是连续的(并且它们实际上都是有序/二进制的),并且不包括间接影响的计算。 当我尝试对其进行调整(如模型2中所示)以考虑这两件事时,它表示估算器FIML不能与分类数据一起使用(因此,它排除了所有缺少数据的行)。此外,结果输出甚至不包括标准偏差。 谁能帮我弄清楚该如何建模? 预先感谢

# Model 1
model1 <-'Importance~Seats+PriceRange
Measurement~Importance
Prekitchen~Importance+Measurement
Kitchen~Importance+Measurement
Postkitchen~Importance+Measurement
# Means are mentioned below so that all the information is used, bypassing listwise deletion
Seats~1
Price Range~1'
fit <- lavaan(model1, data=Mediate, missing="fiml")
summary(fit, fit.measures=TRUE)
semPaths(fit)

# Model2
model2 <- 'Importance~Seats+PriceRange
# Including the paths to calculate the indirect effects
Measurement~a*Importance
Prekitchen~b*Measurement
Prekitchen~c*Importance
Kitchen~d*Measurement
Kitchen~e*Importance
Postkitchen~f*Measurement
Postkitchen~g*Importance
# Indirect effects exerted by Importance
ab:=a*b
total:=c+(a*b)
ad:=a*d
total:=e+(a*d)
af:=a*f
total:=g+(a*f)
Seats~1
Price Range~1'
# Including the variable type "Ordered" for all the categorical variables.
fit2 <- sem(model2, data=Mediate, missing="fiml", ordered=c("Importance", "Measurement", "Prekitchen", "Kitchen", "Postkitchen"))
summary(fit2, fit.measures=TRUE)
semPaths(fit2)

P.S:我已经使用过M-plus,但是问题在于对于这种模型,没有拟合优度指标。

1 个答案:

答案 0 :(得分:0)

在计算模型之前,您是否尝试过进行插补?我认为这将为您节省代码中的FIML块。

我通常使用MICE软件包来做到这一点:

install.packages("mice")

library(mice)

md.pattern(data)

如果您想仔细看一看,请参阅以下有用的论文:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3074241/

此外,尝试使用函数sem代替lavaan并包括参数ordered,以表明您的数据是分类的。

e。 g。:fit.1 <- sem(cat.1, data=data, std.lv=TRUE, ordered=names[1:n])