Skip to contents

Declares a latent construct within the piecewise SEM framework. Supports MIMIC (Multiple Indicators, Multiple Causes), reflective (latent factor with multiple indicators), and formative (composite) constructs.

Usage

drm_latent(
  name,
  indicators,
  causes = NULL,
  type = c("mimic", "reflective", "formative"),
  identification = c("marker", "unit_variance"),
  marker = NULL,
  method = c("pca", "fa", "fixed"),
  weights = NULL,
  data = NULL,
  standardize = FALSE
)

Arguments

name

Name of the latent construct column to create.

indicators

Character vector of indicator column names (length >= 2), or a list of drm_indicator() declarations.

causes

Optional character vector of structural cause variables for MIMIC constructs.

type

Type of construct: "mimic" (default; causes -> latent -> indicators), "reflective" (latent -> indicators), or "formative" (indicators -> construct).

identification

Identification constraint: "marker" (unit loading on marker indicator, \(\lambda_{\text{marker}} = 1\)) or "unit_variance" (\(\text{Var}(\eta) = 1\)). Defaults to "marker".

marker

Optional name of the marker indicator for "marker" identification (defaults to the indicator with marker = TRUE or the first indicator).

method

Measurement estimation method: "pca" (first principal component / factor score), "fa" (1-factor analysis), or "fixed" (user weights).

weights

Optional numeric weights for method = "fixed".

data

Optional data frame containing indicator and cause columns. If provided, measurement structure and loadings are estimated immediately.

standardize

Logical. If TRUE, materialized latent score is standardized (mean 0, sd 1). Default FALSE.

Value

A drm_latent declaration object (inheriting from drm_composite).

Details

In piecewise SEM, measurement equations and structural causes are estimated piece-by-piece with sign-alignment and marker/unit-variance identification. Latent scores are materialized into data before fitting, allowing structural nodes to use the latent construct as an ordinary predictor or response in any drm_node() formula. Indicator loadings are reported by loadings() and kept strictly separate from structural paths().

References

Jöreskog KG, Goldberger AS (1975). “Estimation of a Model with Multiple Causes and Multiple Indicators of a Single Latent Variable.” Journal of the American Statistical Association, 70(351), 631–639. doi:10.1080/01621459.1975.10482485 .

Bollen KA (1989). Structural Equations with Latent Variables. Wiley, New York.

Raykov T (1997). “Estimation of Composite Reliability for Congeneric Measures.” Applied Psychological Measurement, 21(2), 173–184. doi:10.1177/01466216970212006 .

Grace JB, Bollen KA (2008). “Representing General Theoretical Concepts in Structural Equation Models: The Role of Composite Variables.” Environmental and Ecological Statistics, 15(2), 191–213. doi:10.1007/s10651-007-0047-7 .

Examples

dat <- data.frame(
  x1 = rnorm(50), x2 = rnorm(50),
  y1 = rnorm(50), y2 = rnorm(50), y3 = rnorm(50)
)
# MIMIC construct with marker identification:
lat <- drm_latent("size", indicators = c("y1", "y2", "y3"), causes = c("x1", "x2"), data = dat)
print(lat)
#> <latent construct: mimic> size (identification: marker) = y1, y2, y3
#> structural causes: x1, x2
#> composite reliability (Raykov's rho): 0.001
#> Cronbach's alpha: -0.24