KMO: Kaiser-Meyer-Olkin criterion

View source: R/KMO.R

KMOR Documentation

Kaiser-Meyer-Olkin criterion

Description

This function computes the Kaiser-Meyer-Olkin (KMO) criterion overall and for each variable in a correlation matrix. The KMO represents the degree to which each observed variable is predicted by the other variables in the dataset and with this indicates the suitability for factor analysis.

Usage

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

Arguments

x

data.frame or matrix. Dataframe or matrix of raw data or matrix with correlations.

use

character. Passed to stats::cor if raw data is given as input. Default is "pairwise.complete.obs".

cor_method

character. Passed to stats::cor. Default is "pearson".

Details

Kaiser (1970) proposed this index, originally called measure of sampling adequacy (MSA), that indicates how near the inverted correlation matrix R^{-1} is to a diagonal matrix S to determine a given correlation matrix's (R) suitability for factor analysis. The index is

KMO = \frac{∑\limits_{i<j}∑ r_{ij}^2}{∑\limits_{i<j}∑ r_{ij}^2 + ∑\limits_{i<j}∑ q_{ij}^2}

with Q = SR^{-1}S and S = (diag R^{-1})^{-1/2} where ∑\limits_{i<j}∑ r_{ij}^2 is the sum of squares of the upper off-diagonal elements of R and ∑\limits_{i<j}∑ q_{ij}^2 is the sum of squares of the upper off-diagonal elements of Q (see also Cureton & D'Augustino, 1983).

So KMO varies between 0 and 1, with larger values indicating higher suitability for factor analysis. Kaiser and Rice (1974) suggest that KMO should at least exceed .50 for a correlation matrix to be suitable for factor analysis.

This function was heavily influenced by the psych::KMO function.

See also BARTLETT for another test of suitability for factor analysis.

The KMO function can also be called together with the BARTLETT function and with factor retention criteria in the N_FACTORS function.

Value

A list containing

KMO

Overall KMO.

KMO_i

KMO for each variable.

settings

A list of the settings used.

Source

Kaiser, H. F. (1970). A second generation little jiffy. Psychometrika, 35, 401-415.

Kaiser, H. F. & Rice, J. (1974). Little jiffy, mark IV. Educational and Psychological Measurement, 34, 111-117.

Cureton, E. E. & D'Augustino, R. B. (1983). Factor analysis: An applied approach. Hillsdale, N.J.: Lawrence Erlbaum Associates, Inc.

See Also

BARTLETT for another measure to determine suitability for factor analysis.

N_FACTORS as a wrapper function for this function, BARTLETT and several factor retention criteria.

Examples

KMO(test_models$baseline$cormat)

EFAtools documentation built on Jan. 6, 2023, 5:16 p.m.