Learn R Programming

EFAtools (version 0.8.0)

MAP: Velicer's Minimum Average Partial (MAP) Criterion

Description

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).

Usage

MAP(
  x,
  use = c("pairwise.complete.obs", "all.obs", "complete.obs", "everything",
    "na.or.complete"),
  cor_method = c("pearson", "spearman", "kendall", "poly", "tetra")
)

Value

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.

Arguments

x

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.

use

Character string specifying the treatment of missing values when computing correlations. Passed to stats::cor(). Defaults to "pairwise.complete.obs".

cor_method

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".

Details

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().

See Also

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()

Examples

Run this code
## 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