Demonstration of MGCFA in JASP
1. Find a feasible CFA solution on the pooled sample
Use following variables, which intend to measure various aspects of satisfaction:
# ess8 <- haven::read_sav("~/Downloads/data/ESS8e02_1trim.sav")
#
# label_book(ess8, 1)
stflife |
How satisfied with life as a whole 0 Extremely dissatisfied |
stfeco |
How satisfied with present state of economy in country 0 Extremely dissatisfied |
stfgov |
How satisfied with the national government 0 Extremely dissatisfied |
stfdem |
How satisfied with the way democracy works in country 0 Extremely dissatisfied |
stfedu |
State of education in country nowadays 0 Extremely bad |
stfhlth |
State of health services in country nowadays 0 Extremely bad |
happy |
How happy are you |
2. Test a multiple group CFA model (configural)
- Filter sample to the two countries: Belgium and Netherlands.
- In the Multigroup CFA choose
cntry
as grouping variable.
- Check the fit measures. If they are not satisfactory, identify misspecification, modify the model, compare the fit, evaluate the fit, see the previous practical session steps for a single group CFA.
- When the satisfactory fit is found, study the parameters: Do they all make sense? How different they are across groups?
- Name the model “Configural” and save.
3. Test metric invariance
- Begin a new CFA analysis to save the previous output. Specify the same model as in the previous step.
- Change “Invarinace testing” option of the “Multigroup CFA” section to “Metric” value. Tick to “Include mean structure”.
- Check the fit measures. If they are not satisfactory, identify misspecification. If they are, compare the fit statistics with the ones from configural model: first, look at CFI and RMSEA difference; check if BIC increased much. Make an inference if metric invariance was supported.
- If the metric invariance was not supported, skip the testing of scalar invariance, and try partial invarinace.
- Name the model “Metric” and save.
4. Test scalar invariance
- Repeat the actions 1-3 from the previous step, but use “Scalar” option instead of “Metric”. Don’t forget to begin a new analysis each time for saving the previous analysis.
- If the scalar invariance was not supported try testing partial scalar invariance (or use some alternatives).
- If the scalar invariance was supported, you can correctly compare latent means (factor means).
5. Report
- Copy the outputs of all the models to Word,
- Combine the model fit into a single table,
- Remove all the parameter estimates except the ones from the last [final] model,
- Add the diagram.
- Write a short description of the steps you undertook.
- Make a conclusion: is the measurement model invariance across Belgium and Netherlands?
6. Add more countries
- Now, add Austria to the analysis by changing data filter, on the data view tab. After changing filter all the analyses will be automatically re-run with the new sample. It make take some time.
- Examine how the results changed.
- Follow the steps 1-5 to make an inference in reagrd to the three countries.
Maksim Rudnev, 2019 using RMarkdown.