Setup

#Packages

library(pacman); p_load(psych, lavaan, semPlot)

#Functions

CONGO <- function(F1, F2) {
  PHI = sum(F1*F2) / sqrt(sum(F1^2)*sum(F2^2))
  return(PHI)}

CRITR <- function(n, alpha = .05) {
  df <- n - 2; CRITT <- qt(alpha/2, df, lower.tail = F)
  CRITR <- sqrt((CRITT^2)/((CRITT^2) + df ))
  return(CRITR)}

NP <- function(N, S = 2) {
  NP = 1-pnorm(qnorm(1-(N^(-6/5))/S))
  return(NP)}

#Model Fit Measures

FITM <- c("chisq", "df", "nPar", "cfi", "rmsea", "rmsea.ci.lower", "rmsea.ci.upper", "aic", "bic")
#Data

##Correlation Matrices

lowerCANEA <-'
1                           
0.57    1                       
0.79    0.57    1                   
0.62    0.65    0.6 1               
0.69    0.51    0.7 0.53    1           
0.83    0.54    0.74    0.57    0.71    1       
0.56    0.59    0.58    0.71    0.65    0.58    1   
0.51    0.66    0.55    0.62    0.51    0.53    0.62    1'

lowerCANEAWASI <- '
1           
0.57    1       
0.79    0.57    1   
0.62    0.65    0.6 1'

lowerCANEAWRIT <- '
1           
0.71    1       
0.65    0.58    1   
0.51    0.53    0.62    1'

CANEA.cor = getCov(lowerCANEA, names = c("VocWA", "BD", "SIM", "MR", "VA", "VocWR", "MAT", "DIA"))
CANEAWASI.cor = getCov(lowerCANEAWASI, names = c("VocWA", "BD", "SIM", "MR"))
CANEAWRIT.cor = getCov(lowerCANEAWRIT, names = c("VA", "VocWR", "MAT", "DIA"))

##Sample Size

nCANEA <- 152

Analysis

Parallel Analyses

fa.parallel(CANEA.cor, n.obs = nCANEA)
## Warning in fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs = np.obs, :
## The estimated weights for the factor scores are probably incorrect. Try a
## different factor score estimation method.

## Parallel analysis suggests that the number of factors =  2  and the number of components =  1
fa.parallel(CANEAWASI.cor, n.obs = nCANEA)

## Parallel analysis suggests that the number of factors =  2  and the number of components =  1
fa.parallel(CANEAWRIT.cor, n.obs = nCANEA)

## Parallel analysis suggests that the number of factors =  2  and the number of components =  1

Exploratory Factor Analyses

FATOT1 <- fa(CANEA.cor, n.obs = nCANEA, nfactors = 1)
FATOT2 <- fa(CANEA.cor, n.obs = nCANEA, nfactors = 2)
## Loading required namespace: GPArotation
FAWASI1 <- fa(CANEAWASI.cor, n.obs = nCANEA, nfactors = 1)
FAWASI2 <- fa(CANEAWASI.cor, n.obs = nCANEA, nfactors = 2)

FAWRIT1 <- fa(CANEAWRIT.cor, n.obs = nCANEA, nfactors = 1)
FAWRIT2 <- fa(CANEAWRIT.cor, n.obs = nCANEA, nfactors = 2)

print(FATOT1$loadings)
## 
## Loadings:
##       MR1  
## VocWA 0.844
## BD    0.732
## SIM   0.834
## MR    0.776
## VA    0.785
## VocWR 0.829
## MAT   0.774
## DIA   0.713
## 
##                  MR1
## SS loadings    4.957
## Proportion Var 0.620
print(FATOT2$loadings)
## 
## Loadings:
##       MR1    MR2   
## VocWA  0.956       
## BD            0.777
## SIM    0.767  0.113
## MR            0.796
## VA     0.662  0.162
## VocWR  0.920       
## MAT           0.739
## DIA           0.839
## 
##                  MR1   MR2
## SS loadings    2.801 2.529
## Proportion Var 0.350 0.316
## Cumulative Var 0.350 0.666
print(FAWASI1$loadings)
## 
## Loadings:
##       MR1  
## VocWA 0.853
## BD    0.724
## SIM   0.840
## MR    0.768
## 
##                  MR1
## SS loadings    2.547
## Proportion Var 0.637
print(FAWASI2$loadings)
## 
## Loadings:
##       MR1    MR2   
## VocWA  1.009       
## BD            0.836
## SIM    0.620  0.249
## MR            0.743
## 
##                  MR1   MR2
## SS loadings    1.412 1.314
## Proportion Var 0.353 0.328
## Cumulative Var 0.353 0.681
print(FAWRIT1$loadings)
## 
## Loadings:
##       MR1  
## VA    0.825
## VocWR 0.789
## MAT   0.800
## DIA   0.687
## 
##                  MR1
## SS loadings    2.415
## Proportion Var 0.604
print(FAWRIT2$loadings)
## 
## Loadings:
##       MR1    MR2   
## VA     1.006       
## VocWR  0.485  0.341
## MAT    0.255  0.597
## DIA           0.858
## 
##                  MR1   MR2
## SS loadings    1.315 1.209
## Proportion Var 0.329 0.302
## Cumulative Var 0.329 0.631

