Start Using the neg.rmsea() Function

From the negligible R package


Introduction

What is the purpose/goal of neg.rmsea()?

The function neg.srmr performs various equivalence tests for the RMSEA fit index.

What is the theory behind neg.rmsea()?

The function will compare upper bound of the confidence interval (pertaining to the RMSEA fit index) to upper bound of an equivalence interval (also known as an equivalence bound).

For more information on the theory behind these tests and choices of equivalence bounds see:

Beribisky, N., & Cribbie, R. A. (2023). Evaluating the performance of existing and novel equivalence tests for fit indices in structural equation modelling. British Journal of Mathematical and Statistical Psychology. 77(1), 103-129. https://doi.org/10.1111/bmsp.12317

MacCallum, R. C., Browne, M. W., & Sugawara, H. M. (1996). Power analysis and determination of sample size for covariance structure modeling. Psychological Methods, 1(2), 130–149. https://doi.org/10.1037/1082-989X.1.2.130

Yuan, K. H., Chan, W., Marcoulides, G. A., & Bentler, P. M. (2016). Assessing structural equation models by equivalence testing with adjusted fit indexes. Structural Equation Modeling: A Multidisciplinary Journal, 23(3), 319-330. https://doi.org/10.1080/10705511.2015.1065414

Null and Alternate Hypotheses of the Procedure

\(H_{0}: RMSEA_{pop} \ge MMES\)

\(H_{1}: RMSEA_{pop} < MMES\)

Note that the MMES is the minimally meaningful effect size, as approximated by the equivalence bound.

Using neg.rmsea()

Now let’s use the function. By default, doing so requires a fitted model object from lavaan.

Required arguments (no default)

mod: the fitted model object

eiU: upper bound of equivalence interval for RMSEA for comparison; note that this value must be one of 01, .05, .08, or .10 if modif.eq.bound = TRUE

Optional arguments (has a default)

alpha: the optional argument for the alpha level (default is .05)

round: the optional argument for the number of digits to round equivalence bound and confidence interval bounds (default is 3)

modif.eq.bound: should the upper bound of the equivalence interval for RMSEA be modified? (default is FALSE)

ci.method: method used to calculate confidence interval for RMSEA; options are “not.close” or “yhy.boot”; “not.close” corresponds to (1-2alpha) percent CI, “yhy.boot” corresponds to (1-2alpha) percent boot CI (default is “not.close”)

nboot: number of bootstrap samples if “yhy.boot” is selected as srmr.ci.method (default is 250L)

nbootpd: number of bootstrap samples by “yhy.boot” for pd function

plot: logical argument indicating whether the results should be plotted (default is TRUE)

saveplot: whether the plot should be saved (default is FALSE)

Examples

Example 1

First we need to create a model object using lavaan. Let’s use the Holzinger and Swineford dataset that is part of the lavaan package.

library(negligible)
library(lavaan)

d <- lavaan::HolzingerSwineford1939
hs.mod <- 'visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9'
fit1 <- lavaan::cfa(hs.mod, data = d)

Now we can use the function. Let’s say that we just go with the defaults first.

neg.rmsea(mod = fit1, eq.bound = .05)
---- EBF-RMSEA: Equivalence Based Fit Test for RMSEA; the Not-Close Fit Test for RMSEA by MacCallum et al. (1996) ----

RMSEA index: 0.09212148 
*************************************
Confidence Interval Method Selected: not.close 
Upper end of 90% CI for RMSEA: 0.114
*************************************
Modified Equivalence Bound: no 
Equivalence Bound: 0.05 
*************************************
Test Decision (comparing confidence interval to equivalence bound):
 FAIL TO REJECT HO: We fail to find evidence to reject the hypothesis of not-close fit. 
**********************

*** Proportional Distance: The proportional distance from the effect of interest to the equivalence interval of the same sign *** 

Proportional Distance (PD): 1.84243 
95% CI for PD: (1.400672, 2.223821)
**********************

Example 2

