cfa: Confirmatory Factor Analysis In jmv: The 'jamovi' Analyses

 cfa R Documentation

Confirmatory Factor Analysis

Description

Confirmatory Factor Analysis

Usage

``````cfa(data, factors = list(list(label = "Factor 1", vars = list())),
resCov, miss = "fiml", constrain = "facVar", estTest = TRUE,
ci = FALSE, ciWidth = 95, stdEst = FALSE, factCovEst = TRUE,
factInterceptEst = FALSE, resCovEst = FALSE,
resInterceptEst = FALSE, fitMeasures = list("cfi", "tli", "rmsea"),
modelTest = TRUE, pathDiagram = FALSE, corRes = FALSE,
hlCorRes = 0.1, mi = FALSE, hlMI = 3)
``````

Arguments

 `data` the data as a data frame `factors` a list containing named lists that define the `label` of the factor and the `vars` that belong to that factor `resCov` a list of lists specifying the residual covariances that need to be estimated `miss` `'listwise'` or `'fiml'`, how to handle missing values; `'listwise'` excludes a row from all analyses if one of its entries is missing, `'fiml'` uses a full information maximum likelihood method to estimate the model. `constrain` `'facVar'` or `'facInd'`, how to contrain the model; `'facVar'` fixes the factor variances to one, `'facInd'` fixes each factor to the scale of its first indicator. `estTest` `TRUE` (default) or `FALSE`, provide 'Z' and 'p' values for the model estimates `ci` `TRUE` or `FALSE` (default), provide a confidence interval for the model estimates `ciWidth` a number between 50 and 99.9 (default: 95) specifying the confidence interval width that is used as `'ci'` `stdEst` `TRUE` or `FALSE` (default), provide a standardized estimate for the model estimates `factCovEst` `TRUE` (default) or `FALSE`, provide estimates for the factor (co)variances `factInterceptEst` `TRUE` or `FALSE` (default), provide estimates for the factor intercepts `resCovEst` `TRUE` (default) or `FALSE`, provide estimates for the residual (co)variances `resInterceptEst` `TRUE` or `FALSE` (default), provide estimates for the residual intercepts `fitMeasures` one or more of `'cfi'`, `'tli'`, `'srmr'`, `'rmsea'`, `'aic'`, or `'bic'`; use CFI, TLI, SRMR, RMSEA + 90% confidence interval, adjusted AIC, and BIC model fit measures, respectively `modelTest` `TRUE` (default) or `FALSE`, provide a chi-square test for exact fit that compares the model with the perfect fitting model `pathDiagram` `TRUE` or `FALSE` (default), provide a path diagram of the model `corRes` `TRUE` or `FALSE` (default), provide the residuals for the observed correlation matrix (i.e., the difference between the expected correlation matrix and the observed correlation matrix) `hlCorRes` a number (default: 0.1), highlight values in the `'corRes'` table above this value `mi` `TRUE` or `FALSE` (default), provide modification indices for the parameters not included in the model `hlMI` a number (default: 3), highlight values in the `'modIndices'` tables above this value

Value

A results object containing:

 `results\$factorLoadings` a table containing the factor loadings `results\$factorEst\$factorCov` a table containing factor covariances estimates `results\$factorEst\$factorIntercept` a table containing factor intercept estimates `results\$resEst\$resCov` a table containing residual covariances estimates `results\$resEst\$resIntercept` a table containing residual intercept estimates `results\$modelFit\$test` a table containing the chi-square test for exact fit `results\$modelFit\$fitMeasures` a table containing fit measures `results\$modelPerformance\$corRes` a table containing residuals for the observed correlation matrix `results\$modelPerformance\$modIndices` a group `results\$pathDiagram` an image containing the model path diagram `results\$modelSyntax` the lavaan syntax used to fit the model

Tables can be converted to data frames with `asDF` or `as.data.frame`. For example:

`results\$factorLoadings\$asDF`

`as.data.frame(results\$factorLoadings)`

Examples

``````data <- lavaan::HolzingerSwineford1939

jmv::cfa(
data = data,
factors = list(
list(label="Visual", vars=c("x1", "x2", "x3")),
list(label="Textual", vars=c("x4", "x5", "x6")),
list(label="Speed", vars=c("x7", "x8", "x9"))),
resCov = NULL)

#
#  CONFIRMATORY FACTOR ANALYSIS
#
#  -----------------------------------------------------------------
#    Factor     Indicator    Estimate    SE        Z        p
#  -----------------------------------------------------------------
#    Visual     x1              0.900    0.0832    10.81    < .001
#               x2              0.498    0.0808     6.16    < .001
#               x3              0.656    0.0776     8.46    < .001
#    Textual    x4              0.990    0.0567    17.46    < .001
#               x5              1.102    0.0626    17.60    < .001
#               x6              0.917    0.0538    17.05    < .001
#    Speed      x7              0.619    0.0743     8.34    < .001
#               x8              0.731    0.0755     9.68    < .001
#               x9              0.670    0.0775     8.64    < .001
#  -----------------------------------------------------------------
#
#
#  FACTOR ESTIMATES
#
#  Factor Covariances
#  --------------------------------------------------------------
#                          Estimate    SE        Z       p
#  --------------------------------------------------------------
#    Visual     Visual      1.000 a
#               Textual     0.459      0.0635    7.22    < .001
#               Speed       0.471      0.0862    5.46    < .001
#    Textual    Textual     1.000 a
#               Speed       0.283      0.0715    3.96    < .001
#    Speed      Speed       1.000 a
#  --------------------------------------------------------------
#    a fixed parameter
#
#
#  MODEL FIT
#
#  Test for Exact Fit
#  ------------------------
#    X²      df    p
#  ------------------------
#    85.3    24    < .001
#  ------------------------
#
#
#  Fit Measures
#  -----------------------------------------------
#    CFI      TLI      RMSEA     Lower     Upper
#  -----------------------------------------------
#    0.931    0.896    0.0921    0.0714    0.114
#  -----------------------------------------------
#

``````

jmv documentation built on Oct. 12, 2023, 5:13 p.m.