Assessment of Loading Stability

EFATOCANEA <- c(0.844, 0.732, 0.834, 0.776, 0.785, 0.829, 0.774, 0.713)
EFATOCANEAPsy <- c(0.844, 0.732, 0.834, 0.776); EFATOCANEAWRIT <- c(0.785, 0.829, 0.774, 0.713)
EFASECANEAO <- c(0.853, 0.724, 0.840, 0.768, 0.825, 0.789, 0.800, 0.687)
EFASECANEAOPsy <- c(0.853, 0.724, 0.840, 0.768); EFASECANEAOWRIT <- c(0.825, 0.789, 0.800, 0.687)

cor(EFATOCANEA, EFASECANEAO, method = "pearson"); cor(EFATOCANEA, EFASECANEAO, method = "spearman"); CONGO(EFATOCANEA, EFASECANEAO)
## [1] 0.8921335
## [1] 0.8809524
## [1] 0.9995165
cor(EFATOCANEAPsy, EFASECANEAOPsy, method = "pearson"); cor(EFATOCANEAPsy, EFASECANEAOPsy, method = "spearman"); CONGO(EFATOCANEAPsy, EFASECANEAOPsy)
## [1] 0.9986834
## [1] 1
## [1] 0.9999519
cor(EFATOCANEAWRIT, EFASECANEAOWRIT, method = "pearson"); cor(EFATOCANEAWRIT, EFASECANEAOWRIT, method = "spearman"); CONGO(EFATOCANEAWRIT, EFASECANEAOWRIT)
## [1] 0.7674648
## [1] 0.4
## [1] 0.9990572

Confirmatory Factor Analyses

Solo Models

WASISO.model <- '
gWASI =~ VocWA + BD + SIM + MR'

