The following analysis is a draft version of an attempt to replicate the CFA model measuring pupils’ attitudes towards science, that was produced in Ji Yoon Jung’s “A COMPARISON OF CFA AND ESEM APPROACHES USING TIMSS SCIENCE ATTITUDES ITEMS: EVIDENCE FROM FACTOR STRUCTURE AND MEASUREMENT INVARIANCE”, on the TIMSS 2015 data (8th grade). And then test the possible factorial invariance of the scales.
So, first of all, let’s load the data and see how many observations we have in each category of each question (scale).
library(dplyr)
library(foreign)
require(ggplot2)
timss_2015 = read.spss("BSGNO8M6.sav", to.data.frame=TRUE)
timss_NOR <- timss_2015 %>% dplyr::select(BSBS21A, BSBS21B, BSBS21C, BSBS21D, BSBS21E, BSBS21F, BSBS21G, BSBS21H, BSBS21I, BSBS23A, BSBS23B, BSBS23C, BSBS23D, BSBS23E, BSBS23F, BSBS23G, BSBS23H, BSBS24A, BSBS24B, BSBS24C, BSBS24D, BSBS24E, BSBS24F, BSBS24G, BSBS24H, BSBS24I)
colnames(timss_NOR) <- c("enjoy", "wishnotstudy", "boring", "learnthings", "like", "lookfrwrdtolearn", "howworks", "likeexperiments", "favorite", "dowell", "moredifficult", "notstrength", "learnquickly", "goodatsolveproblems", "goodatsci", "isharder", "makesconfusd", "willhelp", "needforother", "gettouni", "togetjob", "jobinvolves", "getahead", "jobopportunit", "parentsthinkimportnt", "importnttodowell")
summary(timss_NOR)
## enjoy wishnotstudy
## Agree a lot :1822 Agree a lot : 425
## Agree a little :2017 Agree a little : 885
## Disagree a little: 589 Disagree a little:1434
## Disagree a lot : 277 Disagree a lot :1939
## NA's : 90 NA's : 112
## boring learnthings
## Agree a lot : 497 Agree a lot :2315
## Agree a little :1191 Agree a little :1702
## Disagree a little:1383 Disagree a little: 485
## Disagree a lot :1569 Disagree a lot : 176
## NA's : 155 NA's : 117
## like lookfrwrdtolearn
## Agree a lot :1789 Agree a lot :1346
## Agree a little :1715 Agree a little :1637
## Disagree a little: 826 Disagree a little:1267
## Disagree a lot : 343 Disagree a lot : 437
## NA's : 122 NA's : 108
## howworks likeexperiments
## Agree a lot :2480 Agree a lot :3695
## Agree a little :1787 Agree a little : 768
## Disagree a little: 324 Disagree a little: 157
## Disagree a lot : 101 Disagree a lot : 73
## NA's : 103 NA's : 102
## favorite dowell
## Agree a lot :1272 Agree a lot :1765
## Agree a little :1413 Agree a little :2202
## Disagree a little:1290 Disagree a little: 582
## Disagree a lot : 713 Disagree a lot : 140
## NA's : 107 NA's : 106
## moredifficult notstrength
## Agree a lot : 189 Agree a lot : 283
## Agree a little : 721 Agree a little : 719
## Disagree a little:1501 Disagree a little:1472
## Disagree a lot :2272 Disagree a lot :2195
## NA's : 112 NA's : 126
## learnquickly goodatsolveproblems
## Agree a lot :1244 Agree a lot : 829
## Agree a little :2161 Agree a little :2002
## Disagree a little:1027 Disagree a little:1456
## Disagree a lot : 241 Disagree a lot : 403
## NA's : 122 NA's : 105
## goodatsci isharder
## Agree a lot :1031 Agree a lot : 196
## Agree a little :2062 Agree a little : 647
## Disagree a little:1167 Disagree a little:1406
## Disagree a lot : 366 Disagree a lot :2440
## NA's : 169 NA's : 106
## makesconfusd willhelp
## Agree a lot : 312 Agree a lot :1528
## Agree a little :1003 Agree a little :2172
## Disagree a little:1343 Disagree a little: 778
## Disagree a lot :2014 Disagree a lot : 219
## NA's : 123 NA's : 98
## needforother gettouni
## Agree a lot :1133 Agree a lot :1359
## Agree a little :1922 Agree a little :1643
## Disagree a little:1324 Disagree a little:1277
## Disagree a lot : 311 Disagree a lot : 387
## NA's : 105 NA's : 129
## togetjob jobinvolves
## Agree a lot :1260 Agree a lot : 944
## Agree a little :1517 Agree a little :1258
## Disagree a little:1404 Disagree a little:1629
## Disagree a lot : 470 Disagree a lot : 827
## NA's : 144 NA's : 137
## getahead jobopportunit
## Agree a lot :1479 Agree a lot :1695
## Agree a little :2009 Agree a little :1868
## Disagree a little: 934 Disagree a little: 884
## Disagree a lot : 253 Disagree a lot : 232
## NA's : 120 NA's : 116
## parentsthinkimportnt importnttodowell
## Agree a lot :1816 Agree a lot :1800
## Agree a little :2028 Agree a little :2022
## Disagree a little: 700 Disagree a little: 707
## Disagree a lot : 128 Disagree a lot : 152
## NA's : 123 NA's : 114
Now, as we need numeric data to conduct factor analysis, let’s change the data format and add gender variable. By the latter th einvariance will be assessed.
timss_NOR[sapply(timss_NOR, is.factor)] <- lapply(timss_NOR[sapply(timss_NOR, is.factor)], as.numeric)
timss_NOR <- timss_NOR %>% cbind(timss_2015$BSBG01) %>% rename(gender = `timss_2015$BSBG01`)
str(timss_NOR)
## 'data.frame': 4795 obs. of 27 variables:
## $ enjoy : num 3 1 1 2 1 2 2 3 NA 4 ...
## $ wishnotstudy : num 2 4 4 4 4 4 3 1 NA 2 ...
## $ boring : num 2 4 3 4 4 4 3 1 3 2 ...
## $ learnthings : num 3 1 1 2 1 1 2 4 NA 3 ...
## $ like : num 4 1 1 2 1 2 2 2 NA 4 ...
## $ lookfrwrdtolearn : num 3 1 2 2 1 2 2 3 NA 4 ...
## $ howworks : num 2 1 1 2 2 1 3 2 3 3 ...
## $ likeexperiments : num 3 2 1 1 1 1 1 1 NA 1 ...
## $ favorite : num 4 1 1 2 1 2 3 3 NA 3 ...
## $ dowell : num 3 1 2 2 1 2 3 3 2 4 ...
## $ moredifficult : num 2 4 4 4 4 3 3 2 3 2 ...
## $ notstrength : num 3 NA 4 4 4 2 3 2 3 2 ...
## $ learnquickly : num 3 1 1 2 2 2 4 3 2 4 ...
## $ goodatsolveproblems : num 3 2 2 2 2 3 3 4 2 4 ...
## $ goodatsci : num 4 2 2 2 2 2 3 3 2 4 ...
## $ isharder : num 3 4 4 4 4 3 3 2 3 2 ...
## $ makesconfusd : num 3 4 4 3 4 2 3 2 2 2 ...
## $ willhelp : num 2 1 1 2 3 2 2 3 2 3 ...
## $ needforother : num 3 1 3 2 4 2 3 3 2 3 ...
## $ gettouni : num 2 1 1 1 4 3 2 3 3 3 ...
## $ togetjob : num 3 1 1 1 4 3 3 3 3 3 ...
## $ jobinvolves : num 3 1 1 2 4 2 2 3 3 4 ...
## $ getahead : num 2 1 2 1 3 2 2 3 2 NA ...
## $ jobopportunit : num 2 1 1 1 2 2 2 3 2 NA ...
## $ parentsthinkimportnt: num 1 1 NA 1 4 3 1 2 3 NA ...
## $ importnttodowell : num 2 1 1 2 4 3 3 1 3 NA ...
## $ gender : Factor w/ 2 levels "Girl","Boy": 2 1 2 1 2 1 1 2 2 1 ...
table(timss_NOR$gender)
##
## Girl Boy
## 2379 2378
We also can see that the distribution of observations in each gender category is pretty much equal. Now, to the CFA model.
The scales for each of the latent factors and full names of the latter ones are described below:
The model’s summary is the following
require(lavaan)
cfaConfigure <- 'SLS =~ enjoy + wishnotstudy + boring + learnthings + like + lookfrwrdtolearn + howworks + likeexperiments + favorite
SCS =~ dowell + moredifficult + notstrength + learnquickly + goodatsolveproblems + goodatsci + isharder + makesconfusd
SVS =~ willhelp + needforother + gettouni + togetjob + jobinvolves + getahead + jobopportunit + parentsthinkimportnt + importnttodowell'
cfaOutput_1 <- cfa(model = cfaConfigure, data = timss_NOR)
summary(cfaOutput_1, standardized = T, fit.measures = T)
## lavaan 0.6-4 ended normally after 49 iterations
##
## Optimization method NLMINB
## Number of free parameters 55
##
## Used Total
## Number of observations 4055 4795
##
## Estimator ML
## Model Fit Test Statistic 9239.767
## Degrees of freedom 296
## P-value (Chi-square) 0.000
##
## Model test baseline model:
##
## Minimum Function Test Statistic 75644.159
## Degrees of freedom 325
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 0.881
## Tucker-Lewis Index (TLI) 0.870
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -100857.058
## Loglikelihood unrestricted model (H1) -96237.174
##
## Number of free parameters 55
## Akaike (AIC) 201824.115
## Bayesian (BIC) 202171.039
## Sample-size adjusted Bayesian (BIC) 201996.273
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.086
## 90 Percent Confidence Interval 0.085 0.088
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.060
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard Errors Standard
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.751 0.887
## wishnotstudy -0.935 0.017 -56.557 0.000 -0.702 -0.720
## boring -1.016 0.016 -61.971 0.000 -0.764 -0.761
## learnthings 0.846 0.013 67.268 0.000 0.636 0.797
## like 1.132 0.012 92.513 0.000 0.851 0.925
## lookfrwrdtolrn 1.110 0.013 82.699 0.000 0.834 0.883
## howworks 0.581 0.013 44.542 0.000 0.436 0.612
## likeexperimnts 0.335 0.012 28.319 0.000 0.252 0.424
## favorite 1.150 0.016 73.766 0.000 0.864 0.836
## SCS =~
## dowell 1.000 0.605 0.797
## moredifficult -0.942 0.021 -44.687 0.000 -0.571 -0.668
## notstrength -1.102 0.022 -50.441 0.000 -0.667 -0.737
## learnquickly 1.118 0.019 57.572 0.000 0.677 0.817
## goodtslvprblms 1.109 0.020 54.437 0.000 0.672 0.783
## goodatsci 0.921 0.022 42.695 0.000 0.558 0.643
## isharder -0.895 0.021 -42.052 0.000 -0.542 -0.635
## makesconfusd -1.012 0.024 -42.951 0.000 -0.613 -0.646
## SVS =~
## willhelp 1.000 0.625 0.765
## needforother 1.014 0.021 48.392 0.000 0.634 0.730
## gettouni 1.265 0.022 57.810 0.000 0.791 0.847
## togetjob 1.286 0.023 56.997 0.000 0.804 0.838
## jobinvolves 1.187 0.024 48.884 0.000 0.742 0.736
## getahead 1.062 0.020 52.188 0.000 0.664 0.778
## jobopportunit 1.068 0.020 52.165 0.000 0.668 0.778
## prntsthnkmprtn 0.731 0.019 37.681 0.000 0.457 0.584
## importnttodwll 0.914 0.019 47.541 0.000 0.572 0.718
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.349 0.011 32.949 0.000 0.768 0.768
## SVS 0.270 0.010 27.545 0.000 0.575 0.575
## SCS ~~
## SVS 0.183 0.008 23.530 0.000 0.483 0.483
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.153 0.004 37.340 0.000 0.153 0.213
## .wishnotstudy 0.459 0.011 42.817 0.000 0.459 0.482
## .boring 0.425 0.010 42.197 0.000 0.425 0.421
## .learnthings 0.233 0.006 41.437 0.000 0.233 0.365
## .like 0.121 0.004 32.578 0.000 0.121 0.144
## .lookfrwrdtolrn 0.198 0.005 37.687 0.000 0.198 0.221
## .howworks 0.319 0.007 43.801 0.000 0.319 0.626
## .likeexperimnts 0.289 0.006 44.578 0.000 0.289 0.820
## .favorite 0.322 0.008 40.215 0.000 0.322 0.301
## .dowell 0.210 0.006 37.613 0.000 0.210 0.364
## .moredifficult 0.405 0.010 41.632 0.000 0.405 0.554
## .notstrength 0.374 0.009 39.998 0.000 0.374 0.457
## .learnquickly 0.228 0.006 36.488 0.000 0.228 0.332
## .goodtslvprblms 0.286 0.007 38.326 0.000 0.286 0.388
## .goodatsci 0.442 0.011 42.059 0.000 0.442 0.587
## .isharder 0.436 0.010 42.186 0.000 0.436 0.597
## .makesconfusd 0.525 0.012 42.008 0.000 0.525 0.583
## .willhelp 0.278 0.007 40.386 0.000 0.278 0.416
## .needforother 0.353 0.009 41.279 0.000 0.353 0.468
## .gettouni 0.245 0.007 36.581 0.000 0.245 0.282
## .togetjob 0.275 0.007 37.241 0.000 0.275 0.298
## .jobinvolves 0.466 0.011 41.135 0.000 0.466 0.458
## .getahead 0.287 0.007 39.962 0.000 0.287 0.395
## .jobopportunit 0.291 0.007 39.972 0.000 0.291 0.395
## .prntsthnkmprtn 0.402 0.009 43.325 0.000 0.402 0.659
## .importnttodwll 0.306 0.007 41.514 0.000 0.306 0.484
## SLS 0.565 0.016 35.865 0.000 1.000 1.000
## SCS 0.367 0.012 29.772 0.000 1.000 1.000
## SVS 0.391 0.014 28.226 0.000 1.000 1.000
Model’s loadings for each factor
inspect(cfaOutput_1, "std")$lambda
## SLS SCS SVS
## enjoy 0.887 0.000 0.000
## wishnotstudy -0.720 0.000 0.000
## boring -0.761 0.000 0.000
## learnthings 0.797 0.000 0.000
## like 0.925 0.000 0.000
## lookfrwrdtolearn 0.883 0.000 0.000
## howworks 0.612 0.000 0.000
## likeexperiments 0.424 0.000 0.000
## favorite 0.836 0.000 0.000
## dowell 0.000 0.797 0.000
## moredifficult 0.000 -0.668 0.000
## notstrength 0.000 -0.737 0.000
## learnquickly 0.000 0.817 0.000
## goodatsolveproblems 0.000 0.783 0.000
## goodatsci 0.000 0.643 0.000
## isharder 0.000 -0.635 0.000
## makesconfusd 0.000 -0.646 0.000
## willhelp 0.000 0.000 0.765
## needforother 0.000 0.000 0.730
## gettouni 0.000 0.000 0.847
## togetjob 0.000 0.000 0.838
## jobinvolves 0.000 0.000 0.736
## getahead 0.000 0.000 0.778
## jobopportunit 0.000 0.000 0.778
## parentsthinkimportnt 0.000 0.000 0.584
## importnttodowell 0.000 0.000 0.718
Model’s diagram (I have no cracking idea why it displays two identical pictures - and it seems there is no way to fix it, I tried :c)
library(semPlot)
semPaths(cfaOutput_1)
Now let’s create a CFA model with gender variable added, controlling for configural factorial invariance.
configOutput <- cfa(model = cfaConfigure, data = timss_NOR, group = "gender")
summary(configOutput, standardized = T, fit.measures = T)
## lavaan 0.6-4 ended normally after 57 iterations
##
## Optimization method NLMINB
## Number of free parameters 162
##
## Used Total
## Number of observations per group
## Boy 1994 2378
## Girl 2061 2379
##
## Estimator ML
## Model Fit Test Statistic 9661.841
## Degrees of freedom 592
## P-value (Chi-square) 0.000
##
## Chi-square for each group:
##
## Boy 4881.806
## Girl 4780.035
##
## Model test baseline model:
##
## Minimum Function Test Statistic 75524.783
## Degrees of freedom 650
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 0.879
## Tucker-Lewis Index (TLI) 0.867
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -100568.838
## Loglikelihood unrestricted model (H1) -95737.917
##
## Number of free parameters 162
## Akaike (AIC) 201461.676
## Bayesian (BIC) 202483.524
## Sample-size adjusted Bayesian (BIC) 201968.759
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.087
## 90 Percent Confidence Interval 0.085 0.088
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.059
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard Errors Standard
##
##
## Group 1 [Boy]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.724 0.887
## wishnotstudy -0.989 0.025 -39.748 0.000 -0.716 -0.720
## boring -1.070 0.025 -43.555 0.000 -0.775 -0.761
## learnthings 0.869 0.018 47.929 0.000 0.629 0.803
## like 1.151 0.017 66.312 0.000 0.833 0.933
## lookfrwrdtolrn 1.119 0.020 56.937 0.000 0.810 0.875
## howworks 0.645 0.019 34.539 0.000 0.467 0.657
## likeexperimnts 0.350 0.017 21.233 0.000 0.254 0.449
## favorite 1.152 0.022 51.656 0.000 0.834 0.835
## SCS =~
## dowell 1.000 0.591 0.799
## moredifficult -0.928 0.031 -30.371 0.000 -0.548 -0.652
## notstrength -1.075 0.031 -34.541 0.000 -0.635 -0.724
## learnquickly 1.081 0.027 39.408 0.000 0.638 0.804
## goodtslvprblms 1.101 0.029 37.870 0.000 0.650 0.779
## goodatsci 0.950 0.032 29.904 0.000 0.561 0.643
## isharder -0.866 0.031 -27.589 0.000 -0.512 -0.601
## makesconfusd -0.967 0.034 -28.573 0.000 -0.571 -0.619
## SVS =~
## willhelp 1.000 0.643 0.789
## needforother 0.994 0.028 35.382 0.000 0.639 0.734
## gettouni 1.201 0.029 41.840 0.000 0.772 0.837
## togetjob 1.226 0.030 41.341 0.000 0.788 0.829
## jobinvolves 1.153 0.033 35.285 0.000 0.741 0.733
## getahead 1.069 0.027 39.007 0.000 0.687 0.793
## jobopportunit 1.026 0.027 37.850 0.000 0.659 0.775
## prntsthnkmprtn 0.732 0.026 28.452 0.000 0.471 0.612
## importnttodwll 0.910 0.026 35.383 0.000 0.585 0.734
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.325 0.014 22.965 0.000 0.759 0.759
## SVS 0.274 0.014 19.857 0.000 0.590 0.590
## SCS ~~
## SVS 0.186 0.011 16.779 0.000 0.490 0.490
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 1.722 0.018 94.116 0.000 1.722 2.108
## .wishnotstudy 3.111 0.022 139.667 0.000 3.111 3.128
## .boring 2.991 0.023 131.217 0.000 2.991 2.939
## .learnthings 1.581 0.018 90.147 0.000 1.581 2.019
## .like 1.802 0.020 90.128 0.000 1.802 2.018
## .lookfrwrdtolrn 2.018 0.021 97.275 0.000 2.018 2.178
## .howworks 1.544 0.016 96.818 0.000 1.544 2.168
## .likeexperimnts 1.239 0.013 97.913 0.000 1.239 2.193
## .favorite 2.107 0.022 94.218 0.000 2.107 2.110
## .dowell 1.716 0.017 103.630 0.000 1.716 2.321
## .moredifficult 3.302 0.019 175.324 0.000 3.302 3.926
## .notstrength 3.314 0.020 168.856 0.000 3.314 3.781
## .learnquickly 1.905 0.018 107.086 0.000 1.905 2.398
## .goodtslvprblms 2.121 0.019 113.513 0.000 2.121 2.542
## .goodatsci 2.089 0.020 106.993 0.000 2.089 2.396
## .isharder 3.356 0.019 175.902 0.000 3.356 3.939
## .makesconfusd 3.183 0.021 153.933 0.000 3.183 3.447
## .willhelp 1.910 0.018 104.663 0.000 1.910 2.344
## .needforother 2.120 0.019 108.836 0.000 2.120 2.437
## .gettouni 2.109 0.021 102.126 0.000 2.109 2.287
## .togetjob 2.202 0.021 103.452 0.000 2.202 2.317
## .jobinvolves 2.447 0.023 108.019 0.000 2.447 2.419
## .getahead 1.989 0.019 102.538 0.000 1.989 2.296
## .jobopportunit 1.868 0.019 98.016 0.000 1.868 2.195
## .prntsthnkmprtn 1.783 0.017 103.589 0.000 1.783 2.320
## .importnttodwll 1.777 0.018 99.667 0.000 1.777 2.232
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.143 0.005 26.363 0.000 0.143 0.214
## .wishnotstudy 0.476 0.016 30.069 0.000 0.476 0.481
## .boring 0.435 0.015 29.645 0.000 0.435 0.420
## .learnthings 0.218 0.007 29.022 0.000 0.218 0.355
## .like 0.103 0.005 22.035 0.000 0.103 0.129
## .lookfrwrdtolrn 0.201 0.007 26.958 0.000 0.201 0.235
## .howworks 0.288 0.009 30.519 0.000 0.288 0.569
## .likeexperimnts 0.255 0.008 31.224 0.000 0.255 0.798
## .favorite 0.302 0.011 28.330 0.000 0.302 0.302
## .dowell 0.198 0.008 25.997 0.000 0.198 0.361
## .moredifficult 0.407 0.014 29.258 0.000 0.407 0.575
## .notstrength 0.365 0.013 28.100 0.000 0.365 0.475
## .learnquickly 0.223 0.009 25.804 0.000 0.223 0.354
## .goodtslvprblms 0.273 0.010 26.695 0.000 0.273 0.393
## .goodatsci 0.446 0.015 29.361 0.000 0.446 0.586
## .isharder 0.464 0.016 29.807 0.000 0.464 0.639
## .makesconfusd 0.526 0.018 29.629 0.000 0.526 0.617
## .willhelp 0.251 0.009 27.828 0.000 0.251 0.378
## .needforother 0.349 0.012 28.918 0.000 0.349 0.461
## .gettouni 0.255 0.010 26.251 0.000 0.255 0.300
## .togetjob 0.282 0.011 26.560 0.000 0.282 0.313
## .jobinvolves 0.474 0.016 28.943 0.000 0.474 0.463
## .getahead 0.279 0.010 27.717 0.000 0.279 0.371
## .jobopportunit 0.290 0.010 28.163 0.000 0.290 0.400
## .prntsthnkmprtn 0.369 0.012 30.218 0.000 0.369 0.625
## .importnttodwll 0.292 0.010 28.918 0.000 0.292 0.461
## SLS 0.525 0.021 25.150 0.000 1.000 1.000
## SCS 0.349 0.017 20.890 0.000 1.000 1.000
## SVS 0.413 0.020 20.724 0.000 1.000 1.000
##
##
## Group 2 [Girl]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.757 0.882
## wishnotstudy -0.907 0.023 -40.087 0.000 -0.687 -0.720
## boring -0.972 0.023 -43.044 0.000 -0.736 -0.753
## learnthings 0.834 0.018 46.388 0.000 0.632 0.786
## like 1.120 0.018 63.171 0.000 0.848 0.916
## lookfrwrdtolrn 1.100 0.019 58.284 0.000 0.833 0.884
## howworks 0.539 0.019 28.872 0.000 0.408 0.571
## likeexperimnts 0.327 0.017 18.818 0.000 0.247 0.400
## favorite 1.131 0.022 51.119 0.000 0.857 0.829
## SCS =~
## dowell 1.000 0.611 0.793
## moredifficult -0.978 0.030 -33.004 0.000 -0.597 -0.690
## notstrength -1.118 0.031 -36.033 0.000 -0.683 -0.741
## learnquickly 1.122 0.027 40.885 0.000 0.686 0.819
## goodtslvprblms 1.074 0.028 38.060 0.000 0.656 0.774
## goodatsci 0.887 0.030 29.848 0.000 0.542 0.634
## isharder -0.936 0.029 -31.857 0.000 -0.572 -0.670
## makesconfusd -1.047 0.033 -31.465 0.000 -0.640 -0.663
## SVS =~
## willhelp 1.000 0.606 0.739
## needforother 1.031 0.031 32.873 0.000 0.625 0.721
## gettouni 1.336 0.034 39.778 0.000 0.809 0.859
## togetjob 1.357 0.035 39.233 0.000 0.822 0.849
## jobinvolves 1.224 0.036 33.737 0.000 0.741 0.739
## getahead 1.059 0.030 34.985 0.000 0.642 0.764
## jobopportunit 1.110 0.031 35.725 0.000 0.672 0.779
## prntsthnkmprtn 0.727 0.029 24.910 0.000 0.440 0.555
## importnttodwll 0.916 0.029 31.861 0.000 0.555 0.701
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.353 0.015 23.297 0.000 0.762 0.762
## SVS 0.257 0.014 19.069 0.000 0.561 0.561
## SCS ~~
## SVS 0.175 0.011 16.401 0.000 0.474 0.474
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 1.970 0.019 104.200 0.000 1.970 2.295
## .wishnotstudy 2.991 0.021 142.358 0.000 2.991 3.136
## .boring 2.761 0.022 128.228 0.000 2.761 2.825
## .learnthings 1.752 0.018 99.004 0.000 1.752 2.181
## .like 2.061 0.020 101.020 0.000 2.061 2.225
## .lookfrwrdtolrn 2.305 0.021 111.029 0.000 2.305 2.446
## .howworks 1.610 0.016 102.378 0.000 1.610 2.255
## .likeexperimnts 1.303 0.014 95.584 0.000 1.303 2.105
## .favorite 2.481 0.023 108.948 0.000 2.481 2.400
## .dowell 1.869 0.017 110.136 0.000 1.869 2.426
## .moredifficult 3.237 0.019 169.638 0.000 3.237 3.737
## .notstrength 3.115 0.020 153.401 0.000 3.115 3.379
## .learnquickly 2.180 0.018 118.146 0.000 2.180 2.602
## .goodtslvprblms 2.461 0.019 131.769 0.000 2.461 2.903
## .goodatsci 2.262 0.019 120.025 0.000 2.262 2.644
## .isharder 3.270 0.019 173.883 0.000 3.270 3.830
## .makesconfusd 3.008 0.021 141.463 0.000 3.008 3.116
## .willhelp 1.952 0.018 108.113 0.000 1.952 2.381
## .needforother 2.212 0.019 115.936 0.000 2.212 2.554
## .gettouni 2.172 0.021 104.717 0.000 2.172 2.307
## .togetjob 2.247 0.021 105.324 0.000 2.247 2.320
## .jobinvolves 2.535 0.022 114.688 0.000 2.535 2.526
## .getahead 1.983 0.019 107.167 0.000 1.983 2.361
## .jobopportunit 1.963 0.019 103.206 0.000 1.963 2.273
## .prntsthnkmprtn 1.844 0.017 105.568 0.000 1.844 2.325
## .importnttodwll 1.873 0.017 107.335 0.000 1.873 2.364
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.163 0.006 26.516 0.000 0.163 0.221
## .wishnotstudy 0.438 0.014 30.410 0.000 0.438 0.481
## .boring 0.414 0.014 30.048 0.000 0.414 0.433
## .learnthings 0.246 0.008 29.553 0.000 0.246 0.382
## .like 0.139 0.006 23.853 0.000 0.139 0.162
## .lookfrwrdtolrn 0.195 0.007 26.445 0.000 0.195 0.219
## .howworks 0.343 0.011 31.343 0.000 0.343 0.673
## .likeexperimnts 0.322 0.010 31.804 0.000 0.322 0.840
## .favorite 0.334 0.012 28.638 0.000 0.334 0.313
## .dowell 0.220 0.008 27.043 0.000 0.220 0.371
## .moredifficult 0.393 0.013 29.406 0.000 0.393 0.524
## .notstrength 0.383 0.013 28.478 0.000 0.383 0.451
## .learnquickly 0.232 0.009 26.031 0.000 0.232 0.330
## .goodtslvprblms 0.288 0.010 27.646 0.000 0.288 0.401
## .goodatsci 0.438 0.015 30.110 0.000 0.438 0.598
## .isharder 0.402 0.014 29.687 0.000 0.402 0.551
## .makesconfusd 0.523 0.018 29.776 0.000 0.523 0.561
## .willhelp 0.305 0.010 29.259 0.000 0.305 0.454
## .needforother 0.360 0.012 29.540 0.000 0.360 0.480
## .gettouni 0.232 0.009 25.382 0.000 0.232 0.261
## .togetjob 0.263 0.010 25.983 0.000 0.263 0.280
## .jobinvolves 0.457 0.016 29.261 0.000 0.457 0.454
## .getahead 0.294 0.010 28.784 0.000 0.294 0.416
## .jobopportunit 0.293 0.010 28.450 0.000 0.293 0.393
## .prntsthnkmprtn 0.435 0.014 31.052 0.000 0.435 0.691
## .importnttodwll 0.320 0.011 29.826 0.000 0.320 0.509
## SLS 0.574 0.023 25.331 0.000 1.000 1.000
## SCS 0.373 0.018 21.065 0.000 1.000 1.000
## SVS 0.367 0.019 19.172 0.000 1.000 1.000
A CFA model with gender variable added, controlling for weak/metric factorial invariance.
weakInOutput <- cfa(model = cfaConfigure, data = timss_NOR,
group = "gender", group.equal = "loadings")
summary(weakInOutput, standardized = TRUE, fit.measures = TRUE)
## lavaan 0.6-4 ended normally after 50 iterations
##
## Optimization method NLMINB
## Number of free parameters 162
## Number of equality constraints 23
## Row rank of the constraints matrix 23
##
## Used Total
## Number of observations per group
## Boy 1994 2378
## Girl 2061 2379
##
## Estimator ML
## Model Fit Test Statistic 9721.612
## Degrees of freedom 615
## P-value (Chi-square) 0.000
##
## Chi-square for each group:
##
## Boy 4911.625
## Girl 4809.987
##
## Model test baseline model:
##
## Minimum Function Test Statistic 75524.783
## Degrees of freedom 650
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 0.878
## Tucker-Lewis Index (TLI) 0.871
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -100598.724
## Loglikelihood unrestricted model (H1) -95737.917
##
## Number of free parameters 139
## Akaike (AIC) 201475.447
## Bayesian (BIC) 202352.218
## Sample-size adjusted Bayesian (BIC) 201910.537
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.085
## 90 Percent Confidence Interval 0.084 0.087
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.060
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard Errors Standard
##
##
## Group 1 [Boy]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.736 0.890
## wshntst (.p2.) -0.947 0.017 -56.396 0.000 -0.697 -0.710
## boring (.p3.) -1.019 0.017 -61.142 0.000 -0.750 -0.750
## lrnthng (.p4.) 0.852 0.013 66.682 0.000 0.627 0.802
## like (.p5.) 1.136 0.012 91.609 0.000 0.836 0.934
## lkfrwrd (.p6.) 1.110 0.014 81.418 0.000 0.817 0.877
## howwrks (.p7.) 0.594 0.013 44.944 0.000 0.437 0.630
## lkxprmn (.p8.) 0.339 0.012 28.374 0.000 0.250 0.443
## favorit (.p9.) 1.142 0.016 72.635 0.000 0.841 0.837
## SCS =~
## dowell 1.000 0.584 0.794
## mrdffcl (.11.) -0.956 0.021 -44.943 0.000 -0.559 -0.661
## ntstrng (.12.) -1.100 0.022 -49.979 0.000 -0.642 -0.731
## lrnqckl (.13.) 1.103 0.019 56.685 0.000 0.644 0.805
## gdtslvp (.14.) 1.086 0.020 53.533 0.000 0.635 0.769
## goodtsc (.15.) 0.915 0.022 42.104 0.000 0.535 0.622
## ishardr (.16.) -0.906 0.021 -42.287 0.000 -0.530 -0.616
## mkscnfs (.17.) -1.012 0.024 -42.582 0.000 -0.591 -0.634
## SVS =~
## willhlp 1.000 0.628 0.779
## ndfrthr (.19.) 1.010 0.021 48.443 0.000 0.634 0.731
## gettoun (.20.) 1.261 0.022 57.966 0.000 0.792 0.847
## togetjb (.21.) 1.284 0.022 57.182 0.000 0.806 0.838
## jbnvlvs (.22.) 1.183 0.024 48.953 0.000 0.743 0.734
## getahed (.23.) 1.063 0.020 52.459 0.000 0.667 0.781
## jbpprtn (.24.) 1.064 0.020 52.270 0.000 0.668 0.778
## prntsth (.25.) 0.729 0.019 37.812 0.000 0.458 0.600
## imprtnt (.26.) 0.911 0.019 47.644 0.000 0.572 0.724
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.326 0.013 24.179 0.000 0.758 0.758
## SVS 0.271 0.013 20.568 0.000 0.587 0.587
## SCS ~~
## SVS 0.178 0.010 17.275 0.000 0.485 0.485
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 1.722 0.019 92.986 0.000 1.722 2.082
## .wishnotstudy 3.111 0.022 141.496 0.000 3.111 3.169
## .boring 2.991 0.022 133.501 0.000 2.991 2.990
## .learnthings 1.581 0.018 90.300 0.000 1.581 2.022
## .like 1.802 0.020 89.937 0.000 1.802 2.014
## .lookfrwrdtolrn 2.018 0.021 96.664 0.000 2.018 2.165
## .howworks 1.544 0.016 99.302 0.000 1.544 2.224
## .likeexperimnts 1.239 0.013 98.202 0.000 1.239 2.199
## .favorite 2.107 0.022 93.737 0.000 2.107 2.099
## .dowell 1.716 0.016 104.114 0.000 1.716 2.332
## .moredifficult 3.302 0.019 174.527 0.000 3.302 3.908
## .notstrength 3.314 0.020 168.432 0.000 3.314 3.772
## .learnquickly 1.905 0.018 106.295 0.000 1.905 2.380
## .goodtslvprblms 2.121 0.018 114.738 0.000 2.121 2.569
## .goodatsci 2.089 0.019 108.627 0.000 2.089 2.433
## .isharder 3.356 0.019 174.384 0.000 3.356 3.905
## .makesconfusd 3.183 0.021 152.444 0.000 3.183 3.414
## .willhelp 1.910 0.018 105.886 0.000 1.910 2.371
## .needforother 2.120 0.019 109.101 0.000 2.120 2.443
## .gettouni 2.109 0.021 100.722 0.000 2.109 2.256
## .togetjob 2.202 0.022 102.304 0.000 2.202 2.291
## .jobinvolves 2.447 0.023 108.074 0.000 2.447 2.420
## .getahead 1.989 0.019 104.109 0.000 1.989 2.331
## .jobopportunit 1.868 0.019 97.175 0.000 1.868 2.176
## .prntsthnkmprtn 1.783 0.017 104.448 0.000 1.783 2.339
## .importnttodwll 1.777 0.018 100.518 0.000 1.777 2.251
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.142 0.005 26.279 0.000 0.142 0.208
## .wishnotstudy 0.478 0.016 30.193 0.000 0.478 0.496
## .boring 0.438 0.015 29.823 0.000 0.438 0.438
## .learnthings 0.218 0.007 29.102 0.000 0.218 0.357
## .like 0.102 0.005 22.101 0.000 0.102 0.128
## .lookfrwrdtolrn 0.201 0.007 26.977 0.000 0.201 0.231
## .howworks 0.291 0.009 30.678 0.000 0.291 0.603
## .likeexperimnts 0.255 0.008 31.243 0.000 0.255 0.804
## .favorite 0.301 0.011 28.345 0.000 0.301 0.299
## .dowell 0.200 0.008 26.412 0.000 0.200 0.370
## .moredifficult 0.401 0.014 29.241 0.000 0.401 0.562
## .notstrength 0.359 0.013 28.111 0.000 0.359 0.465
## .learnquickly 0.225 0.009 26.004 0.000 0.225 0.352
## .goodtslvprblms 0.279 0.010 27.214 0.000 0.279 0.409
## .goodatsci 0.452 0.015 29.680 0.000 0.452 0.613
## .isharder 0.458 0.015 29.744 0.000 0.458 0.620
## .makesconfusd 0.520 0.018 29.559 0.000 0.520 0.598
## .willhelp 0.255 0.009 28.179 0.000 0.255 0.393
## .needforother 0.351 0.012 29.070 0.000 0.351 0.466
## .gettouni 0.248 0.010 26.013 0.000 0.248 0.283
## .togetjob 0.275 0.010 26.377 0.000 0.275 0.297
## .jobinvolves 0.471 0.016 29.015 0.000 0.471 0.461
## .getahead 0.284 0.010 28.137 0.000 0.284 0.389
## .jobopportunit 0.291 0.010 28.211 0.000 0.291 0.394
## .prntsthnkmprtn 0.372 0.012 30.343 0.000 0.372 0.640
## .importnttodwll 0.296 0.010 29.157 0.000 0.296 0.475
## SLS 0.542 0.020 27.306 0.000 1.000 1.000
## SCS 0.341 0.014 23.771 0.000 1.000 1.000
## SVS 0.394 0.017 23.420 0.000 1.000 1.000
##
##
## Group 2 [Girl]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.744 0.878
## wshntst (.p2.) -0.947 0.017 -56.396 0.000 -0.704 -0.730
## boring (.p3.) -1.019 0.017 -61.142 0.000 -0.758 -0.763
## lrnthng (.p4.) 0.852 0.013 66.682 0.000 0.634 0.788
## like (.p5.) 1.136 0.012 91.609 0.000 0.845 0.915
## lkfrwrd (.p6.) 1.110 0.014 81.418 0.000 0.826 0.882
## howwrks (.p7.) 0.594 0.013 44.944 0.000 0.442 0.603
## lkxprmn (.p8.) 0.339 0.012 28.374 0.000 0.252 0.407
## favorit (.p9.) 1.142 0.016 72.635 0.000 0.850 0.826
## SCS =~
## dowell 1.000 0.617 0.796
## mrdffcl (.11.) -0.956 0.021 -44.943 0.000 -0.590 -0.684
## ntstrng (.12.) -1.100 0.022 -49.979 0.000 -0.678 -0.737
## lrnqckl (.13.) 1.103 0.019 56.685 0.000 0.680 0.817
## gdtslvp (.14.) 1.086 0.020 53.533 0.000 0.670 0.782
## goodtsc (.15.) 0.915 0.022 42.104 0.000 0.564 0.650
## ishardr (.16.) -0.906 0.021 -42.287 0.000 -0.559 -0.659
## mkscnfs (.17.) -1.012 0.024 -42.582 0.000 -0.624 -0.652
## SVS =~
## willhlp 1.000 0.625 0.752
## ndfrthr (.19.) 1.010 0.021 48.443 0.000 0.631 0.727
## gettoun (.20.) 1.261 0.022 57.966 0.000 0.788 0.848
## togetjb (.21.) 1.284 0.022 57.182 0.000 0.802 0.837
## jbnvlvs (.22.) 1.183 0.024 48.953 0.000 0.739 0.736
## getahed (.23.) 1.063 0.020 52.459 0.000 0.664 0.778
## jbpprtn (.24.) 1.064 0.020 52.270 0.000 0.665 0.776
## prntsth (.25.) 0.729 0.019 37.812 0.000 0.456 0.570
## imprtnt (.26.) 0.911 0.019 47.644 0.000 0.569 0.712
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.350 0.014 24.636 0.000 0.764 0.764
## SVS 0.263 0.013 20.255 0.000 0.565 0.565
## SCS ~~
## SVS 0.184 0.011 17.392 0.000 0.479 0.479
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 1.970 0.019 105.521 0.000 1.970 2.324
## .wishnotstudy 2.991 0.021 140.636 0.000 2.991 3.098
## .boring 2.761 0.022 126.133 0.000 2.761 2.778
## .learnthings 1.752 0.018 98.830 0.000 1.752 2.177
## .like 2.061 0.020 101.284 0.000 2.061 2.231
## .lookfrwrdtolrn 2.305 0.021 111.676 0.000 2.305 2.460
## .howworks 1.610 0.016 99.624 0.000 1.610 2.194
## .likeexperimnts 1.303 0.014 95.300 0.000 1.303 2.099
## .favorite 2.481 0.023 109.516 0.000 2.481 2.412
## .dowell 1.869 0.017 109.641 0.000 1.869 2.415
## .moredifficult 3.237 0.019 170.341 0.000 3.237 3.752
## .notstrength 3.115 0.020 153.765 0.000 3.115 3.387
## .learnquickly 2.180 0.018 118.940 0.000 2.180 2.620
## .goodtslvprblms 2.461 0.019 130.449 0.000 2.461 2.873
## .goodatsci 2.262 0.019 118.329 0.000 2.262 2.606
## .isharder 3.270 0.019 175.195 0.000 3.270 3.859
## .makesconfusd 3.008 0.021 142.725 0.000 3.008 3.144
## .willhelp 1.952 0.018 106.746 0.000 1.952 2.351
## .needforother 2.212 0.019 115.659 0.000 2.212 2.548
## .gettouni 2.172 0.020 106.083 0.000 2.172 2.337
## .togetjob 2.247 0.021 106.451 0.000 2.247 2.345
## .jobinvolves 2.535 0.022 114.632 0.000 2.535 2.525
## .getahead 1.983 0.019 105.531 0.000 1.983 2.325
## .jobopportunit 1.963 0.019 104.061 0.000 1.963 2.292
## .prntsthnkmprtn 1.844 0.018 104.666 0.000 1.844 2.305
## .importnttodwll 1.873 0.018 106.407 0.000 1.873 2.344
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.165 0.006 26.886 0.000 0.165 0.229
## .wishnotstudy 0.436 0.014 30.349 0.000 0.436 0.468
## .boring 0.412 0.014 29.953 0.000 0.412 0.418
## .learnthings 0.246 0.008 29.582 0.000 0.246 0.379
## .like 0.140 0.006 24.160 0.000 0.140 0.164
## .lookfrwrdtolrn 0.196 0.007 26.673 0.000 0.196 0.223
## .howworks 0.343 0.011 31.228 0.000 0.343 0.637
## .likeexperimnts 0.321 0.010 31.799 0.000 0.321 0.835
## .favorite 0.335 0.012 28.775 0.000 0.335 0.317
## .dowell 0.219 0.008 27.135 0.000 0.219 0.366
## .moredifficult 0.396 0.013 29.600 0.000 0.396 0.533
## .notstrength 0.386 0.013 28.704 0.000 0.386 0.457
## .learnquickly 0.231 0.009 26.354 0.000 0.231 0.333
## .goodtslvprblms 0.285 0.010 27.599 0.000 0.285 0.389
## .goodatsci 0.435 0.014 30.014 0.000 0.435 0.577
## .isharder 0.406 0.014 29.905 0.000 0.406 0.565
## .makesconfusd 0.527 0.018 29.999 0.000 0.527 0.575
## .willhelp 0.299 0.010 29.097 0.000 0.299 0.434
## .needforother 0.356 0.012 29.516 0.000 0.356 0.472
## .gettouni 0.243 0.009 26.176 0.000 0.243 0.282
## .togetjob 0.275 0.010 26.676 0.000 0.275 0.300
## .jobinvolves 0.461 0.016 29.366 0.000 0.461 0.458
## .getahead 0.287 0.010 28.555 0.000 0.287 0.395
## .jobopportunit 0.291 0.010 28.588 0.000 0.291 0.397
## .prntsthnkmprtn 0.432 0.014 30.999 0.000 0.432 0.675
## .importnttodwll 0.315 0.011 29.730 0.000 0.315 0.493
## SLS 0.554 0.020 27.539 0.000 1.000 1.000
## SCS 0.380 0.016 24.077 0.000 1.000 1.000
## SVS 0.390 0.017 23.486 0.000 1.000 1.000
A CFA model with gender variable added, controlling for strong/scalar factorial invariance.
strongInOutput <- cfa(model = cfaConfigure, data = timss_NOR,
group = "gender",
group.equal = c("loadings", "intercepts"))
summary(strongInOutput, standardized = TRUE, fit.measures = TRUE)
## lavaan 0.6-4 ended normally after 84 iterations
##
## Optimization method NLMINB
## Number of free parameters 165
## Number of equality constraints 49
## Row rank of the constraints matrix 49
##
## Used Total
## Number of observations per group
## Boy 1994 2378
## Girl 2061 2379
##
## Estimator ML
## Model Fit Test Statistic 9977.707
## Degrees of freedom 638
## P-value (Chi-square) 0.000
##
## Chi-square for each group:
##
## Boy 5042.550
## Girl 4935.157
##
## Model test baseline model:
##
## Minimum Function Test Statistic 75524.783
## Degrees of freedom 650
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 0.875
## Tucker-Lewis Index (TLI) 0.873
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -100726.771
## Loglikelihood unrestricted model (H1) -95737.917
##
## Number of free parameters 116
## Akaike (AIC) 201685.542
## Bayesian (BIC) 202417.236
## Sample-size adjusted Bayesian (BIC) 202048.639
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.085
## 90 Percent Confidence Interval 0.084 0.086
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.060
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard Errors Standard
##
##
## Group 1 [Boy]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.737 0.890
## wshntst (.p2.) -0.934 0.017 -56.456 0.000 -0.688 -0.704
## boring (.p3.) -1.016 0.016 -61.903 0.000 -0.749 -0.749
## lrnthng (.p4.) 0.847 0.013 67.374 0.000 0.625 0.801
## like (.p5.) 1.133 0.012 92.929 0.000 0.835 0.934
## lkfrwrd (.p6.) 1.112 0.013 82.715 0.000 0.819 0.877
## howwrks (.p7.) 0.585 0.013 44.904 0.000 0.431 0.623
## lkxprmn (.p8.) 0.337 0.012 28.597 0.000 0.248 0.441
## favorit (.p9.) 1.152 0.016 73.936 0.000 0.849 0.839
## SCS =~
## dowell 1.000 0.581 0.792
## mrdffcl (.11.) -0.940 0.021 -44.547 0.000 -0.546 -0.649
## ntstrng (.12.) -1.100 0.022 -50.305 0.000 -0.639 -0.728
## lrnqckl (.13.) 1.120 0.019 57.647 0.000 0.650 0.809
## gdtslvp (.14.) 1.112 0.020 54.558 0.000 0.646 0.774
## goodtsc (.15.) 0.921 0.022 42.710 0.000 0.535 0.624
## ishardr (.16.) -0.895 0.021 -42.078 0.000 -0.520 -0.607
## mkscnfs (.17.) -1.012 0.024 -42.881 0.000 -0.588 -0.631
## SVS =~
## willhlp 1.000 0.627 0.779
## ndfrthr (.19.) 1.012 0.021 48.496 0.000 0.635 0.731
## gettoun (.20.) 1.262 0.022 58.000 0.000 0.792 0.847
## togetjb (.21.) 1.284 0.022 57.196 0.000 0.805 0.838
## jbnvlvs (.22.) 1.185 0.024 49.009 0.000 0.743 0.735
## getahed (.23.) 1.060 0.020 52.358 0.000 0.665 0.780
## jbpprtn (.24.) 1.066 0.020 52.312 0.000 0.669 0.778
## prntsth (.25.) 0.731 0.019 37.870 0.000 0.458 0.601
## imprtnt (.26.) 0.913 0.019 47.700 0.000 0.573 0.725
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.325 0.013 24.227 0.000 0.759 0.759
## SVS 0.271 0.013 20.576 0.000 0.587 0.587
## SCS ~~
## SVS 0.177 0.010 17.335 0.000 0.487 0.487
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.59.) 1.727 0.018 97.049 0.000 1.727 2.087
## .wshntst (.60.) 3.164 0.019 166.661 0.000 3.164 3.237
## .boring (.61.) 2.996 0.020 150.457 0.000 2.996 2.997
## .lrnthng (.62.) 1.567 0.016 97.466 0.000 1.567 2.009
## .like (.63.) 1.798 0.020 91.563 0.000 1.798 2.011
## .lkfrwrd (.64.) 2.030 0.020 102.086 0.000 2.030 2.174
## .howwrks (.65.) 1.510 0.013 114.111 0.000 1.510 2.183
## .lkxprmn (.66.) 1.232 0.010 121.183 0.000 1.232 2.189
## .favorit (.67.) 2.156 0.021 101.603 0.000 2.156 2.131
## .dowell (.68.) 1.695 0.015 111.521 0.000 1.695 2.312
## .mrdffcl (.69.) 3.363 0.016 207.965 0.000 3.363 3.998
## .ntstrng (.70.) 3.322 0.018 188.414 0.000 3.322 3.783
## .lrnqckl (.71.) 1.933 0.017 115.239 0.000 1.933 2.404
## .gdtslvp (.72.) 2.183 0.017 127.532 0.000 2.183 2.614
## .goodtsc (.73.) 2.085 0.016 128.244 0.000 2.085 2.429
## .ishardr (.74.) 3.404 0.016 213.176 0.000 3.404 3.974
## .mkscnfs (.75.) 3.194 0.018 179.634 0.000 3.194 3.430
## .willhlp (.76.) 1.904 0.016 115.467 0.000 1.904 2.364
## .ndfrthr (.77.) 2.138 0.017 124.039 0.000 2.138 2.462
## .gettoun (.78.) 2.105 0.020 107.016 0.000 2.105 2.252
## .togetjb (.79.) 2.188 0.020 108.682 0.000 2.188 2.278
## .jbnvlvs (.80.) 2.458 0.020 122.463 0.000 2.458 2.430
## .getahed (.81.) 1.956 0.017 112.757 0.000 1.956 2.294
## .jbpprtn (.82.) 1.886 0.017 108.023 0.000 1.886 2.195
## .prntsth (.83.) 1.793 0.014 124.409 0.000 1.793 2.350
## .imprtnt (.84.) 1.799 0.016 114.707 0.000 1.799 2.276
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.142 0.005 26.258 0.000 0.142 0.207
## .wishnotstudy 0.483 0.016 30.238 0.000 0.483 0.505
## .boring 0.439 0.015 29.830 0.000 0.439 0.439
## .learnthings 0.219 0.008 29.127 0.000 0.219 0.359
## .like 0.102 0.005 22.105 0.000 0.102 0.128
## .lookfrwrdtolrn 0.201 0.007 26.948 0.000 0.201 0.230
## .howworks 0.292 0.010 30.708 0.000 0.292 0.611
## .likeexperimnts 0.255 0.008 31.246 0.000 0.255 0.805
## .favorite 0.303 0.011 28.304 0.000 0.303 0.296
## .dowell 0.200 0.008 26.474 0.000 0.200 0.373
## .moredifficult 0.409 0.014 29.384 0.000 0.409 0.578
## .notstrength 0.363 0.013 28.175 0.000 0.363 0.470
## .learnquickly 0.224 0.009 25.849 0.000 0.224 0.346
## .goodtslvprblms 0.280 0.010 27.069 0.000 0.280 0.402
## .goodatsci 0.450 0.015 29.667 0.000 0.450 0.611
## .isharder 0.463 0.016 29.831 0.000 0.463 0.632
## .makesconfusd 0.522 0.018 29.590 0.000 0.522 0.602
## .willhelp 0.255 0.009 28.181 0.000 0.255 0.393
## .needforother 0.351 0.012 29.064 0.000 0.351 0.466
## .gettouni 0.248 0.010 26.006 0.000 0.248 0.283
## .togetjob 0.275 0.010 26.381 0.000 0.275 0.298
## .jobinvolves 0.471 0.016 29.009 0.000 0.471 0.460
## .getahead 0.285 0.010 28.173 0.000 0.285 0.392
## .jobopportunit 0.291 0.010 28.205 0.000 0.291 0.394
## .prntsthnkmprtn 0.372 0.012 30.339 0.000 0.372 0.639
## .importnttodwll 0.297 0.010 29.151 0.000 0.297 0.475
## SLS 0.543 0.020 27.381 0.000 1.000 1.000
## SCS 0.337 0.014 23.812 0.000 1.000 1.000
## SVS 0.393 0.017 23.420 0.000 1.000 1.000
##
##
## Group 2 [Girl]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.745 0.878
## wshntst (.p2.) -0.934 0.017 -56.456 0.000 -0.696 -0.724
## boring (.p3.) -1.016 0.016 -61.903 0.000 -0.757 -0.763
## lrnthng (.p4.) 0.847 0.013 67.374 0.000 0.631 0.786
## like (.p5.) 1.133 0.012 92.929 0.000 0.844 0.914
## lkfrwrd (.p6.) 1.112 0.013 82.715 0.000 0.828 0.882
## howwrks (.p7.) 0.585 0.013 44.904 0.000 0.436 0.596
## lkxprmn (.p8.) 0.337 0.012 28.597 0.000 0.251 0.405
## favorit (.p9.) 1.152 0.016 73.936 0.000 0.858 0.828
## SCS =~
## dowell 1.000 0.613 0.794
## mrdffcl (.11.) -0.940 0.021 -44.547 0.000 -0.576 -0.672
## ntstrng (.12.) -1.100 0.022 -50.305 0.000 -0.674 -0.734
## lrnqckl (.13.) 1.120 0.019 57.647 0.000 0.686 0.820
## gdtslvp (.14.) 1.112 0.020 54.558 0.000 0.682 0.786
## goodtsc (.15.) 0.921 0.022 42.710 0.000 0.565 0.651
## ishardr (.16.) -0.895 0.021 -42.078 0.000 -0.548 -0.650
## mkscnfs (.17.) -1.012 0.024 -42.881 0.000 -0.620 -0.649
## SVS =~
## willhlp 1.000 0.624 0.752
## ndfrthr (.19.) 1.012 0.021 48.496 0.000 0.632 0.727
## gettoun (.20.) 1.262 0.022 58.000 0.000 0.788 0.848
## togetjb (.21.) 1.284 0.022 57.196 0.000 0.801 0.837
## jbnvlvs (.22.) 1.185 0.024 49.009 0.000 0.740 0.737
## getahed (.23.) 1.060 0.020 52.358 0.000 0.662 0.776
## jbpprtn (.24.) 1.066 0.020 52.312 0.000 0.666 0.777
## prntsth (.25.) 0.731 0.019 37.870 0.000 0.456 0.570
## imprtnt (.26.) 0.913 0.019 47.700 0.000 0.570 0.712
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.349 0.014 24.683 0.000 0.765 0.765
## SVS 0.263 0.013 20.259 0.000 0.565 0.565
## SCS ~~
## SVS 0.184 0.011 17.433 0.000 0.480 0.480
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.59.) 1.727 0.018 97.049 0.000 1.727 2.036
## .wshntst (.60.) 3.164 0.019 166.661 0.000 3.164 3.294
## .boring (.61.) 2.996 0.020 150.457 0.000 2.996 3.017
## .lrnthng (.62.) 1.567 0.016 97.466 0.000 1.567 1.951
## .like (.63.) 1.798 0.020 91.563 0.000 1.798 1.948
## .lkfrwrd (.64.) 2.030 0.020 102.086 0.000 2.030 2.162
## .howwrks (.65.) 1.510 0.013 114.111 0.000 1.510 2.066
## .lkxprmn (.66.) 1.232 0.010 121.183 0.000 1.232 1.986
## .favorit (.67.) 2.156 0.021 101.603 0.000 2.156 2.080
## .dowell (.68.) 1.695 0.015 111.521 0.000 1.695 2.197
## .mrdffcl (.69.) 3.363 0.016 207.965 0.000 3.363 3.920
## .ntstrng (.70.) 3.322 0.018 188.414 0.000 3.322 3.617
## .lrnqckl (.71.) 1.933 0.017 115.239 0.000 1.933 2.311
## .gdtslvp (.72.) 2.183 0.017 127.532 0.000 2.183 2.517
## .goodtsc (.73.) 2.085 0.016 128.244 0.000 2.085 2.404
## .ishardr (.74.) 3.404 0.016 213.176 0.000 3.404 4.035
## .mkscnfs (.75.) 3.194 0.018 179.634 0.000 3.194 3.343
## .willhlp (.76.) 1.904 0.016 115.467 0.000 1.904 2.293
## .ndfrthr (.77.) 2.138 0.017 124.039 0.000 2.138 2.460
## .gettoun (.78.) 2.105 0.020 107.016 0.000 2.105 2.265
## .togetjb (.79.) 2.188 0.020 108.682 0.000 2.188 2.285
## .jbnvlvs (.80.) 2.458 0.020 122.463 0.000 2.458 2.448
## .getahed (.81.) 1.956 0.017 112.757 0.000 1.956 2.295
## .jbpprtn (.82.) 1.886 0.017 108.023 0.000 1.886 2.201
## .prntsth (.83.) 1.793 0.014 124.409 0.000 1.793 2.241
## .imprtnt (.84.) 1.799 0.016 114.707 0.000 1.799 2.248
## SLS 0.237 0.024 9.893 0.000 0.318 0.318
## SCS 0.195 0.020 9.836 0.000 0.319 0.319
## SVS 0.056 0.020 2.738 0.006 0.089 0.089
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy 0.165 0.006 26.864 0.000 0.165 0.229
## .wishnotstudy 0.439 0.014 30.404 0.000 0.439 0.476
## .boring 0.413 0.014 29.960 0.000 0.413 0.419
## .learnthings 0.246 0.008 29.608 0.000 0.246 0.382
## .like 0.140 0.006 24.168 0.000 0.140 0.164
## .lookfrwrdtolrn 0.195 0.007 26.634 0.000 0.195 0.221
## .howworks 0.344 0.011 31.256 0.000 0.344 0.644
## .likeexperimnts 0.322 0.010 31.802 0.000 0.322 0.836
## .favorite 0.338 0.012 28.731 0.000 0.338 0.314
## .dowell 0.220 0.008 27.203 0.000 0.220 0.369
## .moredifficult 0.404 0.014 29.751 0.000 0.404 0.549
## .notstrength 0.389 0.014 28.757 0.000 0.389 0.461
## .learnquickly 0.229 0.009 26.187 0.000 0.229 0.327
## .goodtslvprblms 0.287 0.010 27.455 0.000 0.287 0.382
## .goodatsci 0.433 0.014 30.000 0.000 0.433 0.576
## .isharder 0.411 0.014 30.008 0.000 0.411 0.577
## .makesconfusd 0.529 0.018 30.027 0.000 0.529 0.579
## .willhelp 0.300 0.010 29.099 0.000 0.300 0.435
## .needforother 0.356 0.012 29.510 0.000 0.356 0.471
## .gettouni 0.243 0.009 26.169 0.000 0.243 0.282
## .togetjob 0.275 0.010 26.679 0.000 0.275 0.300
## .jobinvolves 0.461 0.016 29.359 0.000 0.461 0.458
## .getahead 0.289 0.010 28.589 0.000 0.289 0.397
## .jobopportunit 0.292 0.010 28.582 0.000 0.292 0.397
## .prntsthnkmprtn 0.432 0.014 30.996 0.000 0.432 0.675
## .importnttodwll 0.316 0.011 29.724 0.000 0.316 0.493
## SLS 0.555 0.020 27.617 0.000 1.000 1.000
## SCS 0.376 0.016 24.119 0.000 1.000 1.000
## SVS 0.390 0.017 23.487 0.000 1.000 1.000
A CFA model with gender variable added, controlling for strict factorial invariance.
strictInOutput <- cfa(model = cfaConfigure, data = timss_NOR,
group = "gender",
group.equal = c("loadings", "intercepts", "residuals"))
summary(strictInOutput, standardized = TRUE, fit.measures = TRUE)
## lavaan 0.6-4 ended normally after 86 iterations
##
## Optimization method NLMINB
## Number of free parameters 165
## Number of equality constraints 75
## Row rank of the constraints matrix 75
##
## Used Total
## Number of observations per group
## Boy 1994 2378
## Girl 2061 2379
##
## Estimator ML
## Model Fit Test Statistic 10104.734
## Degrees of freedom 664
## P-value (Chi-square) 0.000
##
## Chi-square for each group:
##
## Boy 5115.071
## Girl 4989.662
##
## Model test baseline model:
##
## Minimum Function Test Statistic 75524.783
## Degrees of freedom 650
## P-value 0.000
##
## User model versus baseline model:
##
## Comparative Fit Index (CFI) 0.874
## Tucker-Lewis Index (TLI) 0.877
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -100790.284
## Loglikelihood unrestricted model (H1) -95737.917
##
## Number of free parameters 90
## Akaike (AIC) 201760.569
## Bayesian (BIC) 202328.262
## Sample-size adjusted Bayesian (BIC) 202042.282
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.084
## 90 Percent Confidence Interval 0.082 0.085
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.061
##
## Parameter Estimates:
##
## Information Expected
## Information saturated (h1) model Structured
## Standard Errors Standard
##
##
## Group 1 [Boy]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.737 0.883
## wshntst (.p2.) -0.934 0.017 -56.506 0.000 -0.688 -0.712
## boring (.p3.) -1.016 0.016 -61.965 0.000 -0.749 -0.754
## lrnthng (.p4.) 0.846 0.013 67.256 0.000 0.623 0.791
## like (.p5.) 1.132 0.012 92.531 0.000 0.834 0.923
## lkfrwrd (.p6.) 1.111 0.013 82.754 0.000 0.818 0.879
## howwrks (.p7.) 0.580 0.013 44.509 0.000 0.428 0.604
## lkxprmn (.p8.) 0.335 0.012 28.311 0.000 0.247 0.417
## favorit (.p9.) 1.151 0.016 73.849 0.000 0.848 0.831
## SCS =~
## dowell 1.000 0.580 0.785
## mrdffcl (.11.) -0.941 0.021 -44.570 0.000 -0.546 -0.651
## ntstrng (.12.) -1.101 0.022 -50.373 0.000 -0.639 -0.722
## lrnqckl (.13.) 1.120 0.019 57.645 0.000 0.650 0.807
## gdtslvp (.14.) 1.112 0.020 54.534 0.000 0.645 0.771
## goodtsc (.15.) 0.922 0.022 42.689 0.000 0.535 0.627
## ishardr (.16.) -0.894 0.021 -41.952 0.000 -0.519 -0.617
## mkscnfs (.17.) -1.012 0.024 -42.899 0.000 -0.587 -0.630
## SVS =~
## willhlp 1.000 0.626 0.765
## ndfrthr (.19.) 1.014 0.021 48.406 0.000 0.635 0.730
## gettoun (.20.) 1.264 0.022 57.828 0.000 0.791 0.848
## togetjb (.21.) 1.286 0.023 57.016 0.000 0.805 0.838
## jbnvlvs (.22.) 1.187 0.024 48.901 0.000 0.743 0.736
## getahed (.23.) 1.062 0.020 52.226 0.000 0.665 0.779
## jbpprtn (.24.) 1.068 0.020 52.178 0.000 0.668 0.778
## prntsth (.25.) 0.731 0.019 37.689 0.000 0.457 0.585
## imprtnt (.26.) 0.914 0.019 47.559 0.000 0.572 0.719
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.326 0.013 24.221 0.000 0.762 0.762
## SVS 0.271 0.013 20.531 0.000 0.588 0.588
## SCS ~~
## SVS 0.176 0.010 17.250 0.000 0.485 0.485
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.59.) 1.727 0.018 96.905 0.000 1.727 2.071
## .wshntst (.60.) 3.162 0.019 166.721 0.000 3.162 3.274
## .boring (.61.) 2.996 0.020 150.620 0.000 2.996 3.018
## .lrnthng (.62.) 1.566 0.016 97.385 0.000 1.566 1.987
## .like (.63.) 1.798 0.020 91.239 0.000 1.798 1.989
## .lkfrwrd (.64.) 2.030 0.020 102.260 0.000 2.030 2.181
## .howwrks (.65.) 1.507 0.013 114.015 0.000 1.507 2.128
## .lkxprmn (.66.) 1.231 0.010 120.385 0.000 1.231 2.080
## .favorit (.67.) 2.159 0.021 101.692 0.000 2.159 2.117
## .dowell (.68.) 1.695 0.015 111.261 0.000 1.695 2.291
## .mrdffcl (.69.) 3.362 0.016 208.041 0.000 3.362 4.007
## .ntstrng (.70.) 3.322 0.018 188.100 0.000 3.322 3.752
## .lrnqckl (.71.) 1.934 0.017 115.245 0.000 1.934 2.400
## .gdtslvp (.72.) 2.184 0.017 127.597 0.000 2.184 2.609
## .goodtsc (.73.) 2.085 0.016 128.351 0.000 2.085 2.444
## .ishardr (.74.) 3.401 0.016 213.605 0.000 3.401 4.048
## .mkscnfs (.75.) 3.194 0.018 179.621 0.000 3.194 3.424
## .willhlp (.76.) 1.903 0.017 115.273 0.000 1.903 2.326
## .ndfrthr (.77.) 2.138 0.017 124.045 0.000 2.138 2.459
## .gettoun (.78.) 2.105 0.020 107.094 0.000 2.105 2.256
## .togetjb (.79.) 2.188 0.020 108.719 0.000 2.188 2.278
## .jbnvlvs (.80.) 2.458 0.020 122.524 0.000 2.458 2.436
## .getahed (.81.) 1.956 0.017 112.767 0.000 1.956 2.292
## .jbpprtn (.82.) 1.886 0.017 108.056 0.000 1.886 2.195
## .prntsth (.83.) 1.793 0.014 124.256 0.000 1.793 2.293
## .imprtnt (.84.) 1.800 0.016 114.724 0.000 1.800 2.261
## SLS 0.000 0.000 0.000
## SCS 0.000 0.000 0.000
## SVS 0.000 0.000 0.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.27.) 0.153 0.004 37.344 0.000 0.153 0.220
## .wshntst (.28.) 0.460 0.011 42.825 0.000 0.460 0.493
## .boring (.29.) 0.425 0.010 42.202 0.000 0.425 0.431
## .lrnthng (.30.) 0.233 0.006 41.445 0.000 0.233 0.375
## .like (.31.) 0.121 0.004 32.601 0.000 0.121 0.149
## .lkfrwrd (.32.) 0.197 0.005 37.684 0.000 0.197 0.228
## .howwrks (.33.) 0.319 0.007 43.805 0.000 0.319 0.636
## .lkxprmn (.34.) 0.289 0.006 44.579 0.000 0.289 0.826
## .favorit (.35.) 0.321 0.008 40.206 0.000 0.321 0.309
## .dowell (.36.) 0.210 0.006 37.654 0.000 0.210 0.384
## .mrdffcl (.37.) 0.406 0.010 41.666 0.000 0.406 0.576
## .ntstrng (.38.) 0.375 0.009 40.030 0.000 0.375 0.479
## .lrnqckl (.39.) 0.227 0.006 36.444 0.000 0.227 0.349
## .gdtslvp (.40.) 0.284 0.007 38.285 0.000 0.284 0.406
## .goodtsc (.41.) 0.442 0.011 42.067 0.000 0.442 0.607
## .ishardr (.42.) 0.437 0.010 42.212 0.000 0.437 0.619
## .mkscnfs (.43.) 0.525 0.013 42.025 0.000 0.525 0.604
## .willhlp (.44.) 0.278 0.007 40.381 0.000 0.278 0.415
## .ndfrthr (.45.) 0.354 0.009 41.281 0.000 0.354 0.467
## .gettoun (.46.) 0.245 0.007 36.594 0.000 0.245 0.282
## .togetjb (.47.) 0.275 0.007 37.250 0.000 0.275 0.298
## .jbnvlvs (.48.) 0.466 0.011 41.136 0.000 0.466 0.458
## .getahed (.49.) 0.287 0.007 39.957 0.000 0.287 0.394
## .jbpprtn (.50.) 0.291 0.007 39.977 0.000 0.291 0.395
## .prntsth (.51.) 0.402 0.009 43.325 0.000 0.402 0.658
## .imprtnt (.52.) 0.306 0.007 41.515 0.000 0.306 0.483
## SLS 0.543 0.020 27.297 0.000 1.000 1.000
## SCS 0.337 0.014 23.742 0.000 1.000 1.000
## SVS 0.392 0.017 23.293 0.000 1.000 1.000
##
##
## Group 2 [Girl]:
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS =~
## enjoy 1.000 0.747 0.886
## wshntst (.p2.) -0.934 0.017 -56.506 0.000 -0.698 -0.717
## boring (.p3.) -1.016 0.016 -61.965 0.000 -0.760 -0.759
## lrnthng (.p4.) 0.846 0.013 67.256 0.000 0.632 0.795
## like (.p5.) 1.132 0.012 92.531 0.000 0.846 0.925
## lkfrwrd (.p6.) 1.111 0.013 82.754 0.000 0.830 0.882
## howwrks (.p7.) 0.580 0.013 44.509 0.000 0.434 0.609
## lkxprmn (.p8.) 0.335 0.012 28.311 0.000 0.250 0.422
## favorit (.p9.) 1.151 0.016 73.849 0.000 0.860 0.835
## SCS =~
## dowell 1.000 0.613 0.801
## mrdffcl (.11.) -0.941 0.021 -44.570 0.000 -0.577 -0.671
## ntstrng (.12.) -1.101 0.022 -50.373 0.000 -0.675 -0.741
## lrnqckl (.13.) 1.120 0.019 57.645 0.000 0.687 0.822
## gdtslvp (.14.) 1.112 0.020 54.534 0.000 0.682 0.788
## goodtsc (.15.) 0.922 0.022 42.689 0.000 0.565 0.648
## ishardr (.16.) -0.894 0.021 -41.952 0.000 -0.548 -0.638
## mkscnfs (.17.) -1.012 0.024 -42.899 0.000 -0.620 -0.650
## SVS =~
## willhlp 1.000 0.623 0.764
## ndfrthr (.19.) 1.014 0.021 48.406 0.000 0.632 0.728
## gettoun (.20.) 1.264 0.022 57.828 0.000 0.788 0.847
## togetjb (.21.) 1.286 0.023 57.016 0.000 0.802 0.837
## jbnvlvs (.22.) 1.187 0.024 48.901 0.000 0.740 0.735
## getahed (.23.) 1.062 0.020 52.226 0.000 0.662 0.777
## jbpprtn (.24.) 1.068 0.020 52.178 0.000 0.666 0.777
## prntsth (.25.) 0.731 0.019 37.689 0.000 0.455 0.583
## imprtnt (.26.) 0.914 0.019 47.559 0.000 0.570 0.717
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## SLS ~~
## SCS 0.350 0.014 24.692 0.000 0.763 0.763
## SVS 0.263 0.013 20.269 0.000 0.564 0.564
## SCS ~~
## SVS 0.184 0.011 17.483 0.000 0.481 0.481
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.59.) 1.727 0.018 96.905 0.000 1.727 2.048
## .wshntst (.60.) 3.162 0.019 166.721 0.000 3.162 3.250
## .boring (.61.) 2.996 0.020 150.620 0.000 2.996 2.993
## .lrnthng (.62.) 1.566 0.016 97.385 0.000 1.566 1.969
## .like (.63.) 1.798 0.020 91.239 0.000 1.798 1.965
## .lkfrwrd (.64.) 2.030 0.020 102.260 0.000 2.030 2.156
## .howwrks (.65.) 1.507 0.013 114.015 0.000 1.507 2.116
## .lkxprmn (.66.) 1.231 0.010 120.385 0.000 1.231 2.075
## .favorit (.67.) 2.159 0.021 101.692 0.000 2.159 2.096
## .dowell (.68.) 1.695 0.015 111.261 0.000 1.695 2.213
## .mrdffcl (.69.) 3.362 0.016 208.041 0.000 3.362 3.912
## .ntstrng (.70.) 3.322 0.018 188.100 0.000 3.322 3.644
## .lrnqckl (.71.) 1.934 0.017 115.245 0.000 1.934 2.314
## .gdtslvp (.72.) 2.184 0.017 127.597 0.000 2.184 2.524
## .goodtsc (.73.) 2.085 0.016 128.351 0.000 2.085 2.390
## .ishardr (.74.) 3.401 0.016 213.605 0.000 3.401 3.962
## .mkscnfs (.75.) 3.194 0.018 179.621 0.000 3.194 3.348
## .willhlp (.76.) 1.903 0.017 115.273 0.000 1.903 2.332
## .ndfrthr (.77.) 2.138 0.017 124.045 0.000 2.138 2.464
## .gettoun (.78.) 2.105 0.020 107.094 0.000 2.105 2.262
## .togetjb (.79.) 2.188 0.020 108.719 0.000 2.188 2.284
## .jbnvlvs (.80.) 2.458 0.020 122.524 0.000 2.458 2.441
## .getahed (.81.) 1.956 0.017 112.767 0.000 1.956 2.297
## .jbpprtn (.82.) 1.886 0.017 108.056 0.000 1.886 2.200
## .prntsth (.83.) 1.793 0.014 124.256 0.000 1.793 2.296
## .imprtnt (.84.) 1.800 0.016 114.724 0.000 1.800 2.266
## SLS 0.237 0.024 9.892 0.000 0.317 0.317
## SCS 0.195 0.020 9.833 0.000 0.319 0.319
## SVS 0.056 0.020 2.739 0.006 0.089 0.089
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .enjoy (.27.) 0.153 0.004 37.344 0.000 0.153 0.215
## .wshntst (.28.) 0.460 0.011 42.825 0.000 0.460 0.486
## .boring (.29.) 0.425 0.010 42.202 0.000 0.425 0.424
## .lrnthng (.30.) 0.233 0.006 41.445 0.000 0.233 0.368
## .like (.31.) 0.121 0.004 32.601 0.000 0.121 0.145
## .lkfrwrd (.32.) 0.197 0.005 37.684 0.000 0.197 0.223
## .howwrks (.33.) 0.319 0.007 43.805 0.000 0.319 0.629
## .lkxprmn (.34.) 0.289 0.006 44.579 0.000 0.289 0.822
## .favorit (.35.) 0.321 0.008 40.206 0.000 0.321 0.303
## .dowell (.36.) 0.210 0.006 37.654 0.000 0.210 0.359
## .mrdffcl (.37.) 0.406 0.010 41.666 0.000 0.406 0.550
## .ntstrng (.38.) 0.375 0.009 40.030 0.000 0.375 0.451
## .lrnqckl (.39.) 0.227 0.006 36.444 0.000 0.227 0.325
## .gdtslvp (.40.) 0.284 0.007 38.285 0.000 0.284 0.379
## .goodtsc (.41.) 0.442 0.011 42.067 0.000 0.442 0.581
## .ishardr (.42.) 0.437 0.010 42.212 0.000 0.437 0.593
## .mkscnfs (.43.) 0.525 0.013 42.025 0.000 0.525 0.577
## .willhlp (.44.) 0.278 0.007 40.381 0.000 0.278 0.417
## .ndfrthr (.45.) 0.354 0.009 41.281 0.000 0.354 0.469
## .gettoun (.46.) 0.245 0.007 36.594 0.000 0.245 0.283
## .togetjb (.47.) 0.275 0.007 37.250 0.000 0.275 0.300
## .jbnvlvs (.48.) 0.466 0.011 41.136 0.000 0.466 0.460
## .getahed (.49.) 0.287 0.007 39.957 0.000 0.287 0.396
## .jbpprtn (.50.) 0.291 0.007 39.977 0.000 0.291 0.397
## .prntsth (.51.) 0.402 0.009 43.325 0.000 0.402 0.660
## .imprtnt (.52.) 0.306 0.007 41.515 0.000 0.306 0.485
## SLS 0.559 0.020 27.702 0.000 1.000 1.000
## SCS 0.376 0.016 24.201 0.000 1.000 1.000
## SVS 0.389 0.017 23.527 0.000 1.000 1.000
semPaths(configOutput)
semPaths(weakInOutput)
semPaths(strongInOutput)
semPaths(strictInOutput)
library(semTools)
measurementInvariance(model = cfaConfigure, data=timss_NOR, group = "gender")
##
## Measurement invariance models:
##
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
##
## Chi Square Difference Test
##
## Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural 592 201462 202484 9661.8
## fit.loadings 615 201475 202352 9721.6 59.771 23 4.122e-05 ***
## fit.intercepts 638 201686 202417 9977.7 256.095 23 < 2.2e-16 ***
## fit.means 641 201805 202518 10103.5 125.807 3 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Fit measures:
##
## cfi rmsea cfi.delta rmsea.delta
## fit.configural 0.879 0.087 NA NA
## fit.loadings 0.878 0.085 0.000 0.001
## fit.intercepts 0.875 0.085 0.003 0.000
## fit.means 0.874 0.085 0.002 0.000
Judging by the fit measures, it is diffucult to say which model is of the best fit. If we look at the comparative fit index (CFI), we could say that the best model is the first one (fit.configural) with configural invariance, as it has the largest CFI. However, it certainly loses when RMSEA across models are compared - the first model has the largest from the zero value, while model 2 (fit.loadings - weak/metric invariance), model 3 (fit.intercepts - strong/scalar invariance), and model 4 (fit.means - strict invariance) are the same compared by this measure. So it is not clear which model should be prefered, i.e., which type of the variance is present. Yet, both indeces indicate bad fit - CFI should be higher than 0.9 at least, while RMSEA should be below or equal to 0.08 for the model to demonstrate a good fit.