I am trying to supply a lavaan.mi object (a SEM modelling multiple-imputed data using runMI()
from semTools 0.5-2.) to semPaths()
(semPlot 1.1.2). Doing so returns the error:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘semPlotModel_S4’ for signature ‘"lavaan.mi"’
This is flagged as an 'issue' on GitHub, but I'd be grateful for a suggested workaround. Here is an example:
# Libraries
library(mice)
library(semTools)
library(lavaan)
library(semPlot)
# Create DF
HSMiss <- HolzingerSwineford1939[,paste("x", 1:9, sep="")]
randomMiss <- rbinom(prod(dim(HSMiss)), 1, 0.1)
randomMiss <- matrix(as.logical(randomMiss), nrow=nrow(HSMiss))
HSMiss[randomMiss] <- NA
# Specify model
HS.model <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9 '
# Fit the model
model_fit <- runMI(HS.model,
data=HSMiss,
m = 5,
miPackage="mice",
fun="sem")
# Attempt to create SEM plot
semPaths(model_fit)