Computes Velicer's Minimum Average Partial (MAP) criterion for determining the number of factors/components to retain. The function implements the original MAP criterion (Velicer, 1976), expressed via the \(\mathrm{TR2}\) representation, and the revised \(\mathrm{TR4}\) variant proposed by Velicer, Eaton, and Fava (2000).
MAP(
x,
use = c("pairwise.complete.obs", "all.obs", "complete.obs", "everything",
"na.or.complete"),
cor_method = c("pearson", "spearman", "kendall", "poly", "tetra")
)An object of class efa_retention (see print.efa_retention() for the
print method) with the following main elements:
n_factors: A named numeric vector ("TR2", "TR4") with the index
\(m\) that minimizes the original (TR2) and revised (TR4) MAP criterion.
results: A list with one record per criterion, each holding the
criterion values over \(m\).
settings: A list containing use and cor_method.
A numeric matrix or data.frame. Can be either (a) a correlation matrix, or
(b) raw data (rows = observations, columns = variables) from which correlations are computed.
Character string specifying the treatment of missing values when computing correlations.
Passed to stats::cor(). Defaults to "pairwise.complete.obs".
Character string specifying the correlation coefficient to be computed if raw
data are supplied. One of "pearson", "spearman", or "kendall" (passed to
stats::cor()), or "poly" / "tetra" for polychoric / tetrachoric correlations
of ordinal / binary data (a two-step estimator with no empty-cell continuity
correction). Defaults to "pearson".
MAP partials successive principal components out of the correlation matrix and, after removing \(m\) components, summarizes the off-diagonal partial correlations \(r^*_{ij}\) that remain; the suggested number of factors is the \(m\) that minimizes the criterion. Two criteria are returned:
TR2 (original MAP; Velicer, 1976): $$\mathrm{MAP}_m = \frac{\sum_{i \neq j} (r^*_{ij})^2}{p(p-1)},$$ the mean squared off-diagonal partial correlation.
TR4 (revised MAP; Velicer, Eaton, & Fava, 2000): $$\mathrm{MAP4}_m = \frac{\sum_{i \neq j} (r^*_{ij})^4}{p(p-1)},$$ the mean fourth-power off-diagonal partial correlation, which downweights small partial correlations.
A non-positive-definite input correlation matrix (e.g. from sampling error) is
smoothed with psych::cor.smooth().
N_FACTORS() as a wrapper function for this and the other factor
retention criteria.
Other factor retention criteria:
CD(),
EKC(),
HULL(),
KGC(),
NEST(),
PARALLEL(),
SCREE(),
SMT()
## Example with raw data
res <- MAP(GRiPS_raw)
res
## Example with a correlation matrix
res2 <- MAP(test_models$baseline$cormat)
res2
Run the code above in your browser using DataLab