We can also use modified equivalence bounds. For instance, if we wanted to modify according to the adapted cutoff formula provided by Yuan et al. (2016), we can change the input to the modif.eq.bound argument. Note that we can only do this because our equivalence bound is .05 (it needs to be either .01, .05, .08, or .10 to apply this change).

neg.rmsea(mod = fit1,  
           eq.bound = .05, modif.eq.bound = TRUE)
---- EBF-RMSEA-A: Equivalence Based Fit Test for RMSEA Using Yuan et al. (2016) Modified Equivalence Bounds ----

RMSEA index: 0.09212148 
*************************************
Confidence Interval Method Selected: not.close 
Upper end of 90% CI for RMSEA: 0.114
*************************************
Modified Equivalence Bound: yes 
Equivalence Bound: 0.075 
*************************************
Test Decision (comparing confidence interval to equivalence bound):
 FAIL TO REJECT HO: We fail to find evidence to reject the hypothesis of not-close fit. 
**********************

*** Proportional Distance: The proportional distance from the effect of interest to the equivalence interval of the same sign *** 

Proportional Distance (PD): 1.2289 
95% CI for PD: (0.8210786, 1.486938)
**********************

Extractable Elements

A number of elements of the output can be extracted, including:

rmsea_index The RMSEA index

ci.method The confidence interval method selected for computing the upper bound of the confidence interval for the RMSEA

alpha Nominal Type I error rate

rmsea_eq The value of the upper bound of the confidence interval for RMSEA

modif.eq.bound Whether a modified equivalence bound was used for the RMSEA equivalence test

eq.bound The value of the equivalence bound used for the RMSEA equivalence test

decision NHST decision for the RMSEA equivalence test

cilpd: Lower bound of the 1-alpha CI for the PD

ciupd: Upper bound of the 1-alpha CI for the PD

PD Proportional distance

