outputUniConstructComp: A Function That Fits and Compares Competing Dyadic...

View source: R/outputUniConstructComp.R

outputUniConstructCompR Documentation

A Function That Fits and Compares Competing Dyadic Uni-construct Models

Description

This function takes the outputted object from scrapeVarCross() along with the corresponding dataset and automatically tests competing uni-construct dyadic models for the latent variable under consideration. It inspects four possible model variants:

  • Bifactor (scripted via dySEM::scriptBifac)

  • Hierarchical (scripted via dySEM::scriptHier)

  • Correlated Factors (scripted via dySEM::scriptCor)

  • Unidimensional (scripted via dySEM::scriptUni)

Usage

outputUniConstructComp(
  dvn,
  dat,
  indexes = c("df", "chisq", "cfi", "rmsea", "bic", "GenTEFI"),
  ...,
  gtTab = FALSE,
  writeTo = NULL,
  fileName = NULL
)

Arguments

dvn

Input dvn list from scrapeVarCross().

dat

Input data frame containing the dataset for model estimation.

indexes

Input character vector specifying which index(es) to return. Default is c("df", "chisq", "cfi", "rmsea", "bic", "GenTEFI"). Note:

  • Valid entries include "GenTEFI"—the Generalized Total Entropy Fit Index (see Golino et al., 2024)—and those from lavaan::fitMeasures().

  • If "chisq" is entered, chi-squared difference tests are automatically performed via lavaan::lavTestLRT(), and the resulting p-values are added to the output.

...

Additional arguments to be passed to lavaan::cfa(), allowing users to customize model estimation settings. By default, the models are fit with maximum-likelihood estimation (estimator = "ml") and missing data are handled via listwise deletion (missing = "listwise"), as per lavaan::cfa()'s default behaviour.

gtTab

A logical input indicating whether to generate the requested index(es) for each fitted model (requested via the indexes argument) in gt::gt() table object format (TRUE). Users can also apply the writeTo argument if they wish to export the gt::gt() table object.

writeTo

A character vector 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 is NULL, and examples use a temporary directory created by tempdir(). writeTo is only relevant if gtTab = TRUE.

fileName

A character string specifying a desired base name for the output gt::gt() file. The resulting base name will automatically be appended with a .rtf file extension. fileName is only relevant if gtTab = TRUE and writeTo is specified.

Details

  • If "chisq" is included in indexes, the specific form of the applied chi-squared difference test (e.g., standard vs. robust) is determined automatically by lavaan::lavTestLRT(), based on the model estimation method used.

  • If gtTab = TRUE and writeTo 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.

Value

A list containing up to two components:

  • Indexes: A tibble::tibble() if gtTab = FALSE (default), or gt::gt() object if gtTab = TRUE, with the desired index(es) for each fitted model (requested via the indexes argument).

  • GenTEFI: A tibble::tibble() of the GenTEFI (if "GenTEFI" is included in the indexes argument).

Examples

dvn <- scrapeVarCross(
  commitmentQ,
  x_order = "spi",
  x_stem = "sat.g",
  x_delim1 = ".",
  x_delim2="_",
  distinguish_1="1",
  distinguish_2="2"
  )
  
  outputUniConstructComp(
  dvn,
  commitmentQ,
  missing = "fiml"
  )
  
  outputUniConstructComp(
  dvn,
  commitmentQ,
  indexes = c("df", "bic"),
  missing = "fiml"
  )
  
  outputUniConstructComp(
  dvn,
  commitmentQ,
  indexes = c("df", "bic"),
  estimator = "ml",
  missing = "fiml"
  )
  
  outputUniConstructComp(
  dvn,
  commitmentQ,
  indexes = c("df", "bic"),
  missing = "fiml",
  gtTab = TRUE,
  writeTo = tempdir(),
  fileName = "uni-construct-dyad-models"
  )


jsakaluk/dySEM documentation built on June 11, 2025, 2:16 p.m.