cSEM (version 0.1.0)

calculateIndicatorCor: Internal: Calculate indicator correlation matrix

Description

Calculate the indicator correlation matrix using conventional or robust methods.

Usage

calculateIndicatorCor(
  .X_cleaned           = NULL, 
  .approach_cor_robust = "none"
 )

Arguments

.X_cleaned

A data.frame of processed data (cleaned and ordered). Note: X_cleaned may not be scaled!

.approach_cor_robust

Character string. Approach used to obtain a robust indicator correlation matrix. One of: "none" in which case the standard Bravais-Person correlation is used, "spearman" for the Spearman rank correlation, or "mcd" via MASS::cov.rob() for a robust correlation matrix. Defaults to "none". Note that many postestimation procedures (such as testOMF() or fit() implicitly assume a continuous indicator correlation matrix (e.g. Bravais-Pearson correlation matrix). Only use if you know what you are doing.

Value

A list with elements:

$S

The (K x K) indicator correlation matrix

$cor_type

The type(s) of indicator correlation computed ( "Pearson", "Polyserial", "Polychoric")

$thre_est

Currently ignored (NULL)

Details

If .approach_cor_robust = "none" (the default) the type of correlation computed depends on the types of the columns of .X_cleaned (i.e., the indicators) involved in the computation.

Numeric-numeric

If both columns (indicators) involved are numeric, the Bravais-Pearson product-moment correlation is computed (via stats::cor()).

Numeric-factor

If any of the columns is a factor variable, the polyserial correlation Drasgow1988cSEM is computed (via polycor::hetcor()).

Factor-factor

If both columns are factor variables, the polychoric correlation Drasgow1988cSEM is computed (via polycor::hetcor()).

Note: logical input is treated as a 0-1 factor variable.

If "mcd" (= minimum covariance determinant), the MCD estimator Rousseeuw1999cSEM, a robust covariance estimator, is applied (via MASS::cov.rob()).

If "spearman", the Spearman rank correlation is used (via stats::cor()).

References