Learn R Programming

semTools (version 0.5-3)

chisqSmallN: Small-N correction for \(chi^2\) test statistic

Description

Calculate small-N corrections for \(chi^2\) model-fit test statistic to adjust for small sample size (relative to model size).

Usage

chisqSmallN(fit0, fit1 = NULL, smallN.method = if (is.null(fit1))
  c("swain", "yuan.2015") else "yuan.2005", ..., omit.imps = c("no.conv",
  "no.se"))

Arguments

fit0, fit1

'>lavaan object(s) provided after running the cfa, sem, growth, or lavaan functions. '>lavaan.mi object(s) also accepted.

smallN.method

character indicating the small-N correction method to use. Multiple may be chosen (all of which assume normality), as described in Shi et al. (2018): c("swain","yuan.2015","yuan.2005","bartlett"). Users may also simply select "all".

Additional arguments to the lavTestLRT or lavTestLRT.mi functions. Ignored when is.null(fit1).

omit.imps

character vector specifying criteria for omitting imputations from pooled results. Ignored unless fit0 (and optionally fit1) is a '>lavaan.mi object. See lavTestLRT.mi for a description of options and defaults.

Value

A list of numeric vectors: one for the originally requested statistic(s), along with one per requested smallN.method. All include the the (un)adjusted test statistic, its df, and the p value for the test under the null hypothesis that the model fits perfectly (or that the 2 models have equivalent fit). The adjusted chi-squared statistic(s) also include(s) the scaling factor for the small-N adjustment.

Details

Four finite-sample adjustments to the chi-squared statistic are currently available, all of which are described in Shi et al. (2018). These all assume normally distributed data, and may not work well with severely nonnormal data. Deng et al. (2018, section 4) review proposed small-N adjustments that do not assume normality, which rarely show promise, so they are not implemented here. This function currently will apply small-N adjustments to scaled test statistics with a warning that they do not perform well (Deng et al., 2018).

References

Deng, L., Yang, M., & Marcoulides, K. M. (2018). Structural equation modeling with many variables: A systematic review of issues and developments. Frontiers in Psychology, 9, 580. doi:10.3389/fpsyg.2018.00580

Shi, D., Lee, T., & Terry, R. A. (2018). Revisiting the model size effect in structural equation modeling. Structural Equation Modeling, 25(1), 21--40. doi:10.1080/10705511.2017.1369088

Examples

Run this code
# NOT RUN {
HS.model <- '
    visual  =~ x1 + b1*x2 + x3
    textual =~ x4 + b2*x5 + x6
    speed   =~ x7 + b3*x8 + x9
'
fit1 <- cfa(HS.model, data = HolzingerSwineford1939[1:50,])
## test a single model (implicitly compared to a saturated model)
chisqSmallN(fit1)

## fit a more constrained model
fit0 <- cfa(HS.model, data = HolzingerSwineford1939[1:50,],
            orthogonal = TRUE)
## compare 2 models
chisqSmallN(fit1, fit0)

# }

Run the code above in your browser using DataLab