Kaiser (1970) introduced a Measure of Sampling Adequacy (MSA), later modified by Kaiser and Rice (1974). The Kaiser-Meyer-Olkin (KMO) statistic, which can vary from 0 to 1, indicates the degree to which each variable in a set is predicted without error by the other variables.

check_kmo(x, ...)



A dataframe.


Arguments passed to or from other methods.


A list of indices related to KMO.


A value of 0 indicates that the sum of partial correlations is large relative to the sum correlations, indicating factor analysis is likely to be inappropriate. A KMO value close to 1 indicates that the sum of partial correlations is not large relative to the sum of correlations and so factor analysis should yield distinct and reliable factors.

Kaiser (1975) suggested that KMO > .9 were marvelous, in the .80s, meritorious, in the .70s, middling, in the .60s, mediocre, in the .50s, miserable, and less than .5, unacceptable. Hair et al. (2006) suggest accepting a value > 0.5. Values between 0.5 and 0.7 are mediocre, and values between 0.7 and 0.8 are good.

This function is strongly inspired by the KMO function in the psych package (Revelle, 2016). All credit goes to its author.


  • Revelle, W. (2016). How To: Use the psych package for Factor Analysis and data reduction.

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

  • Kaiser, H. F., & Rice, J. (1974). Little jiffy, mark IV. Educational and psychological measurement, 34(1), 111-117.

  • Kaiser, H. F. (1974). An index of factorial simplicity. Psychometrika, 39(1), 31-36.


#> # KMO Measure of Sampling Adequacy
#> The Kaiser, Meyer, Olkin (KMO) measure of sampling adequacy suggests that data seems appropriate for factor analysis (KMO = 0.83).