Compare Model Fit of Nested Dyadic Invariance Models
Source:R/outputInvarCompTab.R
outputInvarCompTab.Rd
outputInvarCompTab()
is used to compare the model fit of nested dyadic invariance models
in order from most parsimonious (residual) to least parsimonious (configural)
Arguments
- mods
A list of nested
lavaan
dyadic invariance models, in the order of residual, intercept, loading, configural- gtTab
A logical input indicating whether to generate the output in
gt::gt()
table object format (TRUE
). By default (FALSE
), the output is generated intibble::tibble()
format. Users can also apply thewriteTo
argument if they wish to export thegt:gt()
table object.- writeTo
A character string specifying a directory path to where the
gt::gt()
table object should be saved. If set to ".", the file will be written to the current working directory. The default isNULL
, and examples use a temporary directory created bytempdir()
.writeTo
is only relevant ifgtTab = TRUE
.- fileName
A character string specifying a desired base name for the output
gt::gt()
file. If afileName
is not provided (i.e.,fileName = NULL
), then a default will be used (i.e., "dySEM_table"). The resulting base name will automatically be appended with a.rtf
file extension.fileName
is only relevant ifgtTab = TRUE
andwriteTo
is specified.
Value
A list. More specifically, a tibble()
—if gtTab = FALSE
(default)—or gt::gt()
object—if gtTab = TRUE
—of model fit statistics for each model, as well as the difference in fit statistics between each model and the previous model
Details
If
gtTab = TRUE
andwriteTo
is specified, then output will simultaneously be saved as a.rtf
file to the user's specified directory.If output file is successfully saved, a confirmation message will be printed to the console.
If a file with the same name already exists in the user's chosen directory, it will be overwritten.
Examples
dvn <- scrapeVarCross(dat = commitmentQ, x_order = "spi",
x_stem = "sat.g", x_delim1 = ".", x_delim2="_", distinguish_1="1", distinguish_2="2")
sat.residual.script <- scriptCFA(dvn, lvname = "Sat",
constr_dy_meas = c("loadings", "intercepts", "residuals"), constr_dy_struct = "none")
sat.intercept.script <- scriptCFA(dvn, lvname = "Sat",
constr_dy_meas = c("loadings", "intercepts"), constr_dy_struct = "none")
sat.loading.script <- scriptCFA(dvn, lvname = "Sat",
constr_dy_meas = c("loadings"), constr_dy_struct = "none")
sat.config.script <- scriptCFA(dvn, lvname = "Sat",
constr_dy_meas = "none", constr_dy_struct = "none")
sat.residual.fit <- lavaan::cfa(sat.residual.script, data = commitmentQ,
std.lv = FALSE, auto.fix.first= FALSE, meanstructure = TRUE)
sat.intercept.fit <- lavaan::cfa(sat.intercept.script, data = commitmentQ,
std.lv = FALSE, auto.fix.first= FALSE, meanstructure = TRUE)
sat.loading.fit <- lavaan::cfa(sat.loading.script, data = commitmentQ,
std.lv = FALSE, auto.fix.first= FALSE, meanstructure = TRUE)
sat.config.fit <- lavaan::cfa(sat.config.script, data = commitmentQ,
std.lv = FALSE, auto.fix.first= FALSE, meanstructure = TRUE)
mods <- list(sat.residual.fit, sat.intercept.fit, sat.loading.fit, sat.config.fit)
outputInvarCompTab(mods,
gtTab = TRUE, writeTo = tempdir(), fileName = "dCFA_Invar")
#> Output stored in: /tmp/Rtmpu7vXEu/dCFA_Invar.rtf
mod
chisq
df
pvalue
aic
bic
rmsea
cfi
chisq_diff
df_diff
p_diff
aic_diff
bic_diff
rmsea_diff
cfi_diff