fit_many {modelbpp}R Documentation

Fit a List of Models

Description

Fit a list of models to a dataset.

Usage

fit_many(
  model_list,
  sem_out,
  original = NULL,
  parallel = FALSE,
  ncores = max(parallel::detectCores(logical = FALSE) - 1, 1),
  make_cluster_args = list(),
  progress = TRUE,
  verbose = TRUE
)

Arguments

model_list

A list of parameter tables to be used by lavaan::lavaan() or update(). Usually generated by get_add() or get_drop().

sem_out

The output from an structural equation modeling function. It currently supports lavaan::lavaan objects only. Usually the one used in model_set(), get_add() or get_drop() to generate the list of models.

original

String. If provided, it should be a name of a model in model_list, with which differences in model degrees of freedom will be computed for other models. If NULL, the default, then the model in sem_out will be used to computed the differences in model degrees of freedom. If NA, then differences in model df will not be computed.

parallel

If TRUE, parallel processing will be used to fit the models. Default is FALSE.

ncores

Numeric. The number of CPU cores to be used if parallel is TRUE.

make_cluster_args

A list of named arguments to be passed to parallel::makeCluster(). Used by advanced users to configure the cluster if parallel is TRUE. Default is list().

progress

Whether a progress bar will be displayed, implemented by the pbapply package. Default is TRUE.

verbose

Whether additional messages will be displayed, such as the expected processing time. Default is TRUE.

Details

It receives a list of models, defined by lavaan parameter tables (usually generated by model_set(), get_add() or get_drop()), and fit them to a dataset stored in a lavaan-class object.

This function is called by model_set() and usually users do not need to call it. It is exported for advanced users.

Value

An object of the class sem_outs, a list with the following major elements:

Author(s)

Shu Fai Cheung https://orcid.org/0000-0002-9871-9448

Examples


library(lavaan)
dat <- dat_path_model
mod <-
"
x3 ~ a*x1 + b*x2
x4 ~ a*x1
ab := a*b
"
fit <- sem(mod, dat_path_model, fixed.x = TRUE)
mod_to_add <- get_add(fit)
fit_many(mod_to_add, fit)


[Package modelbpp version 0.1.3 Index]