if (FALSE) {
# Load data set "Demo.twolevel" in the lavaan package
data("Demo.twolevel", package = "lavaan")
#---------------------------
# Cluster variable specification
# Cluster variable 'cluster' in 'x'
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4", "cluster")],
cluster = "cluster")
# Cluster variable 'cluster' not in 'x'
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster)
#---------------------------
# Model specification using 'x' for a one-factor model
#..........
# Level of measurement invariance
# Configural invariance
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, invar = "config")
# Metric invariance
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, invar = "metric")
# Scalar invariance
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, invar = "scalar")
#..........
# Residual covariance at the Within level and residual variance at the Between level
# Residual covariance between "y3" and "y4" at the Within level
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, rescov = c("y3", "y4"))
# Residual variances of 'y1' at the Between level fixed at 0
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, fix.resid = "y1")
#..........
# Print all results
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, print = "all")
#..........
# lavaan model and summary of the estimated model
mod <- multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, output = FALSE)
# lavaan syntax of the metric invariance model
mod$model$metric
# Fitted lavaan object of the metric invariance model
lavaan::summary(mod$model.fit$metric, standardized = TRUE, fit.measures = TRUE)
#..........
# Write results
# Assign results into an object and write results into an Excel file
mod <- multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, print = "all",
output = FALSE)
# Write results into an Excel file
write.result(mod, "Multilevel_Invariance.xlsx")
# Estimate models and write results into an Excel file
multilevel.invar(Demo.twolevel[,c("y1", "y2", "y3", "y4")],
cluster = Demo.twolevel$cluster, print = "all",
write = "Multilevel_Invariance.xlsx")
#---------------------------
# Model specification using 'model' for one or multiple factor model
# One-factor model
multilevel.invar(Demo.twolevel, cluster = "cluster", model = c("y1", "y2", "y3", "y4"))
# Two-factor model
multilevel.invar(Demo.twolevel, cluster = "cluster",
model = list(c("y1", "y2", "y3"), c("y4", "y5", "y6")))
}
Run the code above in your browser using DataLab