WASISO.fit <- cfa(WASISO.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
summary(WASISO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 18 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                          8
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                19.354
##   Degrees of freedom                                 2
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                               330.132
##   Degrees of freedom                                 6
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.946
##   Tucker-Lewis Index (TLI)                       0.839
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -705.319
##   Loglikelihood unrestricted model (H1)       -695.642
##                                                       
##   Akaike (AIC)                                1426.638
##   Bayesian (BIC)                              1450.829
##   Sample-size adjusted Bayesian (BIC)         1425.510
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.239
##   90 Percent confidence interval - lower         0.149
##   90 Percent confidence interval - upper         0.341
##   P-value RMSEA <= 0.05                          0.001
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.052
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   gWASI =~                                                              
##     VocWA             0.880    0.067   13.148    0.000    0.880    0.883
##     BD                0.683    0.074    9.211    0.000    0.683    0.685
##     SIM               0.868    0.067   12.895    0.000    0.868    0.871
##     MR                0.723    0.073    9.953    0.000    0.723    0.725
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWA             0.219    0.046    4.740    0.000    0.219    0.221
##    .BD                0.527    0.068    7.801    0.000    0.527    0.531
##    .SIM               0.239    0.047    5.098    0.000    0.239    0.241
##    .MR                0.471    0.062    7.553    0.000    0.471    0.474
##     gWASI             1.000                               1.000    1.000
WASISODU.model <- ' #Unidentified alone
Gc =~ VocWA + SIM
Gf =~ BD + MR

gWASI =~ Gf + Gc'

WASISODU.fit <- cfa(WASISODU.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
## Warning in lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING:
##     Could not compute standard errors! The information matrix could
##     not be inverted. This may be a symptom that the model is not
##     identified.
summary(WASISODU.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 24 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         10
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                 0.192
##   Degrees of freedom                                 0
## 
## Model Test Baseline Model:
## 
##   Test statistic                               330.132
##   Degrees of freedom                                 6
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.999
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -695.738
##   Loglikelihood unrestricted model (H1)       -695.642
##                                                       
##   Akaike (AIC)                                1411.476
##   Bayesian (BIC)                              1441.715
##   Sample-size adjusted Bayesian (BIC)         1410.065
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.000
##   P-value RMSEA <= 0.05                             NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.003
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Gc =~                                                                 
##     VocWA             0.375       NA                      0.895    0.898
##     SIM               0.368       NA                      0.877    0.880
##   Gf =~                                                                 
##     BD                0.328       NA                      0.776    0.779
##     MR                0.351       NA                      0.832    0.835
##   gWASI =~                                                              
##     Gf                2.146       NA                      0.906    0.906
##     Gc                2.163       NA                      0.908    0.908
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWA             0.193       NA                      0.193    0.194
##    .SIM               0.224       NA                      0.224    0.225
##    .BD                0.391       NA                      0.391    0.393
##    .MR                0.301       NA                      0.301    0.303
##    .Gc                1.000                               0.176    0.176
##    .Gf                1.000                               0.178    0.178
##     gWASI             1.000                               1.000    1.000
WRITSO.model <- '
gWRIT =~ VocWR + VA + MAT + DIA'

WRITSO.fit <- cfa(WRITSO.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
summary(WRITSO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                          8
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                13.702
##   Degrees of freedom                                 2
##   P-value (Chi-square)                           0.001
## 
## Model Test Baseline Model:
## 
##   Test statistic                               282.957
##   Degrees of freedom                                 6
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.958
##   Tucker-Lewis Index (TLI)                       0.873
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -726.080
##   Loglikelihood unrestricted model (H1)       -719.229
##                                                       
##   Akaike (AIC)                                1468.160
##   Bayesian (BIC)                              1492.351
##   Sample-size adjusted Bayesian (BIC)         1467.031
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.196
##   90 Percent confidence interval - lower         0.107
##   90 Percent confidence interval - upper         0.300
##   P-value RMSEA <= 0.05                          0.005
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.039
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   gWRIT =~                                                              
##     VocWR             0.799    0.071   11.210    0.000    0.799    0.802
##     VA                0.838    0.070   11.972    0.000    0.838    0.841
##     MAT               0.777    0.072   10.784    0.000    0.777    0.780
##     DIA               0.672    0.076    8.874    0.000    0.672    0.674
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWR             0.355    0.058    6.162    0.000    0.355    0.357
##    .VA                0.292    0.055    5.325    0.000    0.292    0.294
##    .MAT               0.390    0.060    6.540    0.000    0.390    0.392
##    .DIA               0.542    0.071    7.580    0.000    0.542    0.545
##     gWRIT             1.000                               1.000    1.000
WRITSODU.model <- ' #Unidentified alone
Gc =~ VocWR + VA
Gf =~ MAT + DIA

gWRIT =~ Gf + Gc'

WRITSODU.fit <- cfa(WRITSODU.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
## Warning in lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING:
##     Could not compute standard errors! The information matrix could
##     not be inverted. This may be a symptom that the model is not
##     identified.
summary(WRITSODU.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 27 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         10
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                 2.467
##   Degrees of freedom                                 0
## 
## Model Test Baseline Model:
## 
##   Test statistic                               282.957
##   Degrees of freedom                                 6
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.991
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)               -720.463
##   Loglikelihood unrestricted model (H1)       -719.229
##                                                       
##   Akaike (AIC)                                1460.926
##   Bayesian (BIC)                              1491.165
##   Sample-size adjusted Bayesian (BIC)         1459.515
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.000
##   P-value RMSEA <= 0.05                             NA
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.014
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Gc =~                                                                 
##     VocWR             0.311       NA                      0.810    0.813
##     VA                0.334       NA                      0.871    0.874
##   Gf =~                                                                 
##     MAT               0.339       NA                      0.860    0.863
##     DIA               0.282       NA                      0.716    0.718
##   gWRIT =~                                                              
##     Gf                2.332       NA                      0.919    0.919
##     Gc                2.404       NA                      0.923    0.923
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWR             0.338       NA                      0.338    0.340
##    .VA                0.235       NA                      0.235    0.236
##    .MAT               0.253       NA                      0.253    0.255
##    .DIA               0.481       NA                      0.481    0.484
##    .Gc                1.000                               0.147    0.147
##    .Gf                1.000                               0.155    0.155
##     gWRIT             1.000                               1.000    1.000

Joint Models

CANEANO.model <- '
gWASI =~ VocWA + BD + SIM + MR
gWRIT =~ VocWR + VA + MAT + DIA

gWASI ~~ 0*gWRIT'

CANEA.model <- '
gWASI =~ VocWA + BD + SIM + MR
gWRIT =~ VocWR + VA + MAT + DIA

gWASI ~~ gWRIT'

CANEAID.model <- '
gWASI =~ VocWA + BD + SIM + MR
gWRIT =~ VocWR + VA + MAT + DIA

gWASI ~~ 1*gWRIT'

CANEANO.fit <- cfa(CANEANO.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
CANEA.fit   <- cfa(CANEA.model,   sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)
CANEAID.fit <- cfa(CANEAID.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)

round(cbind("No Relationship"   = fitMeasures(CANEANO.fit, FITM),
            "Free Relationship" = fitMeasures(CANEA.fit, FITM),
            "Identical"         = fitMeasures(CANEAID.fit, FITM)), 3)
##                No Relationship Free Relationship Identical
## chisq                  338.081           121.397   121.483
## df                      20.000            19.000    20.000
## npar                    16.000            17.000    16.000
## cfi                      0.643             0.885     0.886
## rmsea                    0.323             0.188     0.183
## rmsea.ci.lower           0.294             0.157     0.152
## rmsea.ci.upper           0.354             0.221     0.215
## aic                   2894.799          2680.114  2678.200
## bic                   2943.181          2731.520  2726.582
summary(CANEA.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 25 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         17
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               121.397
##   Degrees of freedom                                19
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                               918.115
##   Degrees of freedom                                28
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.885
##   Tucker-Lewis Index (TLI)                       0.830
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -1323.057
##   Loglikelihood unrestricted model (H1)      -1262.359
##                                                       
##   Akaike (AIC)                                2680.114
##   Bayesian (BIC)                              2731.520
##   Sample-size adjusted Bayesian (BIC)         2677.715
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.188
##   90 Percent confidence interval - lower         0.157
##   90 Percent confidence interval - upper         0.221
##   P-value RMSEA <= 0.05                          0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.069
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   gWASI =~                                                              
##     VocWA             0.876    0.065   13.545    0.000    0.876    0.879
##     BD                0.697    0.072    9.673    0.000    0.697    0.700
##     SIM               0.853    0.066   12.983    0.000    0.853    0.856
##     MR                0.739    0.071   10.484    0.000    0.739    0.742
##   gWRIT =~                                                              
##     VocWR             0.859    0.066   13.081    0.000    0.859    0.862
##     VA                0.797    0.068   11.664    0.000    0.797    0.800
##     MAT               0.735    0.071   10.385    0.000    0.735    0.738
##     DIA               0.674    0.073    9.244    0.000    0.674    0.677
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   gWASI ~~                                                              
##     gWRIT             0.995    0.018   56.164    0.000    0.995    0.995
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWA             0.226    0.035    6.497    0.000    0.226    0.227
##    .BD                0.507    0.062    8.131    0.000    0.507    0.511
##    .SIM               0.265    0.038    6.959    0.000    0.265    0.267
##    .MR                0.447    0.056    7.964    0.000    0.447    0.450
##    .VocWR             0.255    0.038    6.659    0.000    0.255    0.257
##    .VA                0.358    0.048    7.536    0.000    0.358    0.360
##    .MAT               0.453    0.057    7.947    0.000    0.453    0.456
##    .DIA               0.539    0.066    8.182    0.000    0.539    0.542
##     gWASI             1.000                               1.000    1.000
##     gWRIT             1.000                               1.000    1.000
CANEANO.model <- '
GcWA =~ VocWA + SIM
GfWA =~ BD + MR

gWASI =~ GfWA + GcWA

GcWR =~ VocWR + VA
GfWR =~ MAT + DIA

gWRIT =~ GfWR + GcWR

gWASI ~~ 0*gWRIT'

CANEA.model <- '
GcWA =~ VocWA + SIM
GfWA =~ BD + MR

gWASI =~ GfWA + GcWA

GcWR =~ VocWR + VA
GfWR =~ MAT + DIA

gWRIT =~ GfWR + GcWR

gWASI ~~ gWRIT'

CANEAID.model <- '
GcWA =~ VocWA + SIM
GfWA =~ BD + MR

gWASI =~ GfWA + GcWA

GcWR =~ VocWR + VA
GfWR =~ MAT + DIA

gWRIT =~ GfWR + GcWR

gWASI ~~ 1*gWRIT'

CANEANO.fit <- cfa(CANEANO.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T); "\n"
## Warning in lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING:
##     Could not compute standard errors! The information matrix could
##     not be inverted. This may be a symptom that the model is not
##     identified.
## [1] "\n"
CANEA.fit   <- cfa(CANEA.model,   sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T); "\n"
## Warning in lav_object_post_check(object): lavaan WARNING: covariance matrix of latent variables
##                 is not positive definite;
##                 use lavInspect(fit, "cov.lv") to investigate.
## [1] "\n"
CANEAID.fit <- cfa(CANEAID.model, sample.cov = CANEA.cor, sample.nobs = nCANEA, std.lv = T, orthogonal = T)

round(cbind("No Relationship"   = fitMeasures(CANEANO.fit, FITM),
            "Free Relationship" = fitMeasures(CANEA.fit, FITM),
            "Identical"         = fitMeasures(CANEAID.fit, FITM)), 3)
##                No Relationship Free Relationship Identical
## chisq                  307.684            89.114    91.461
## df                      16.000            15.000    16.000
## npar                    20.000            21.000    20.000
## cfi                      0.672             0.917     0.915
## rmsea                    0.346             0.180     0.176
## rmsea.ci.lower           0.313             0.145     0.142
## rmsea.ci.upper           0.381             0.217     0.212
## aic                   2872.402          2655.831  2656.178
## bic                   2932.879          2719.332  2716.656
summary(CANEA.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 58 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         21
##                                                       
##   Number of observations                           152
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                                89.114
##   Degrees of freedom                                15
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                               918.115
##   Degrees of freedom                                28
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.917
##   Tucker-Lewis Index (TLI)                       0.845
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -1306.915
##   Loglikelihood unrestricted model (H1)      -1262.359
##                                                       
##   Akaike (AIC)                                2655.831
##   Bayesian (BIC)                              2719.332
##   Sample-size adjusted Bayesian (BIC)         2652.868
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.180
##   90 Percent confidence interval - lower         0.145
##   90 Percent confidence interval - upper         0.217
##   P-value RMSEA <= 0.05                          0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.060
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   GcWA =~                                                               
##     VocWA             0.303    0.066    4.582    0.000    0.902    0.905
##     SIM               0.292    0.064    4.602    0.000    0.870    0.873
##   GfWA =~                                                               
##     BD                0.380    0.061    6.239    0.000    0.778    0.781
##     MR                0.405    0.065    6.197    0.000    0.830    0.832
##   gWASI =~                                                              
##     GfWA              1.787    0.331    5.404    0.000    0.873    0.873
##     GcWA              2.803    0.679    4.130    0.000    0.942    0.942
##   GcWR =~                                                               
##     VocWR             0.252    0.086    2.919    0.004    0.882    0.884
##     VA                0.229    0.078    2.938    0.003    0.800    0.803
##   GfWR =~                                                               
##     MAT               0.390    0.070    5.606    0.000    0.816    0.819
##     DIA               0.361    0.064    5.645    0.000    0.755    0.757
##   gWRIT =~                                                              
##     GfWR              1.836    0.368    4.988    0.000    0.878    0.878
##     GcWR              3.347    1.212    2.762    0.006    0.958    0.958
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   gWASI ~~                                                              
##     gWRIT             1.053    0.028   37.538    0.000    1.053    1.053
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .VocWA             0.179    0.035    5.138    0.000    0.179    0.181
##    .SIM               0.237    0.038    6.274    0.000    0.237    0.238
##    .BD                0.387    0.061    6.367    0.000    0.387    0.390
##    .MR                0.305    0.059    5.195    0.000    0.305    0.307
##    .VocWR             0.216    0.042    5.148    0.000    0.216    0.218
##    .VA                0.353    0.049    7.178    0.000    0.353    0.356
##    .MAT               0.328    0.062    5.293    0.000    0.328    0.330
##    .DIA               0.424    0.064    6.592    0.000    0.424    0.427
##    .GcWA              1.000                               0.113    0.113
##    .GfWA              1.000                               0.238    0.238
##     gWASI             1.000                               1.000    1.000
##    .GcWR              1.000                               0.082    0.082
##    .GfWR              1.000                               0.229    0.229
##     gWRIT             1.000                               1.000    1.000

Conclusion

The latent factor correlations from Canivez et al. (2009) were perfect. The batteries were extremely unidimensional and could only legitimately be interpreted as g measures.

References

Canivez, G. L., Konold, T. R., Collins, J. M., & Wilson, G. (2009). Construct validity of the Wechsler Abbreviated Scale of Intelligence and Wide Range Intelligence Test: Convergent and structural validity. School Psychology Quarterly, 24(4), 252–265. https://doi.org/10.1037/a0018030