LS0tDQp0aXRsZTogIlN0YXJ0IFVzaW5nIHRoZSBgbmVnLnJtc2VhKClgIEZ1bmN0aW9uIg0Kc3VidGl0bGU6IHwgDQogICAgRnJvbSB0aGUgW2BuZWdsaWdpYmxlYF0oaHR0cHM6Ly9jcmFuLnItcHJvamVjdC5vcmcvd2ViL3BhY2thZ2VzL25lZ2xpZ2libGUvaW5kZXguaHRtbCkgUiBwYWNrYWdlIVtdKEk6L015IERyaXZlL1Jlc2VhcmNoL0NyaWJiaWUgTGFiL25lZ2xpZ2libGUgVmlnbmV0dGVzL1RlbXBsYXRlL25lZy5sb2dvLnBuZyl7d2lkdGg9MTAlfSAgDQphdXRob3I6ICJbTmF0YWx5IEJlcmliaXNreSBhbmQgUm9iIENyaWJiaWVdIg0KZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpKWAiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJvYm9ib29rOg0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGhpZ2hsaWdodDogdGFuZ28NCi0tLQ0KDQpgYGB7ciBzZXR1cCwgZWNobz1GQUxTRSwgY2FjaGU9RkFMU0UsIG1lc3NhZ2VzPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KI2luc3RhbGwucGFja2FnZXMoInJtZGZvcm1hdHMiKQ0Kc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKGxpYnJhcnkocm1kZm9ybWF0cywgd2Fybi5jb25mbGljdHM9RkFMU0UpKQ0Kc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKGxpYnJhcnkoa25pdHIsIHdhcm4uY29uZmxpY3RzPUZBTFNFKSkNCnN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyhsaWJyYXJ5KHRpZHl2ZXJzZSwgd2Fybi5jb25mbGljdHM9RkFMU0UpKQ0Kc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKGxpYnJhcnkocGxvdGx5LCB3YXJuLmNvbmZsaWN0cz1GQUxTRSkpDQpzdXBwcmVzc1BhY2thZ2VTdGFydHVwTWVzc2FnZXMobGlicmFyeShyZWFkeGwsIHdhcm4uY29uZmxpY3RzPUZBTFNFKSkNCnN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyhsaWJyYXJ5KHBsb3RseSwgd2Fybi5jb25mbGljdHM9RkFMU0UpKQ0Kc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKGxpYnJhcnkoTWV0QnJld2VyLCB3YXJuLmNvbmZsaWN0cz1GQUxTRSkpDQpzdXBwcmVzc1BhY2thZ2VTdGFydHVwTWVzc2FnZXMobGlicmFyeShnZ2FuaW1hdGUsIHdhcm4uY29uZmxpY3RzPUZBTFNFKSkNCnN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyhsaWJyYXJ5KGRwbHlyLCB3YXJuLmNvbmZsaWN0cz1GQUxTRSkpDQoNCiMjIEdsb2JhbCBvcHRpb25zDQpvcHRpb25zKG1heC5wcmludD0iNzUiKQ0Kb3B0c19jaHVuayRzZXQoZWNobz1UUlVFLA0KCSAgICAgICAgICAgICBjYWNoZT1UUlVFLA0KICAgICAgICAgICAgICAgcHJvbXB0PUZBTFNFLA0KICAgICAgICAgICAgICAgY29tbWVudD1OQSwNCiAgICAgICAgICAgICAgIG1lc3NhZ2U9RkFMU0UsDQogICAgICAgICAgICAgICB3YXJuaW5nPUZBTFNFKQ0Kb3B0c19rbml0JHNldCh3aWR0aD03NSkNCmBgYA0KDQo8YnIvPg0KDQojIyAqKkludHJvZHVjdGlvbioqDQoNCg0KDQojIyMgKipXaGF0IGlzIHRoZSBwdXJwb3NlL2dvYWwgb2YgYG5lZy5ybXNlYSgpYD8qKg0KDQpUaGUgZnVuY3Rpb24gbmVnLnNybXIgcGVyZm9ybXMgdmFyaW91cyBlcXVpdmFsZW5jZSB0ZXN0cyBmb3IgdGhlIFJNU0VBIGZpdCBpbmRleC4NCg0KDQojIyMgKipXaGF0IGlzIHRoZSB0aGVvcnkgYmVoaW5kIGBuZWcucm1zZWEoKWA/KioNCg0KVGhlIGZ1bmN0aW9uIHdpbGwgY29tcGFyZSB1cHBlciBib3VuZCBvZiB0aGUgY29uZmlkZW5jZSBpbnRlcnZhbCAocGVydGFpbmluZyB0byB0aGUgUk1TRUEgZml0IGluZGV4KSB0byB1cHBlciBib3VuZCBvZiBhbiBlcXVpdmFsZW5jZSBpbnRlcnZhbCAoYWxzbyBrbm93biBhcyBhbiBlcXVpdmFsZW5jZSBib3VuZCkuDQoNCkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSB0aGVvcnkgYmVoaW5kIHRoZXNlIHRlc3RzIGFuZCBjaG9pY2VzIG9mIGVxdWl2YWxlbmNlIGJvdW5kcyBzZWU6DQoNCkJlcmliaXNreSwgTi4sICYgQ3JpYmJpZSwgUi4gQS4gKDIwMjMpLiBFdmFsdWF0aW5nIHRoZSBwZXJmb3JtYW5jZSBvZiBleGlzdGluZyBhbmQgbm92ZWwgZXF1aXZhbGVuY2UgdGVzdHMgZm9yIGZpdCBpbmRpY2VzIGluIHN0cnVjdHVyYWwgZXF1YXRpb24gbW9kZWxsaW5nLiBCcml0aXNoIEpvdXJuYWwgb2YgTWF0aGVtYXRpY2FsIGFuZCBTdGF0aXN0aWNhbCBQc3ljaG9sb2d5LiA3NygxKSwgMTAzLTEyOS4gaHR0cHM6Ly9kb2kub3JnLzEwLjExMTEvYm1zcC4xMjMxNw0KDQpNYWNDYWxsdW0sIFIuIEMuLCBCcm93bmUsIE0uIFcuLCAmIFN1Z2F3YXJhLCBILiBNLiAoMTk5NikuIFBvd2VyIGFuYWx5c2lzIGFuZCBkZXRlcm1pbmF0aW9uIG9mIHNhbXBsZSBzaXplIGZvciBjb3ZhcmlhbmNlIHN0cnVjdHVyZSBtb2RlbGluZy4gUHN5Y2hvbG9naWNhbCBNZXRob2RzLCAxKDIpLCAxMzDigJMxNDkuIGh0dHBzOi8vZG9pLm9yZy8xMC4xMDM3LzEwODItOTg5WC4xLjIuMTMwDQoNCll1YW4sIEsuIEguLCBDaGFuLCBXLiwgTWFyY291bGlkZXMsIEcuIEEuLCAmIEJlbnRsZXIsIFAuIE0uICgyMDE2KS4gQXNzZXNzaW5nIHN0cnVjdHVyYWwgZXF1YXRpb24gbW9kZWxzIGJ5IGVxdWl2YWxlbmNlIHRlc3Rpbmcgd2l0aCBhZGp1c3RlZCBmaXQgaW5kZXhlcy4gU3RydWN0dXJhbCBFcXVhdGlvbiBNb2RlbGluZzogQSBNdWx0aWRpc2NpcGxpbmFyeSBKb3VybmFsLCAyMygzKSwgMzE5LTMzMC4gaHR0cHM6Ly9kb2kub3JnLzEwLjEwODAvMTA3MDU1MTEuMjAxNS4xMDY1NDE0DQoNCiMjIyMgKk51bGwgYW5kIEFsdGVybmF0ZSBIeXBvdGhlc2VzIG9mIHRoZSBQcm9jZWR1cmUqDQoNCiRIX3swfTogUk1TRUFfe3BvcH0gXGdlIE1NRVMkDQoNCg0KJEhfezF9OiBSTVNFQV97cG9wfSA8IE1NRVMkDQoNCk5vdGUgdGhhdCB0aGUgTU1FUyBpcyB0aGUgbWluaW1hbGx5IG1lYW5pbmdmdWwgZWZmZWN0IHNpemUsIGFzIGFwcHJveGltYXRlZCBieSB0aGUgZXF1aXZhbGVuY2UgYm91bmQuDQoNCg0KIyMjICoqVXNpbmcgYG5lZy5ybXNlYSgpYCoqDQoNCk5vdyBsZXQncyB1c2UgdGhlIGZ1bmN0aW9uLiBCeSBkZWZhdWx0LCBkb2luZyBzbyByZXF1aXJlcyBhIGZpdHRlZCBtb2RlbCBvYmplY3QgZnJvbSBsYXZhYW4uDQoNCiMjIyMgKlJlcXVpcmVkIGFyZ3VtZW50cyAobm8gZGVmYXVsdCkqDQoNCiptb2QqOiB0aGUgZml0dGVkIG1vZGVsIG9iamVjdA0KDQoqZWlVKjogdXBwZXIgYm91bmQgb2YgZXF1aXZhbGVuY2UgaW50ZXJ2YWwgZm9yIFJNU0VBIGZvciBjb21wYXJpc29uOyBub3RlIHRoYXQgdGhpcyB2YWx1ZSBtdXN0IGJlIG9uZSBvZiAwMSwgLjA1LCAuMDgsIG9yIC4xMCBpZiBtb2RpZi5lcS5ib3VuZCA9IFRSVUUNCg0KDQojIyMjICpPcHRpb25hbCBhcmd1bWVudHMgKGhhcyBhIGRlZmF1bHQpKg0KDQoqYWxwaGEqOiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZm9yIHRoZSBhbHBoYSBsZXZlbCAoZGVmYXVsdCBpcyAuMDUpIA0KDQoqcm91bmQqOiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZm9yIHRoZSBudW1iZXIgb2YgZGlnaXRzIHRvIHJvdW5kIGVxdWl2YWxlbmNlIGJvdW5kIGFuZCBjb25maWRlbmNlIGludGVydmFsIGJvdW5kcyAoZGVmYXVsdCBpcyAzKQ0KDQoqbW9kaWYuZXEuYm91bmQqOiBzaG91bGQgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBlcXVpdmFsZW5jZSBpbnRlcnZhbCBmb3IgUk1TRUEgYmUgbW9kaWZpZWQ/IChkZWZhdWx0IGlzIEZBTFNFKQ0KDQoqY2kubWV0aG9kKjogbWV0aG9kIHVzZWQgdG8gY2FsY3VsYXRlIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIFJNU0VBOyBvcHRpb25zIGFyZSAibm90LmNsb3NlIiBvciAieWh5LmJvb3QiOyAibm90LmNsb3NlIiBjb3JyZXNwb25kcyB0byAoMS0yYWxwaGEpIHBlcmNlbnQgQ0ksICJ5aHkuYm9vdCIgY29ycmVzcG9uZHMgdG8gKDEtMmFscGhhKSBwZXJjZW50IGJvb3QgQ0kgKGRlZmF1bHQgaXMgIm5vdC5jbG9zZSIpDQoNCipuYm9vdCo6IG51bWJlciBvZiBib290c3RyYXAgc2FtcGxlcyBpZiAieWh5LmJvb3QiIGlzIHNlbGVjdGVkIGFzIHNybXIuY2kubWV0aG9kIChkZWZhdWx0IGlzIDI1MEwpDQoNCipuYm9vdHBkKjogbnVtYmVyIG9mIGJvb3RzdHJhcCBzYW1wbGVzIGJ5ICJ5aHkuYm9vdCIgZm9yIHBkIGZ1bmN0aW9uDQoNCipwbG90KjogbG9naWNhbCBhcmd1bWVudCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlc3VsdHMgc2hvdWxkIGJlIHBsb3R0ZWQgKGRlZmF1bHQgaXMgVFJVRSkNCg0KKnNhdmVwbG90Kjogd2hldGhlciB0aGUgcGxvdCBzaG91bGQgYmUgc2F2ZWQgKGRlZmF1bHQgaXMgRkFMU0UpDQoNCg0KIyMgKipFeGFtcGxlcyoqDQoNCiMjIyAqKkV4YW1wbGUgMSoqDQoNCkZpcnN0IHdlIG5lZWQgdG8gY3JlYXRlIGEgbW9kZWwgb2JqZWN0IHVzaW5nIGxhdmFhbi4gTGV0J3MgdXNlIHRoZSBIb2x6aW5nZXIgYW5kIFN3aW5lZm9yZCBkYXRhc2V0IHRoYXQgaXMgcGFydCBvZiB0aGUgbGF2YWFuIHBhY2thZ2UuDQpgYGB7cn0NCmxpYnJhcnkobmVnbGlnaWJsZSkNCmxpYnJhcnkobGF2YWFuKQ0KDQpkIDwtIGxhdmFhbjo6SG9semluZ2VyU3dpbmVmb3JkMTkzOQ0KaHMubW9kIDwtICd2aXN1YWwgPX4geDEgKyB4MiArIHgzDQp0ZXh0dWFsID1+IHg0ICsgeDUgKyB4Ng0Kc3BlZWQgPX4geDcgKyB4OCArIHg5Jw0KZml0MSA8LSBsYXZhYW46OmNmYShocy5tb2QsIGRhdGEgPSBkKQ0KYGBgDQoNCk5vdyB3ZSBjYW4gdXNlIHRoZSBmdW5jdGlvbi4gTGV0J3Mgc2F5IHRoYXQgd2UganVzdCBnbyB3aXRoIHRoZSBkZWZhdWx0cyBmaXJzdC4NCg0KYGBge3J9DQpuZWcucm1zZWEobW9kID0gZml0MSwgZXEuYm91bmQgPSAuMDUpDQpgYGANCg0KIyMjICoqRXhhbXBsZSAyKioNCg0KV2UgY2FuIGFsc28gdXNlIG1vZGlmaWVkIGVxdWl2YWxlbmNlIGJvdW5kcy4gRm9yIGluc3RhbmNlLCBpZiB3ZSB3YW50ZWQgdG8gbW9kaWZ5IGFjY29yZGluZyB0byB0aGUgYWRhcHRlZCBjdXRvZmYgZm9ybXVsYSBwcm92aWRlZCBieSBZdWFuIGV0IGFsLiAoMjAxNiksIHdlIGNhbiBjaGFuZ2UgdGhlIGlucHV0IHRvIHRoZSBtb2RpZi5lcS5ib3VuZCBhcmd1bWVudC4gTm90ZSB0aGF0IHdlIGNhbiBvbmx5IGRvIHRoaXMgYmVjYXVzZSBvdXIgZXF1aXZhbGVuY2UgYm91bmQgaXMgLjA1IChpdCBuZWVkcyB0byBiZSBlaXRoZXIgLjAxLCAuMDUsIC4wOCwgb3IgLjEwIHRvIGFwcGx5IHRoaXMgY2hhbmdlKS4NCg0KYGBge3J9DQpuZWcucm1zZWEobW9kID0gZml0MSwgIA0KICAgICAgICAgICBlcS5ib3VuZCA9IC4wNSwgbW9kaWYuZXEuYm91bmQgPSBUUlVFKQ0KYGBgDQoNCg0KIyMgKipFeHRyYWN0YWJsZSBFbGVtZW50cyoqDQoNCkEgbnVtYmVyIG9mIGVsZW1lbnRzIG9mIHRoZSBvdXRwdXQgY2FuIGJlIGV4dHJhY3RlZCwgaW5jbHVkaW5nOg0KDQoqcm1zZWFfaW5kZXgqIFRoZSBSTVNFQSBpbmRleA0KDQoqY2kubWV0aG9kKiBUaGUgY29uZmlkZW5jZSBpbnRlcnZhbCBtZXRob2Qgc2VsZWN0ZWQgZm9yIGNvbXB1dGluZyB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIHRoZSBSTVNFQQ0KDQoqYWxwaGEqIE5vbWluYWwgVHlwZSBJIGVycm9yIHJhdGUNCg0KKnJtc2VhX2VxKiBUaGUgdmFsdWUgb2YgdGhlIHVwcGVyIGJvdW5kIG9mIHRoZSBjb25maWRlbmNlIGludGVydmFsIGZvciBSTVNFQQ0KDQoqbW9kaWYuZXEuYm91bmQqIFdoZXRoZXIgYSBtb2RpZmllZCBlcXVpdmFsZW5jZSBib3VuZCB3YXMgdXNlZCBmb3IgdGhlIFJNU0VBIGVxdWl2YWxlbmNlIHRlc3QNCg0KKmVxLmJvdW5kKiBUaGUgdmFsdWUgb2YgdGhlIGVxdWl2YWxlbmNlIGJvdW5kIHVzZWQgZm9yIHRoZSBSTVNFQSBlcXVpdmFsZW5jZSB0ZXN0DQoNCipkZWNpc2lvbiogTkhTVCBkZWNpc2lvbiBmb3IgdGhlIFJNU0VBIGVxdWl2YWxlbmNlIHRlc3QNCg0KKmNpbHBkKjogTG93ZXIgYm91bmQgb2YgdGhlIDEtYWxwaGEgQ0kgZm9yIHRoZSBQRA0KDQoqY2l1cGQqOiBVcHBlciBib3VuZCBvZiB0aGUgMS1hbHBoYSBDSSBmb3IgdGhlIFBEDQoNCipQRCogUHJvcG9ydGlvbmFsIGRpc3RhbmNl