Skip to contents

Create a surveyframe model specification

Usage

sf_model(
  id,
  label = NULL,
  type = c("efa", "cfa", "cb_sem", "pls_sem"),
  engine = NULL,
  constructs = list(),
  paths = list(),
  covariances = list(),
  indirect = list(),
  options = list()
)

Arguments

id

Model identifier.

label

Human-readable model label.

type

Model type. One of "efa", "cfa", "cb_sem", or "pls_sem".

engine

Optional engine name. Defaults to "lavaan" for CFA/CB-SEM and "seminr" for PLS-SEM.

constructs

List of sf_construct() objects.

paths

List of sf_path() objects.

covariances

List of sf_covariance() objects.

indirect

List of sf_indirect() objects.

options

List of model options, such as estimator, missing, bootstrap, or standardised.

Value

An object of class sf_model.

Examples

m <- sf_model(
  "cb1", "Quality drives intention", type = "cb_sem",
  constructs = list(
    sf_construct("sq", "Service Quality", items = c("sq_1", "sq_2", "sq_3")),
    sf_construct("sat", "Satisfaction", items = c("sat_1", "sat_2")),
    sf_construct("bi", "Behavioural Intention", items = c("bi_1", "bi_2"))
  ),
  paths = list(sf_path("sq", "sat"), sf_path("sat", "bi")),
  indirect = list(sf_indirect("sq", through = "sat", to = "bi"))
)
m$type
#> [1] "cb_sem"
m$engine
#> [1] "lavaan"