This function provides simultaneous and level-specific model fit information using the partially saturated model method for multilevel models estimated with the lavaan package. Note that level-specific fit indices cannot be computed when the fitted model contains cross-level constraints, e.g., equal factor loadings across levels in line with the metric cross-level measurement invariance assumption.
multilevel.fit(model, print = c("all", "summary", "fit"), digits = 3, p.digits = 3,
write = NULL, append = TRUE, check = TRUE, output = TRUE)
Returns an object of class misty.object
, which is a list with following
entries:
call
function call
type
type of analysis
model
a fitted model of class "lavaan"
args
specification of function arguments
model
specified models, i.e., mod.l1
for the model at the
Within level, mod.l1.syntax
for the lavaan syntax
for the model at the Between level, mod.l2
for the
model at the Within level, mod.l2.syntax
for the
lavaan syntax for the model at the Between level,
mod.l12
for the model at the Within and Between
level, mod.l12.syntax
for the lavaan syntax for
the model at the Within and Between level, l1.mod.base
for the baseline model at the Within level saturated at
the Between level, l1.mod.hypo
for the hypothesized
model at the Within level saturated at the Between level,
l2.mod.base
for the baseline model at the Between
level saturated at the Within level, l2.mod.hypo
for the hypothesized model at the Between level saturated
at the Within level
result
list with result tables, i.e., summary
for the
summary of the specification of the estimation method
and missing data handling in lavaan and fit
for
the model fit information.
a fitted model of class "lavaan"
from the lavaan
package.
a character string or character vector indicating which results
to show on the console, i.e. "all"
for all results,
"summary"
for a summary of the specification of the
estimation method and missing data handling in lavaan and
"fit"
for model fit.
an integer value indicating the number of decimal places
to be used for displaying results. Note that loglikelihood,
information criteria and chi-square test statistic is
printed with digits
minus 1 decimal places.
an integer value indicating the number of decimal places to be used for displaying the p-value.
a character string naming a file for writing the output into
either a text file with file extension ".txt"
(e.g.,
"Output.txt"
) or Excel file with file extension
".xlsx"
(e.g., "Output.xlsx"
). If the file
name does not contain any file extension, an Excel file will
be written.
logical: if TRUE
(default), output will be appended
to an existing text file with extension .txt
specified
in write
, if FALSE
existing text file will be
overwritten.
logical: if TRUE
(default), argument specification is checked.
logical: if TRUE
(default), output is shown.
Takuya Yanagida takuya.yanagida@univie.ac.at
Rosseel, Y. (2012). lavaan: An R Package for Structural Equation Modeling. Journal of Statistical Software, 48, 1-36. https://doi.org/10.18637/jss.v048.i02
multilevel.cfa
, multilevel.invar
,
multilevel.omega
, multilevel.cor
,
multilevel.descript
if (FALSE) {
# Load data set "Demo.twolevel" in the lavaan package
data("Demo.twolevel", package = "lavaan")
# Model specification
model <- 'level: 1
fw =~ y1 + y2 + y3
fw ~ x1 + x2 + x3
level: 2
fb =~ y1 + y2 + y3
fb ~ w1 + w2'
#-------------------------------------------------------------------------------
# Example 1: Model estimation with estimator = "ML"
fit1 <- lavaan::sem(model = model, data = Demo.twolevel, cluster = "cluster",
estimator = "ML")
# Simultaneous and level-specific multilevel model fit information
ls.fit1 <- multilevel.fit(fit1)
# Write results into a text file
multilevel.fit(fit1, write = "LS-Fit1.txt")
# Write results into an Excel file
write.result(ls.fit1, "LS-Fit1.xlsx")
# Example 2: Model estimation with estimator = "MLR"
fit2 <- lavaan::sem(model = model, data = Demo.twolevel, cluster = "cluster",
estimator = "MLR")
# Simultaneous and level-specific multilevel model fit information
# Write results into an Excel file
multilevel.fit(fit2, write = "LS-Fit2.xlsx")
}
Run the code above in your browser using DataLab