Learn R Programming

semTools (version 0.5-1)

chisqSmallN: k-factor correction for \(chi^2\) test statistic

Description

Calculate k-factor correction for \(chi^2\) model-fit test statistic to adjust for small sample size.

Usage

chisqSmallN(fit0, fit1 = NULL, ...)

Arguments

fit0

The lavaan model object provided after running the cfa, sem, growth, or lavaan functions.

fit1

Optional additional '>lavaan model, in which fit0 is nested. If fit0 has fewer df than fit1, the models will be swapped, still on the assumption that they are nested.

Additional arguments to the lavTestLRT function.

Value

A numeric vector including the unadjusted (naive) chi-squared test statistic, the k-factor correction, the corrected test statistic, the df for the test, and the p value for the test under the null hypothesis that the model fits perfectly (or that the 2 models have equivalent fit).

Details

The k-factor correction (Nevitt & Hancock, 2004) is a global fit index which can be computed by:

$$ kc = 1 - \frac{2 \times P + 4 \times K + 5}{6 \times N}$$

where \(N\) is the sample size when using normal likelihood, or \(N - 1\) when using likelihood = 'wishart'.

References

Nevitt, J., & Hancock, G. R. (2004). Evaluating small sample approaches for model test statistics in structural equation modeling. Multivariate Behavioral Research, 39(3), 439--478. doi:10.1207/S15327906MBR3903_3

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)
## test a single model (implicitly compared to a saturated model)
chisqSmallN(fit1)

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

# }

Run the code above in your browser using DataLab