library(pacman)
p_load(psych, lavaan, semPlot)
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)}
FITM <- c("chisq", "df", "nPar", "cfi", "rmsea", "rmsea.ci.lower", "rmsea.ci.upper", "aic", "bic")
Some people think there’s more than one general factor of intelligence (g). Concurrent validation by using tests designed by different people administered to the same sample can help to assess whether this is true. Previous work, reviewed below, has not been kind to this hypothesis, and has, in fact, suggested that there is quite strong support for an apparently reflective g.
Two increasingly prominent formative (otherwise known as emergent) theories of intelligence - Mutualism (van der Maas et al., 2006) and Process Overlap Theory (POT; Kovacs & Conway, 2016) - lead to the expectation that this effort (especially for tests with very different content) will lead to a limited correspondence between g factors from different batteries. The former can handle that observation failing by referring to their genetic sampling model; the latter is not even a coherent theory and makes contradictory predictions in its various forms because its inventors seem to be inept when it comes to understanding the correspondence between what they say and what their statements mean for their theory. For example, the structural model of POT predicts both the ability to model executive function as a separate factor and its inextricability from within all other tasks; likewise, it predicts a finding predicated on a lack of power and, often enough, misspecifications that generated Heywood and ultra-Heywood cases (i.e., Gf = g). Many batteries, like the ASVAB, producing a g factor identical to those produced by more “fluid” batteries would thus present a problem for POT. POT is also simply ridiculous in that it predicts phenomena that do not occur, like far transfer (Detterman, 1993; Sala et al., 2019; Mutualism does not have this problem as it borrows from the Ising/Erdos-Renyi models; proof that Mutualism works with this can be found in models of mutualistic coupling which explicitly deal with self-feedback, e.g., Kievit et al., 2017; Kiev,t Hofman & Nation, 2019), and explains real phenomena like the Flynn effect as psychometrically different than what they are (i.e., invariant and showing ability transfer, and also, linked to the differentiation-dedifferentiation effect which, frankly, probably does not exist, does not psychometrically resemble the Flynn effect, and cannot explain the relatively equal rise across age groups), in addition to, without some extensive theoretical modification, opposing the existence of findings like common pathway models fitting better than independent pathway models in decent cognitive batteries (Shikishima et al., 2009; Panizzon et al., 2014). If a bifactor common pathway model fits best (and barring a theory-irrelevant statistical advantage for such a model, which may be unexpected, unlike for the phenotypic model), POT as developed presently is falsified. Advocates of POT (i.e., Kovacs) often make contradictory statements within their papers (his recent commentary on the mitochondrial theory of intelligence features advocacy for POT and a common pathway model!) or say ridiculous things (supporting Lang & Kell’s conclusions from their “more than g” work when their analysis consists of extracting factors composed largely of g variance and then seeing if those can take away from g in a regression); sometimes they (i.e., Conway) make claims that contradict what they can check with data that is (and has been) immediately available to them. An example of this latter phenomena comes from, for example, here: http://archive.vn/r9wl5. At that link, Conway commented on a study by Engelhardt and colleagues (2016) where they found a correlation of r = 0.71 between a full-scale IQ score derived from four tests and the common executive function (EF) factor from a good battery designed to test that, and r = 0.91 between the g factor from those same four tests and that same common EF factor (this is explicable by measurement error and dimensionality). He says “I think those estimates (e.g., r =.91) are inflated a bit (not a lot). The overall EF measure was *mostly* EF, but also working memory and processing speed. Important to keep in mind if you plan to model EF & g”. The correlation matrix for that study was included in the paper, so his idea was testable, and yet he did not test it. So I did. My initial investigation into this battery is linked below; it is trivial to show that the prediction made by Conway is incorrect and that he did not bother to test if it made sense (factor-analytically, it, of course, did not, since it supposes a formative model or a modeling error; perhaps this is another example of not understanding the graphical and mathematical implications of verbal statements). First, I used Engelhardt et al.’s theory-based EF model with its four factors and I modeled g as a higher-order factor over the three speed subtests, the two visuospatial subtests, and the two verbal (or Gf, although factors, of course, have arbitrary names) subtests and I found a correlation of r = 0.98 between the common EF factor and the g factor. By turning the group factor for the visuospatial and verbal subtests into a single group factor, I changed the correlation to 0.99, splitting these again and removing the working memory factor from under common EF, the correlation goes from 0.98 to 1.00; combining those group factors again, it goes up to 1.01. Keeping working memory and dropping inhibition, the corresponding correlations are 0.97 and 0.98. Removing working memory and inhibition, these become 1.00 and 1.00, and keeping them removed and - stupidly and theoretically unacceptably - making g a first-order factor without the speed indicators, the correlation becomes 0.91, and if I keep speed out and just use the two group factors, it becomes 0.98. If I go to an absurd extreme and define g as a first-order factor based on only the four subtests and define common EF similarly as a first-order factor, the correlation becomes 0.88 and if I add the speed indicators under this first-order g it becomes 0.92; removing block design and vocabulary from this strange g, it becomes 0.88, and doing the same with the opposite indicators and keeping block design and vocabulary, it’s also 0.88 (bifactor results with too few subtests for g are not easy to interpret but still produce higher correlations than the lower-order results)! Psychometric sampling error forbids taking these lower-order EF/g results seriously and, of course, a smaller g can be colored to become quite specific, although, apparently, not much (Major et al. 2011 have supported this, as have Johnson et al., 2008 and Salthouse, 2014; a coauthor of Kovacs’ has also told me that he does not understand the difference between exploratory and confirmatory factor analysis as it pertains to the subject of assessing factorial resemblance, specifically misinterpreting the results of Major et al.). POT objections should simply not be taken seriously as they are often in contradiction to available data, without a mathematical and empirical basis, and nonsensical and contradictory between the numerous different implied versions of POT. Therefore, here, I will ignore any POT considerations that entail, for example, conceptualizing a reflective model as producing strongly formative results (more likely than not contradicted, as in the above case, by testing, and thus worthless to believe and harmful to take seriously), or taking seriously findings from prior models that had (ultra-)Heywood cases, generally bizarre (mis)specification, or extremely low power (e.g., the model of study 1 in Colom et al., 2004, although, note, Roberto seems to know the WM-g correlation is not one or that close to it anymore based on some indications from his blog; see also Matzke, Dolan & Molenaar, 2010 and remarks in Major, Johnson & Deary, 2012, e.g., p. 545).
This is divided into three parts. The first involves analyses of psychometric test relationships. Two earlier analyses can be found at https://rpubs.com/JLLJ/NJDH and https://rpubs.com/JLLJ/FRE20, one featuring two psychometric tests and the other featuring a psychometric test and an EF test (described above). The second part features the analyses from Lasker (in review), where I analyzed the correspondence the g from elementary cognitive task batteries and psychometric batteries (the definition of an elementary cognitive task is debated; in whatever case, the g factors from the former batteries are at least non-cultural and not at all expected, based on a naieve formative view emphasizing test content, to be like the g from typical psychometric batteries). The third meta-analyzes these and other results. If I am missing studies, please contact me; if you have relevant batteries to test this hypothesis, do the same. Analysis of the correspondence between g factors will proceed in the typical fashion [describe like Floyd, why higher-order hood, bifactor for dimensionality, etc.].
For the meta-analysis, I will use the estimated relationships between the g factors at baseline without modification and round values greater than one downwards to 0.999 to avoid claims of an overfitting effect (since this will tend to both improve fit and reduce the relationships between the g factors). The results are all very similar regardless of the end models I use since the factor relationships are high regardless. [In meta section, qualification about sample size effects, smaller with less, SE * g, etc.]
Stone (1992) performed a joint confirmatory factor analysis of the Wechsler Intelligence Scale for Children - Revised (WISC-R) and the Differential Ability Scales (DAS), the American version of the British Ability Scales (BAS). By providing his correlation matrix, he has allowed us to test if this battery - which was built to go beyond g for diagnostic purposes - produces the same g as a ‘gold-standard’ g.
lowerSTONE <-'
1
0.63 1
0.51 0.46 1
0.74 0.72 0.5 1
0.61 0.62 0.43 0.71 1
0.35 0.38 0.43 0.45 0.36 1
0.32 0.34 0.24 0.41 0.28 0.23 1
0.35 0.27 0.29 0.33 0.27 0.19 0.29 1
0.35 0.36 0.34 0.38 0.29 0.29 0.46 0.31 1
0.34 0.33 0.25 0.36 0.2 0.19 0.33 0.3 0.53 1
0.09 0.07 0.19 0.16 0.15 0.18 -0.04 0.13 0.12 0.18 1
0.04 0.04 0.24 0.12 0 0.25 0.21 -0.02 0.22 0.06 0.31 1
0.7 0.67 0.5 0.8 0.57 0.39 0.28 0.25 0.27 0.31 0.23 0.01 1
0.63 0.74 0.52 0.77 0.57 0.41 0.36 0.23 0.32 0.27 0.13 0 0.76 1
0.5 0.55 0.6 0.59 0.48 0.41 0.29 0.24 0.41 0.34 0.25 0.24 0.57 0.54 1
0.45 0.51 0.53 0.56 0.44 0.42 0.37 0.19 0.45 0.44 0.19 0.23 0.44 0.58 0.68 1
0.33 0.3 0.35 0.43 0.28 0.35 0.43 0.27 0.75 0.52 0.16 0.2 0.32 0.33 0.41 0.51 1
0.28 0.29 0.29 0.33 0.23 0.32 0.42 0.2 0.51 0.4 0.11 0.37 0.19 0.27 0.31 0.43 0.52 1
0.36 0.36 0.42 0.43 0.34 0.69 0.31 0.16 0.32 0.3 0.15 0.2 0.43 0.33 0.48 0.47 0.43 0.28 1
0.41 0.41 0.26 0.48 0.34 0.16 0.26 0.25 0.3 0.31 0.05 0.13 0.33 0.37 0.33 0.34 0.29 0.29 0.2 1
0.09 0.11 0.33 0.14 0.17 0.22 -0.04 0.15 0.2 0.23 0.44 0.02 0.09 0.15 0.23 0.26 0.31 0.09 0.22 0.11 1'
lowerSTONEWI <- '
1
0.63 1
0.51 0.46 1
0.74 0.72 0.5 1
0.61 0.62 0.43 0.71 1
0.35 0.38 0.43 0.45 0.36 1
0.32 0.34 0.24 0.41 0.28 0.23 1
0.35 0.27 0.29 0.33 0.27 0.19 0.29 1
0.35 0.36 0.34 0.38 0.29 0.29 0.46 0.31 1
0.34 0.33 0.25 0.36 0.2 0.19 0.33 0.3 0.53 1
0.09 0.07 0.19 0.16 0.15 0.18 -0.04 0.13 0.12 0.18 1
0.04 0.04 0.24 0.12 0 0.25 0.21 -0.02 0.22 0.06 0.31 1'
lowerSTONEDAS <- '
1
0.76 1
0.57 0.54 1
0.44 0.58 0.68 1
0.32 0.33 0.41 0.51 1
0.19 0.27 0.31 0.43 0.52 1
0.43 0.33 0.48 0.47 0.43 0.28 1
0.33 0.37 0.33 0.34 0.29 0.29 0.2 1
0.09 0.15 0.23 0.26 0.31 0.09 0.22 0.11 1'
nSTONE <- 115
STONE.cor = getCov(lowerSTONE, names = c("INFO", "SIMW", "ARITH", "VOCAB", "COMP", "DIGS", "PICC", "PICA", "BLOK", "OBJA", "CODI", "MAZE", "WRDD", "SIMD", "SEQR", "MATR", "PATC", "RECD", "RECI", "RECO", "SPIN"))
STONEWI.cor = getCov(lowerSTONEWI, names = c("INFO", "SIMW", "ARITH", "VOCAB", "COMP", "DIGS", "PICC", "PICA", "BLOK", "OBJA", "CODI", "MAZE"))
STONEDAS.cor = getCov(lowerSTONEDAS, names = c("WRDD", "SIMD", "SEQR", "MATR", "PATC", "RECD", "RECI", "RECO", "SPIN"))
fa.parallel(STONE.cor, n.obs = nSTONE)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
fa.parallel(STONEWI.cor, n.obs = nSTONE)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## 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.
## 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.
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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 = 3 and the number of components = 1
fa.parallel(STONEDAS.cor, n.obs = nSTONE)
## 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.
## 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.
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## 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
FATOT <- fa(STONE.cor, n.obs = nSTONE, nfactors = 3)
## Loading required namespace: GPArotation
FAWI <- fa(STONEWI.cor, n.obs = nSTONE, nfactors = 3)
FADAS <- fa(STONEDAS.cor, n.obs = nSTONE, nfactors = 2)
print(FATOT$loadings, cutoff = 0.25)
##
## Loadings:
## MR1 MR2 MR3
## INFO 0.795
## SIMW 0.820
## ARITH 0.408 0.399
## VOCAB 0.880
## COMP 0.725
## DIGS 0.443
## PICC 0.568
## PICA 0.257
## BLOK 0.847
## OBJA 0.570
## CODI 0.546
## MAZE 0.279 0.326
## WRDD 0.878
## SIMD 0.856
## SEQR 0.456 0.364
## MATR 0.338 0.328 0.290
## PATC 0.790
## RECD 0.667
## RECI 0.414
## RECO 0.370 0.261
## SPIN 0.515
##
## MR1 MR2 MR3
## SS loadings 4.994 2.855 1.497
## Proportion Var 0.238 0.136 0.071
## Cumulative Var 0.238 0.374 0.445
print(FAWI$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR2
## INFO 0.773
## SIMW 0.756
## ARITH 0.545
## VOCAB 0.885
## COMP 0.838
## DIGS 0.454
## PICC 0.475
## PICA 0.339
## BLOK 0.801
## OBJA 0.667
## CODI 0.338
## MAZE 0.850
##
## MR1 MR3 MR2
## SS loadings 3.235 1.450 0.992
## Proportion Var 0.270 0.121 0.083
## Cumulative Var 0.270 0.390 0.473
print(FADAS$loadings, cutoff = 0.25)
##
## Loadings:
## MR2 MR1
## WRDD 0.912
## SIMD 0.810
## SEQR 0.402 0.462
## MATR 0.596 0.302
## PATC 0.820
## RECD 0.625
## RECI 0.441
## RECO 0.266
## SPIN 0.357
##
## MR2 MR1
## SS loadings 1.98 1.916
## Proportion Var 0.22 0.213
## Cumulative Var 0.22 0.433
A model with two group factors such as the suggested one for the DAS will be unidentified on its own without more constraints but the terminal values will be basically unaffected. In the combined model, there will not be an identification issue with that many factors.
STWI.model <- '
VIQ =~ INFO + SIMW + ARITH + VOCAB + COMP + DIGS
PIQ =~ PICC + PICA + BLOK + OBJA
FD =~ CODI + MAZE
gWI =~ VIQ + PIQ + FD'
STWI.fit <- cfa(STWI.model, sample.cov = STONE.cor, sample.nobs = nSTONE, std.lv = T)
STDA.model <- '
VIQ =~ WRDD + SIMD + SEQR + MATR + RECO
PIQ =~ SEQR + MATR + PATC + RECD + RECI + RECO + SPIN
gDAS =~ VIQ + PIQ'
STDA.fit <- suppressWarnings(cfa(STDA.model, sample.cov = STONE.cor, sample.nobs = nSTONE, std.lv = T))
round(cbind("Stone WISC" = fitMeasures(STWI.fit, FITM),
"Stone DAS" = fitMeasures(STDA.fit, FITM)),3)
## Stone WISC Stone DAS
## chisq 56.123 44.766
## df 51.000 22.000
## npar 27.000 23.000
## cfi 0.989 0.939
## rmsea 0.030 0.095
## rmsea.ci.lower 0.000 0.054
## rmsea.ci.upper 0.069 0.135
## aic 3485.386 2607.293
## bic 3559.500 2670.426
Based on a bifactor version of the same group factor structure (resultingly negative factor loadings were and are in all cases involving bifactor models, reflected; this does not change results much compared to a Schmid-Leiman transformation which leaves all loadings positive, though it does not protect them from becoming minute; cross-loadings were half-weighted with the corresponding group factor defined as the one with the higher loading), individually, these batteries produced estimated g saturations of \(\omega_h\) = 0.77 and 0.73, accompanied by estimates of aggregate \(\omega_t\) of 0.88 and 0.86, H values for g of 0.89 each, ECVs of 0.68 and 0.73, total variance explained of 0.33 and 0.36, and PUCs of 0.67 and 0.50, for the WISC-R and DAS respectively. Despite the intention to construct it with a lack of emphasis on g, the DAS appears to be at least as “general” as the WISC-R. The verbal, performance, and freedom from distractability factors in the WISC-R had H values of 0.18, 0.61, and 0.60, \(\omega_h/\omega_t\) of 0.04/0.88, 0.40/0.73, and 0.50/0.55, and explained 4, 17, and 12% of the common variance (2, 8, and 6% of the total variance). The verbal and performance factors in the DAS had H values of 0.34 and 0.56, \(\omega_h/\omega_t\) of 0.13/0.92 and 0.25/0.70, and explained 9 and 18% of the common variance (4 and 9% of the total variance). Channeling Benson et al. (2018), the WISC-R and DAS should be interpreted as measures of g.
round(cbind("Unrelated g's" = fitMeasures(STTONO.fit, FITM),
"Related g's" = fitMeasures(STTOFR.fit, FITM)), 3)
## Unrelated g's Related g's
## chisq 573.779 386.037
## df 181.000 180.000
## npar 50.000 51.000
## cfi 0.674 0.829
## rmsea 0.137 0.100
## rmsea.ci.lower 0.125 0.086
## rmsea.ci.upper 0.150 0.113
## aic 6092.679 5906.937
## bic 6229.926 6046.928
The model where the g factors are allowed to freely relate leads to a correlation of r = 1.244 and, hence, requires modification. Unfortunately, nothing I did could reasonably bring this correlation down from being >1. I settled on a model with identical VIQ and PIQ factors and the four unique residual covariances shown below. It was unnecessary to add additional ones to reduce the g factor correlation and the fit became imminently acceptable (CFI > 0.95, RMSEA < 0.06) so I stopped with them to avoid overfitting. Identical g factors were tenable and the fit in the residual covariances model yielded a correlation of r = 0.973 (95% CI: 0.922 - 1.025). Refitted as a bifactor model with the same group factors (the different PIQ and VIQ factors were merged because they were identical) and a singular g, the H value for g was 0.95, \(\omega_h/\omega_t\) was 0.81/0.94, and ECV was 0.66 (34% of the total variance). The verbal, performance, and freedom from distractability factors had H values of 0.86, 0.74, and 0.60, \(\omega_h/\omega_t\) of 0.10/0.95, 0.36/0.83, 0.50/0.54, and ECVs of 11, 16, and 7% (6, 9, and 3% of the total variance).
STTOFI.model <- '
WIVIQ =~ INFO + SIMW + ARITH + VOCAB + COMP + DIGS
WIPIQ =~ PICC + PICA + BLOK + OBJA
WIFD =~ CODI + MAZE
gWI =~ WIVIQ + WIPIQ + WIFD
DSVIQ =~ WRDD + SIMD + SEQR + MATR + RECO
DSPIQ =~ SEQR + MATR + PATC + RECD + RECI + RECO + SPIN
gDAS =~ DSVIQ + DSPIQ
gWI ~~ 1*gDAS
WIVIQ ~~ 1*DSVIQ
WIPIQ ~~ 1*DSPIQ
ARITH ~~ SEQR
DIGS ~~ RECI
BLOK ~~ PATC
CODI ~~ SPIN'
STTOFI.fit <- cfa(STTOFI.model, sample.cov = STONE.cor, sample.nobs = nSTONE, std.lv = T, check.gradient = F, control = list(rel.tol = 1e-4))
round(cbind("Unrelated g's" = fitMeasures(STTONO.fit, FITM),
"Related g's" = fitMeasures(STTOFR.fit, FITM),
"Group Factors" = fitMeasures(STTOGF.fit, FITM),
"Residual Covs" = fitMeasures(STTORC.fit, FITM),
"Identical g's" = fitMeasures(STTOFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 573.779 386.037 325.234 232.076
## df 181.000 180.000 180.000 176.000
## npar 50.000 51.000 51.000 55.000
## cfi 0.674 0.829 0.879 0.953
## rmsea 0.137 0.100 0.084 0.053
## rmsea.ci.lower 0.125 0.086 0.069 0.032
## rmsea.ci.upper 0.150 0.113 0.098 0.070
## aic 6092.679 5906.937 5846.134 5760.975
## bic 6229.926 6046.928 5986.125 5911.947
## Identical g's
## chisq 237.194
## df 177.000
## npar 54.000
## cfi 0.950
## rmsea 0.054
## rmsea.ci.lower 0.034
## rmsea.ci.upper 0.072
## aic 5764.094
## bic 5912.321
WISCRTOG <- c(0.762, 0.775, 0.599, 0.892, 0.704, 0.484, 0.399, 0.278, 0.418, 0.424, 0.188, 0.127)
DASTOG <- c(0.808, 0.835, 0.697, 0.89, 0.466, 0.467, 0.379, 0.49, 0.196)
WISCRSEPG <- c(0.764, 0.73, 0.743, 0.84, 0.694, 0.55, 0.418, 0.396, 0.464, 0.393, 0.201, 0.19)
DASSEPG <- c(0.833, 0.785, 0.721, 0.849, 0.369, 0.387, 0.303, 0.491, 0.172)
WISCRTOS <- c(0.235, 0.21, 0.034, 0.247, 0.195, 0.061, 0.402, 0.265, 0.698, 0.5, 0.749, 0.404)
DASTOS <- c(0.307, 0.142, 0.115, 0.924, 0.199, 0.664, 0.506, 0.146, 0.192)
WISCRSEPS <- c(0.244, 0.285, 0.297, 0.394, 0.326, 0.066, 0.383, 0.221, 0.678, 0.508, 0.757, 0.359)
DASSEPS <- c(0.553, 0.191, 0.195, 0.528, 0.209, 0.773, 0.513, 0.311, 0.294)
TOTTOG <- c(0.762, 0.775, 0.599, 0.892, 0.704, 0.484, 0.399, 0.278, 0.418, 0.424, 0.188, 0.127, 0.808, 0.835, 0.697, 0.89, 0.466, 0.467, 0.379, 0.49, 0.196)
TOTTOS <- c(0.235, 0.21, 0.034, 0.247, 0.195, 0.061, 0.402, 0.265, 0.698, 0.5, 0.749, 0.404, 0.307, 0.142, 0.115, 0.924, 0.199, 0.664, 0.506, 0.146, 0.192)
TOTSEPG <- c(0.764, 0.73, 0.743, 0.84, 0.694, 0.55, 0.418, 0.396, 0.464, 0.393, 0.201, 0.19, 0.833, 0.785, 0.721, 0.849, 0.369, 0.387, 0.303, 0.491, 0.172)
TOTSEPS <- c(0.244, 0.285, 0.297, 0.394, 0.326, 0.066, 0.383, 0.221, 0.678, 0.508, 0.757, 0.359, 0.553, 0.191, 0.195, 0.528, 0.209, 0.773, 0.513, 0.311, 0.294)
message(paste("WISC-R g Loadings: Together and Apart? Pearson = ", cor(WISCRTOG, WISCRSEPG), "Spearman = ", cor(WISCRTOG, WISCRSEPG, method = "spearman"), "Tucker = ", CONGO(WISCRTOG, WISCRSEPG)))
## WISC-R g Loadings: Together and Apart? Pearson = 0.969432432843611 Spearman = 0.923076923076923 Tucker = 0.993715214556436
message(paste("WISC-R s Loadings: Together and Apart? Pearson = ", cor(WISCRTOS, WISCRSEPS), "Spearman = ", cor(WISCRTOS, WISCRSEPS, method = "spearman"), "Tucker = ", CONGO(WISCRTOS, WISCRSEPS)))
## WISC-R s Loadings: Together and Apart? Pearson = 0.912631061472039 Spearman = 0.762237762237762 Tucker = 0.971799830240587
message(paste("DAS g Loadings: Together and Apart? Pearson = ", cor(DASTOG, DASSEPG), "Spearman = ", cor(DASTOG, DASSEPG, method = "spearman"), "Tucker = ", CONGO(DASTOG, DASSEPG)))
## DAS g Loadings: Together and Apart? Pearson = 0.985893220082474 Spearman = 0.983333333333333 Tucker = 0.996793761241971
message(paste("DAS s Loadings: Together and Apart? Pearson = ", cor(DASTOS, DASSEPS), "Spearman = ", cor(DASTOS, DASSEPS, method = "spearman"), "Tucker = ", CONGO(DASTOS, DASSEPS)))
## DAS s Loadings: Together and Apart? Pearson = 0.77270025640474 Spearman = 0.833333333333333 Tucker = 0.92174373185606
message(paste("Total g Loadings: Together and Apart? Pearson = ", cor(TOTTOG, TOTSEPG), "Spearman = ", cor(TOTTOG, TOTSEPG, method = "spearman"), "Tucker = ", CONGO(TOTTOG, TOTSEPG)))
## Total g Loadings: Together and Apart? Pearson = 0.964644096368578 Spearman = 0.936363636363636 Tucker = 0.994496974147328
message(paste("Total s Loadings: Together and Apart? Pearson = ", cor(TOTTOS, TOTSEPS), "Spearman = ", cor(TOTTOS, TOTSEPS, method = "spearman"), "Tucker = ", CONGO(TOTTOS, TOTSEPS)))
## Total s Loadings: Together and Apart? Pearson = 0.841343480594916 Spearman = 0.824675324675325 Tucker = 0.947912921560121
The WISC-R and DAS, separately and together, are primarily measures of one and the same g and, furthermore, psychometric sampling has a substantially greater effect on group factor loadings compared to g loadings. Like Thorndike, Jensen, Brody, and various others, it is reasonable to conclude that g - but perhaps not s - loadings are substantially a property of the indicator rather than the set of indicators they are analyzed with. Under POT, there should be no difference between the stability for these types of factors for substantive reasons and based on the mathematically improper verbal descriptions of factor analytic methods by POT theorists. At this point, I will stop mentioning POT because it is clearly not, presently, a viable explanation for important phenomena surrounding g (although, curiously, when it was presented, it was given as an explanation for much less important phenomena!) and the following results are unlikely to change that. Similar to this result, I recently found that the WISC-R and the Kaufman ABC (K-ABC) also produced the same g (linked above). Their dimensionality will be described below.
lowerBB <- '
1
0 1
0.67 0.07 1
0.39 0.02 0.42 1
0.35 0.31 0.36 0.31 1
0.45 0.25 0.45 0.51 0.47 1
0.41 0.01 0.67 0.25 0.38 0.4 1
0 0.5 0.04 -0.15 -0.03 0.07 0.13 1
0.52 -0.04 0.73 0.26 0.34 0.38 0.71 0.12 1
0.1 -0.33 0.19 0.4 -0.07 0.21 0.27 0.02 0.28 1
0.31 0.06 0.32 0.09 0.62 0.36 0.48 0.13 0.51 0.19 1
0.34 0.07 0.32 0.21 0.34 0.63 0.44 0.2 0.42 0.24 0.59 1
0.42 0.13 0.62 0.36 0.47 0.57 0.6 0.29 0.62 0.3 0.63 0.72 1
0.34 0.13 0.43 0.37 0.34 0.57 0.51 0.31 0.5 0.43 0.56 0.72 0.85 1
0.49 0.12 0.44 0.4 0.49 0.7 0.45 0.13 0.35 0.08 0.44 0.61 0.58 0.55 1
0.27 0.1 0.61 0.23 0.44 0.37 0.56 0.09 0.63 0.2 0.41 0.4 0.58 0.45 0.5 1
0.29 0.19 0.38 0.41 0.41 0.66 0.46 0.15 0.38 0.37 0.51 0.67 0.84 0.84 0.68 0.48 1'
lowerBBWR <- '
1
0 1
0.67 0.07 1
0.39 0.02 0.42 1
0.35 0.31 0.36 0.31 1
0.45 0.25 0.45 0.51 0.47 1'
lowerBBDS <- '
1
0.13 1
0.71 0.12 1
0.27 0.02 0.28 1
0.48 0.13 0.51 0.19 1
0.44 0.2 0.42 0.24 0.59 1
0.6 0.29 0.62 0.3 0.63 0.72 1
0.51 0.31 0.5 0.43 0.56 0.72 0.85 1
0.45 0.13 0.35 0.08 0.44 0.61 0.58 0.55 1
0.56 0.09 0.63 0.2 0.41 0.4 0.58 0.45 0.5 1
0.46 0.15 0.38 0.37 0.51 0.67 0.84 0.84 0.68 0.48 1'
nBB <- 46
BB.cor = getCov(lowerBB, names = c("SIM", "CODG", "VOC", "DS", "BD", "ARTH", "SIMD", "SOIP", "WDEF", "RDIG", "PATC", "BNUM", "READ", "SPELL", "MATH", "READS", "SPELLS"))
BBWR.cor = getCov(lowerBBWR, names = c("SIM", "CODG", "VOC", "DS", "BD", "ARTH"))
BBDS.cor = getCov(lowerBBDS, names = c("SIMD", "SOIP", "WDEF", "RDIG", "PATC", "BNUM", "READ", "SPELL", "MATH", "READS", "SPELLS"))
fa.parallel(BB.cor, n.obs = nBB)
## Parallel analysis suggests that the number of factors = 1 and the number of components = 1
fa.parallel(BBWR.cor, n.obs = nBB)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 1 and the number of components = 1
fa.parallel(BBDS.cor, n.obs = nBB)
## 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.
## Warning in fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs = np.obs, :
## An ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 1 and the number of components = 1
BB <- fa(BB.cor, n.obs = nBB)
BBWR <- fa(BBWR.cor, n.obs = nBB)
BBDS <- fa(BBDS.cor, n.obs = nBB, nfactors = 2)
print(BB$loadings)
##
## Loadings:
## MR1
## SIM 0.554
## CODG 0.142
## VOC 0.691
## DS 0.458
## BD 0.562
## ARTH 0.719
## SIMD 0.700
## SOIP 0.181
## WDEF 0.698
## RDIG 0.323
## PATC 0.649
## BNUM 0.731
## READ 0.908
## SPELL 0.820
## MATH 0.731
## READS 0.655
## SPELLS 0.809
##
## MR1
## SS loadings 7.032
## Proportion Var 0.414
print(BBWR$loadings)
##
## Loadings:
## MR1
## SIM 0.705
## CODG 0.188
## VOC 0.732
## DS 0.591
## BD 0.562
## ARTH 0.726
##
## MR1
## SS loadings 2.262
## Proportion Var 0.377
print(BBDS$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR2
## SIMD 0.675
## SOIP 0.264
## WDEF 0.970
## RDIG 0.270
## PATC 0.467 0.275
## BNUM 0.787
## READ 0.795 0.209
## SPELL 0.915
## MATH 0.632
## READS 0.215 0.555
## SPELLS 0.985
##
## MR1 MR2
## SS loadings 3.894 1.858
## Proportion Var 0.354 0.169
## Cumulative Var 0.354 0.523
BBWR.model <- '
F1 =~ SIM + VOC + DS
F2 =~ CODG + BD + ARTH
gWR =~ F1 + F2'
BBDS.model <- '
F3 =~ SOIP + RDIG + PATC + BNUM + READ + SPELL + MATH + SPELLS
F4 =~ SIMD + WDEF + READS
gDS =~ F3 + F4'
BBWR.fit <- suppressWarnings(cfa(BBWR.model, sample.cov = BB.cor, sample.nobs = nBB, std.lv = T))
BBDS.fit <- suppressWarnings(cfa(BBDS.model, sample.cov = BB.cor, sample.nobs = nBB, std.lv = T))
round(cbind("BB WISC-R" = fitMeasures(BBWR.fit, FITM),
"BB DAS and SAT" = fitMeasures(BBDS.fit, FITM)), 3)
## BB WISC-R BB DAS and SAT
## chisq 9.065 53.961
## df 7.000 42.000
## npar 14.000 24.000
## cfi 0.967 0.960
## rmsea 0.080 0.079
## rmsea.ci.lower 0.000 0.000
## rmsea.ci.upper 0.209 0.135
## aic 735.880 1172.507
## bic 761.481 1216.394
BBFI.model <- '
F1 =~ SIM + VOC + DS
F2 =~ CODG + BD + ARTH
gWR =~ F1 + F2
F3 =~ SOIP + RDIG + PATC + BNUM + READ + SPELL + MATH + SPELLS
F4 =~ SIMD + WDEF + READS
gDS =~ F3 + F4
gWR ~~ 1*gDS
BD ~~ PATC
ARTH ~~ BNUM
VOC ~~ READ + SIMD + WDEF + READS
CODG ~~ SOIP + RDIG + READ + SPELL + MATH'
BBFI.fit <- suppressWarnings(cfa(BBFI.model, sample.cov = BB.cor, sample.nobs = nBB, std.lv = T))
round(cbind("No correlation" = fitMeasures(BBNO.fit, FITM),
"Freely Correlated" = fitMeasures(BBFR.fit, FITM),
"Residual Covariances" = fitMeasures(BBRC.fit, FITM),
"Identical" = fitMeasures(BBFI.fit, FITM)), 3)
## No correlation Freely Correlated Residual Covariances Identical
## chisq 285.766 244.075 144.574 147.302
## df 115.000 114.000 103.000 104.000
## npar 38.000 39.000 50.000 49.000
## cfi 0.671 0.750 0.920 0.917
## rmsea 0.180 0.157 0.094 0.095
## rmsea.ci.lower 0.154 0.130 0.054 0.056
## rmsea.ci.upper 0.206 0.185 0.128 0.129
## aic 1908.386 1868.695 1791.194 1791.922
## bic 1977.875 1940.012 1882.626 1881.525
The initial correlation is r = 1.048. With some modification, this could be reduced to r = 0.868. This reduction overstates the reality, however, because it makes the theta matrix non-positive definite. Since a model with such an error didn’t even generate a significant \(\chi^2\) change with the g correlation being constrained to one, it’s unlikely a smaller change would cause a proble, and thus, the two g factors can be safely regarded as identical.
lowerTFBC <-'
1
0.04 1
0 0.08 1
0.41 0.04 -0.07 1
0.09 0.33 -0.1 0.02 1
0.13 0.19 0.19 0.13 0.06 1
0.17 -0.02 -0.11 0.38 0.11 0.05 1
0.35 0.11 0.12 0.15 0.28 0.36 0.06 1
0.25 0.12 0.12 0.11 0.34 0.35 0.04 0.65 1
0.2 0.07 -0.08 0.2 0.13 0.11 0.19 0.22 0.21 1
0.32 -0.02 -0.04 0.23 0.2 0.2 0.11 0.34 0.41 0.27 1
0.19 0.37 -0.04 0.12 0.4 0.26 0.19 0.26 0.3 0.17 0.12 1
0.07 0.15 -0.04 0.21 0.21 0.26 0.25 0.1 0.14 0.18 0.08 0.29 1
0.23 0.11 0.06 0.2 0.15 0.08 0.07 0.13 0.07 0.07 0.14 0.17 0.06 1
0.25 0.09 -0.04 0.28 0.16 -0.02 0.19 -0.01 -0.04 0.11 0.06 0.1 0.11 0.64 1
0 0.33 0.04 0.02 0.56 0.06 -0.02 0.17 0.26 0.15 0.11 0.32 0.23 0.19 0.15 1
0.2 0.11 -0.03 0.16 0.21 0.11 0.19 0.31 0.23 0.51 0.26 0.22 0.32 0.16 0.14 0.19 1
0.03 0.24 0.09 -0.05 0.47 0.33 -0.14 0.26 0.27 0.05 0.2 0.26 0.17 0.18 0.02 0.45 0.12 1
0.12 0.17 -0.05 0.14 0.2 0.1 0.15 0.22 0.19 0.34 0.15 0.22 0.26 0.16 0.13 0.22 0.57 0.18 1
-0.03 0.08 0.05 0 0.24 0.08 -0.01 0.13 0.09 0.03 0.12 0.12 0.05 0.06 0.07 0.23 0.12 0.24 0.09 1
0.1 0.03 -0.11 0.27 0.05 0.35 0.34 0.21 0.2 0.14 0.25 0.16 0.44 0.03 0.01 0.09 0.2 0.08 0.19 0.12 1
-0.03 0.12 0.04 0.13 0.16 0.19 0.17 0.03 0.11 0.08 0.05 0.19 0.41 0.11 0.1 0.25 0.13 0.17 0.14 0.05 0.39 1
0.06 0.09 0.11 0.17 0.24 0.15 0.04 0.19 0.19 0.16 0.11 0.13 0.19 0.18 0.08 0.29 0.18 0.24 0.23 0.05 0.12 0.14 1'
lowerTFBCB <- '
1
0.04 1
0 0.08 1
0.41 0.04 -0.07 1
0.09 0.33 -0.1 0.02 1
0.13 0.19 0.19 0.13 0.06 1
0.17 -0.02 -0.11 0.38 0.11 0.05 1
0.35 0.11 0.12 0.15 0.28 0.36 0.06 1
0.25 0.12 0.12 0.11 0.34 0.35 0.04 0.65 1
0.2 0.07 -0.08 0.2 0.13 0.11 0.19 0.22 0.21 1
0.32 -0.02 -0.04 0.23 0.2 0.2 0.11 0.34 0.41 0.27 1
0.19 0.37 -0.04 0.12 0.4 0.26 0.19 0.26 0.3 0.17 0.12 1
0.07 0.15 -0.04 0.21 0.21 0.26 0.25 0.1 0.14 0.18 0.08 0.29 1
0.23 0.11 0.06 0.2 0.15 0.08 0.07 0.13 0.07 0.07 0.14 0.17 0.06 1
0.25 0.09 -0.04 0.28 0.16 -0.02 0.19 -0.01 -0.04 0.11 0.06 0.1 0.11 0.64 1
0 0.33 0.04 0.02 0.56 0.06 -0.02 0.17 0.26 0.15 0.11 0.32 0.23 0.19 0.15 1'
lowerTFBCC <- '
1
0.12 1
0.57 0.18 1
0.12 0.24 0.09 1
0.2 0.08 0.19 0.12 1
0.13 0.17 0.14 0.05 0.39 1
0.18 0.24 0.23 0.05 0.12 0.14 1'
nTFBC <- 329
TFBC.cor = getCov(lowerTFBC, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AMO", "AU", "AR", "IFO", "FL", "FR", "SA", "AMT", "MA", "MM", "EJ", "IFT", "OR", "RD"))
TFBCB.cor = getCov(lowerTFBCB, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AMO", "AU", "AR", "IFO", "FL", "FR", "SA"))
TFBCC.cor = getCov(lowerTFBCC, names = c("AMT", "MA", "MM", "EJ", "IFT", "OR", "RD"))
fa.parallel(TFBC.cor, n.obs = nTFBC)
## Parallel analysis suggests that the number of factors = 7 and the number of components = 5
fa.parallel(TFBCB.cor, n.obs = nTFBC)
## Parallel analysis suggests that the number of factors = 5 and the number of components = 5
fa.parallel(TFBCC.cor, n.obs = nTFBC)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
BCT <- fa(TFBC.cor, n.obs = nTFBC, nfactors = 7)
BCB <- fa(TFBCB.cor, n.obs = nTFBC, nfactors = 5)
BCC <- fa(TFBCC.cor, n.obs = nTFBC, nfactors = 3)
print(BCT$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR6 MR5 MR4 MR3 MR2 MR7
## CL 0.449 0.359
## IR 0.511
## WA
## WS 0.392
## PF 0.853
## VO 0.408 0.321 0.308
## IG 0.344 0.457
## NC 0.724
## NR 0.683
## AMO 0.522
## AU 0.493
## AR 0.465
## IFO 0.536
## FL 0.801
## FR 0.793
## SA 0.593
## AMT 0.914
## MA 0.399 -0.394
## MM 0.611
## EJ
## IFT 0.783
## OR 0.538
## RD
##
## MR1 MR6 MR5 MR4 MR3 MR2 MR7
## SS loadings 1.820 1.599 1.591 1.552 1.477 0.971 0.758
## Proportion Var 0.079 0.070 0.069 0.067 0.064 0.042 0.033
## Cumulative Var 0.079 0.149 0.218 0.285 0.350 0.392 0.425
print(BCB$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR3 MR2 MR4 MR5
## CL 0.405 0.225 0.296
## IR 0.394 0.334
## WA -0.276 0.285
## WS 0.578
## PF 0.800
## VO 0.270 0.574
## IG 0.596
## NC 0.745
## NR 0.752
## AMO 0.212 0.300
## AU 0.535
## AR 0.420 0.299
## IFO 0.238 0.374 0.314
## FL 0.813
## FR 0.780
## SA 0.654
##
## MR1 MR3 MR2 MR4 MR5
## SS loadings 1.780 1.567 1.390 1.198 0.772
## Proportion Var 0.111 0.098 0.087 0.075 0.048
## Cumulative Var 0.111 0.209 0.296 0.371 0.419
print(BCC$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR2 MR3
## AMT 0.692
## MA 0.999
## MM 0.824
## EJ 0.209
## IFT 0.928
## OR 0.398
## RD 0.213
##
## MR1 MR2 MR3
## SS loadings 1.210 1.093 1.031
## Proportion Var 0.173 0.156 0.147
## Cumulative Var 0.173 0.329 0.476
TFBCB.model <- '
PMS =~ CL + VO + NC + NR + AU
SPAR =~ IR + PF + AR + SA
FD =~ FL + FR
Grw =~ WS + IG + AMO + IFO
Grea =~ IR + VO + AR + IFO
gBAB =~ PMS + SPAR + FD + Grw + Grea
CL ~~ WS + NR
AU ~~ AMO
SA ~~ IG'
TFBCC.model <- '
Gsm =~ AMT + MM + RD
Gsp =~ MA + EJ
Gflu =~ IFT + OR
gCAB =~ Gsm + Gsp + Gflu'
TFBCB.fit <- cfa(TFBCB.model, sample.cov = TFBC.cor, sample.nobs = nTFBC, std.lv = T)
TFBCC.fit <- cfa(TFBCC.model, sample.cov = TFBC.cor, sample.nobs = nTFBC, std.lv = T)
round(cbind("Tirre & Field BAB" = fitMeasures(TFBCB.fit, FITM),
"Tirre & Field CAB" = fitMeasures(TFBCC.fit, FITM)), 3)
## Tirre & Field BAB Tirre & Field CAB
## chisq 182.093 22.561
## df 77.000 11.000
## npar 43.000 17.000
## cfi 0.908 0.956
## rmsea 0.064 0.057
## rmsea.ci.lower 0.052 0.021
## rmsea.ci.upper 0.077 0.090
## aic 13013.250 6303.236
## bic 13176.480 6367.769
The initial relationship was an all-too-high r = 1.396 (1.079 in the RC model) so modifications were due. The identity between Grw and Gsm was only added in the final model to remove non-positive definiteness (r = 1.019). The
TFBCFI.model <- '
PMS =~ CL + VO + NC + NR + AU
SPAR =~ IR + PF + AR + SA
FD =~ FL + FR
Grw =~ WS + IG + AMO + IFO
Grea =~ IR + VO + AR + IFO
gBAB =~ PMS + SPAR + FD + Grw + Grea
CL ~~ WS + NR
AU ~~ AMO
SA ~~ IG
Gsm =~ AMT + MM + RD
Gsp =~ MA + EJ
Gflu =~ IFT + OR
gCAB =~ Gsm + Gsp + Gflu
gBAB ~~ 1*gCAB
SPAR ~~ Gsp
Grw ~~ 1*Gsm + Gsp + Gflu
Grea ~~ Gflu
AU ~~ IFT
AR ~~ MA + IFT
SA ~~ RD + OR
WS ~~ AMT + MM
IG ~~ AMT + MM + RD + MA
AMO ~~ AMT
IFO ~~ OR
FL ~~ 0*FL'
TFBCFI.fit <- suppressWarnings(cfa(TFBCFI.model, sample.cov = TFBC.cor, sample.nobs = nTFBC, std.lv = T))
round(cbind("Unrelated g's" = fitMeasures(TFBCNO.fit, FITM),
"Related g's" = fitMeasures(TFBCFR.fit, FITM),
"Group Factors" = fitMeasures(TFBCGR.fit, FITM),
"Residual Covs" = fitMeasures(TFBCRC.fit, FITM),
"Identical g's" = fitMeasures(TFBCFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 766.767 584.076 450.104 345.741
## df 193.000 192.000 187.000 175.000
## npar 60.000 61.000 66.000 78.000
## cfi 0.691 0.789 0.858 0.908
## rmsea 0.095 0.079 0.065 0.054
## rmsea.ci.lower 0.088 0.072 0.058 0.046
## rmsea.ci.upper 0.102 0.086 0.073 0.063
## aic 19316.486 19135.795 19011.823 18931.460
## bic 19544.249 19367.355 19262.363 19227.552
## Identical g's
## chisq 346.517
## df 177.000
## npar 76.000
## cfi 0.909
## rmsea 0.054
## rmsea.ci.lower 0.045
## rmsea.ci.upper 0.062
## aic 18928.236
## bic 19216.736
TFBCLAT <- list(
PMS = c("CL", "VO", "NC", "NR", "AU"),
SPAR = c("IR", "PF", "AR", "SA"),
FD = c("FL", "FR"),
Grw = c("WS", "IG", "AMO", "IFO"),
Grea = c("IR", "VO", "AR", "IFO"),
Gsm = c("AMT", "MM", "RD"),
Gsp = c("MA", "EJ"),
Gflu = c("IFT", "OR"))
semPaths(TFBCFI.fit, "model", "std", title = F, residuals = F, groups = "TFBCLAT", pastel = T, mar = c(2, 1, 3, 1), bifactor = c("gBAB", "gCAB"), layout = "tree2", exoCov = T)
## Warning in if (w <= 0) w <- 1e-07: the condition has length > 1 and only the
## first element will be used
## Warning in if (w <= 0) w <- 1e-07: the condition has length > 1 and only the
## first element will be used
## Warning in if (w <= 0) w <- 1e-07: the condition has length > 1 and only the
## first element will be used
## Warning in if (w <= 0) w <- 1e-07: the condition has length > 1 and only the
## first element will be used
FD was removed in the solo model because it caused errors.
BABTOG <- c(0.285, 0.211, 0.405, 0.364, 0.342, 0.166, 0.363, 0.351, 0.358, 0.269, 0.236, 0.335, 0.332, 0.564, 0.436)
CABTOG <- c(0.746, 0.578, 0.438, 0.255, 0.151, 0.321, 0.241)
BABSEPG <- c(0.463, 0.159, 0.356, 0.372, 0.289, 0.113, 0.17, 0.138, 0.161, 0.653, 0.981, 0.36, 0.276, 0.169, 0.188)
CABSEPG <- c(0.422, 0.471, 0.312, 0.848, 0.258, 0.107, 0.184)
BABTOS <- c(0.336, 0.560, 0.664, 0.756, 0.368, 0.439, 0.702, 0.432, 0.618, 0.729, 0.791, 0.338, 0.685, 0.012, 0.531)
CABTOS <- c(0.039, 0.049, 0.109, 0.671, 0.298, 0.639, 0.482)
BABSEPS <- c(0.476, 0.576, 0.841, 0.954, 0.516, 0.491, 0.816, 0.664, 0.647, 0, 0, 0.474, 0.542, 0.362, 0.475)
CABSEPS <- c(0.684, 0.673, 0.159, 0.173, 0.019, 0.824, 0.378)
TOTTOG <- c(0.285, 0.211, 0.405, 0.364, 0.342, 0.166, 0.363, 0.351, 0.358, 0.269, 0.236, 0.335, 0.332, 0.564, 0.436, 0.746, 0.578, 0.438, 0.255, 0.151, 0.321, 0.241)
TOTTOS <- c(0.336, 0.560, 0.664, 0.756, 0.368, 0.439, 0.702, 0.432, 0.618, 0.729, 0.791, 0.338, 0.685, 0.012, 0.531, 0.039, 0.049, 0.109, 0.671, 0.298, 0.639, 0.482)
TOTSEPG <- c(0.463, 0.159, 0.356, 0.372, 0.289, 0.113, 0.17, 0.138, 0.161, 0.653, 0.981, 0.36, 0.276, 0.169, 0.188, 0.422, 0.471, 0.312, 0.848, 0.258, 0.107, 0.184)
TOTSEPS <- c(0.476, 0.576, 0.841, 0.954, 0.516, 0.491, 0.816, 0.664, 0.647, 0, 0, 0.474, 0.542, 0.362, 0.475, 0.684, 0.673, 0.159, 0.173, 0.019, 0.824, 0.378)
message(paste("BAB g Loadings: Together and Apart? Pearson = ", cor(BABTOG, BABSEPG), "Spearman = ", cor(BABTOG, BABSEPG, method = "spearman"), "Tucker = ", CONGO(BABTOG, BABSEPG)))
## BAB g Loadings: Together and Apart? Pearson = -0.298145580041359 Spearman = -0.0678571428571429 Tucker = 0.743394743160213
message(paste("BAB s Loadings: Together and Apart? Pearson = ", cor(BABTOS, BABSEPS), "Spearman = ", cor(BABTOS, BABSEPS, method = "spearman"), "Tucker = ", CONGO(BABTOS, BABSEPS)))
## BAB s Loadings: Together and Apart? Pearson = 0.0728293984095413 Spearman = 0.221626540687094 Tucker = 0.848807090159545
message(paste("CAB g Loadings: Together and Apart? Pearson = ", cor(CABTOG, CABSEPG), "Spearman = ", cor(CABTOG, CABSEPG, method = "spearman"), "Tucker = ", CONGO(CABTOG, CABSEPG)))
## CAB g Loadings: Together and Apart? Pearson = 0.137978822612231 Spearman = 0.392857142857143 Tucker = 0.795294195943113
message(paste("CAB s Loadings: Together and Apart? Pearson = ", cor(CABTOS, CABSEPS), "Spearman = ", cor(CABTOS, CABSEPS, method = "spearman"), "Tucker = ", CONGO(CABTOS, CABSEPS)))
## CAB s Loadings: Together and Apart? Pearson = -0.0842580032684027 Spearman = -0.107142857142857 Tucker = 0.618918582009755
message(paste("Total g Loadings: Together and Apart? Pearson = ", cor(TOTTOG, TOTSEPG), "Spearman = ", cor(TOTTOG, TOTSEPG, method = "spearman"), "Tucker = ", CONGO(TOTTOG, TOTSEPG)))
## Total g Loadings: Together and Apart? Pearson = -0.05643711559657 Spearman = 0.10446075663467 Tucker = 0.762285723688433
message(paste("Total s Loadings: Together and Apart? Pearson = ", cor(TOTTOS, TOTSEPS), "Spearman = ", cor(TOTTOS, TOTSEPS, method = "spearman"), "Tucker = ", CONGO(TOTTOS, TOTSEPS)))
## Total s Loadings: Together and Apart? Pearson = 0.0817085431827396 Spearman = 0.111268007825863 Tucker = 0.794119377349439
Despite producing what appeared to be the same g factor, these batteries did not produce consistent loadings. This may be attributed to the method variance of having to adjust the model to fit with a bifactor. With Schmid-Leiman-based loadings, the model did produce the same loading phenomena (i.e., stability) as thew other batteries. This is the likelier correct conclusion because it was difficult to model these batteries with a bifactor g. The other batteries did produce a stable pattern of loadings with the Schmid-Leiman transformation as well, but they were easier to model with a bifactor. Similarly, the Schmid-Leiman solution produced a clearly unidimensional model with minimally interpretable group factors but the bifactor solution (which was sub-optimal) did not clearly do so. The H values for the CAB and BAB g factors were 0.77 and 0.97 and became 0.82 when combined; the \(\omega_h/\omega_t\) were 0.47/0.73, 0.48/0.84, and 0.67/0.86, with ECVs of 0.43, 0.32, and 0.34 (19, 16, and 14% of the total variance). The Grw, Gsp, Gflu, PMS, Grea, Spar, FD, and Gsm factors had H values (solo/together) of 0.63/0.51, 0.03/0.48, 0.70/0.50, 0.93/0.71, 0.44/0.46, 0.79/0.67, 0/0.74, and 0.46/0; \(\omega_h/\omega_t\) of 0.43/0.71 | 0.11/0.74, 0.02/0.52 | 0.38/0.45, 0.54/0.57 | 0.45/0.57, 0.69/0.88 | 0.52/0.74, 0.42/0.47 | 0.43/0.58, 0.73/0.77 | 0.55/0.73, 0/0.82 | 0.70/0.78, and 0.41/0.55 | 0/0. Their ECVs/TVs were 0.30/0.14, 0.01/0.004, 0.26/0.12, 0.29/0.14, 0.08/0.04, 0.24/0.12, 0/0, and 0.09/0.04 in the solo model and 0.07/0.03, 0.06/0.03, 0.07/0.03, 0.14/0.06, 0.07/0.03, 0.14/0.06, 0.13/0.05, and 0/0 in the together model. The more sensible Schmid-Leiman solution was more unidimensional and had factors with better definitions almost across the board, although the group factors were still not, by and large, interpretable. Though it is more appropriate to report the Schmid-Leiman results, for consistency, and because of issues with proportionality constraints/tetrad violations possibly affecting all datasets (something I need to be consistent about dealing with), I report the bifactor results instead. Anyone who wants to can compute the S-L results; it only takes a few minutes. It’s worth stating that the apparent strength of the congruence approach at different levels of model-based factor similarity may indicate the limited utility of congruence coefficients.
lowerTFBA <-'
1
0.07 1
0.02 0.12 1
0.21 -0.05 0 1
0.02 0.33 -0.05 -0.04 1
0.1 0.26 0.05 0.14 0.3 1
0.19 0.16 -0.06 0.37 0.11 0.29 1
0.17 0.19 0.06 0.08 0.35 0.3 0.18 1
0.1 0.33 0.11 0.01 0.5 0.42 0.17 0.55 1
0.2 0.03 -0.03 0.2 0.06 0.06 0.14 0.17 0.16 1
0.22 0 0.04 0.18 0.14 0.2 0.19 0.21 0.23 0.33 1
0.05 0.33 0.08 0.09 0.36 0.32 0.14 0.32 0.41 0.13 0.17 1
0.13 0.21 0.04 0.02 0.2 0.26 0.31 0.12 0.24 0.08 0.2 0.17 1
-0.01 0.17 0.11 0.01 0.28 0.54 0.1 0.28 0.38 -0.02 0.14 0.26 0.21 1
0.13 0.25 0.05 0.11 0.45 0.42 0.25 0.53 0.61 0.23 0.33 0.31 0.21 0.37 1
-0.06 0.16 0.02 0.01 0.22 0.68 0.11 0.18 0.25 0.02 0.14 0.22 0.19 0.5 0.28 1
0.06 0.16 -0.04 0.13 0.12 0.44 0.19 0.15 0.25 0.03 0.12 0.16 0.1 0.36 0.3 0.4 1
0.36 0.02 0.01 0.12 -0.02 0.06 0.1 0.28 0.18 0.19 0.13 0.03 -0.03 0.03 0.24 -0.01 0.11 1
0.27 -0.04 -0.01 0.19 0 0.09 0.16 0.14 0.05 0.18 0.11 0.06 -0.04 0.03 0.18 0.09 0.14 0.44 1
0 0.16 0.03 -0.09 0.35 0.25 -0.04 0.07 0.21 -0.04 -0.02 0.13 0.19 0.35 0.28 0.24 0.15 -0.05 -0.06 1
0.09 0.15 -0.05 0.04 0.39 0.33 0.13 0.59 0.54 0.03 0.17 0.31 0.21 0.35 0.54 0.25 0.18 0.25 0.11 0.1 1
-0.01 0.23 -0.01 0.02 0.62 0.32 0.07 0.25 0.36 -0.03 0.05 0.28 0.28 0.42 0.47 0.26 0.19 -0.04 -0.02 0.55 0.34 1
-0.05 0.15 0.05 -0.02 0.38 0.34 0.01 0.2 0.28 -0.09 0.01 0.23 0.19 0.43 0.31 0.32 0.21 -0.05 -0.07 0.59 0.27 0.55 1'
lowerTFBAB <- '
1
0.07 1
0.02 0.12 1
0.21 -0.05 0 1
0.02 0.33 -0.05 -0.04 1
0.1 0.26 0.05 0.14 0.3 1
0.19 0.16 -0.06 0.37 0.11 0.29 1
0.17 0.19 0.06 0.08 0.35 0.3 0.18 1
0.1 0.33 0.11 0.01 0.5 0.42 0.17 0.55 1
0.2 0.03 -0.03 0.2 0.06 0.06 0.14 0.17 0.16 1
0.22 0 0.04 0.18 0.14 0.2 0.19 0.21 0.23 0.33 1
0.05 0.33 0.08 0.09 0.36 0.32 0.14 0.32 0.41 0.13 0.17 1
0.13 0.21 0.04 0.02 0.2 0.26 0.31 0.12 0.24 0.08 0.2 0.17 1'
lowerTFBAA <- '
1
0.37 1
0.5 0.28 1
0.36 0.3 0.4 1
0.03 0.24 -0.01 0.11 1
0.03 0.18 0.09 0.14 0.44 1
0.35 0.28 0.24 0.15 -0.05 -0.06 1
0.35 0.54 0.25 0.18 0.25 0.11 0.1 1
0.42 0.47 0.26 0.19 -0.04 -0.02 0.55 0.34 1
0.43 0.31 0.32 0.21 -0.05 -0.07 0.59 0.27 0.55 1'
nTFBA <- 346
TFBA.cor = getCov(lowerTFBA, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AM", "AU", "ARO", "IF", "GS", "ART", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI"))
TFBAB.cor = getCov(lowerTFBAB, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AM", "AU", "ARO", "IF"))
TFBAA.cor = getCov(lowerTFBAA, names = c("GS", "ART", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI"))
fa.parallel(TFBC.cor, n.obs = nTFBC)
## Parallel analysis suggests that the number of factors = 7 and the number of components = 5
fa.parallel(TFBAB.cor, n.obs = nTFBA)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
fa.parallel(TFBAA.cor, n.obs = nTFBA)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
BAT <- fa(TFBA.cor, n.obs = nTFBA, nfactors = 7)
BAB <- fa(TFBAB.cor, n.obs = nTFBA, nfactors = 3)
BAA <- fa(TFBAA.cor, n.obs = nTFBA, nfactors = 3)
print(BAT$loadings, cutoff = 0.3)
##
## Loadings:
## MR5 MR3 MR1 MR2 MR4 MR7 MR6
## CL 0.407
## IR 0.799
## WA
## WS 0.370
## PF 0.420 0.343
## VO 0.765
## IG 0.890
## NC 0.656
## NR 0.547
## AM 0.542
## AU 0.635
## ARO
## IF
## GS 0.535
## ART 0.437
## WK 0.826
## PC 0.492
## NO 0.782
## CS 0.539
## AS 0.805
## MK 0.801
## MC 0.756
## EI 0.644
##
## MR5 MR3 MR1 MR2 MR4 MR7 MR6
## SS loadings 1.957 1.916 1.862 1.192 1.082 0.957 0.922
## Proportion Var 0.085 0.083 0.081 0.052 0.047 0.042 0.040
## Cumulative Var 0.085 0.168 0.249 0.301 0.348 0.390 0.430
print(BAB$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2 MR3
## CL 0.326
## IR 0.493
## WA
## WS 0.363 0.309
## PF 0.649
## VO 0.461
## IG 0.845
## NC 0.544
## NR 0.803
## AM 0.521
## AU 0.501
## ARO 0.543
## IF
##
## MR1 MR2 MR3
## SS loadings 2.236 1.046 0.828
## Proportion Var 0.172 0.080 0.064
## Cumulative Var 0.172 0.253 0.316
print(BAA$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR2
## GS 0.537
## ART 0.410 0.474
## WK 0.802
## PC 0.521
## NO 0.693
## CS 0.507
## AS 0.700
## MK 0.419
## MC 0.805
## EI 0.690
##
## MR1 MR3 MR2
## SS loadings 1.972 1.259 1.180
## Proportion Var 0.197 0.126 0.118
## Cumulative Var 0.197 0.323 0.441
TFBAB.model <- '
Gf =~ IR + PF + VO + NC + NR + ARO
Grw =~ WS + IG
PMS =~ CL + AM + AU
gBAB =~ Gf + Grw + PMS'
TFASV.model <- '
TECH =~ AS + MC + EI
VERB =~ GS + WK + PC
MATH =~ ART + NO + CS + MK
gASVAB =~ TECH + VERB + MATH
NO ~~ CS'
TFBAB.fit <- cfa(TFBAB.model, sample.cov = TFBA.cor, sample.nobs = nTFBA, std.lv = T)
TFASV.fit <- cfa(TFASV.model, sample.cov = TFBA.cor, sample.nobs = nTFBA, std.lv = T)
round(cbind("Tirre & Field BAB" = fitMeasures(TFBAB.fit, FITM),
"Tirre & Field ASVAB" = fitMeasures(TFASV.fit, FITM)), 3)
## Tirre & Field BAB Tirre & Field ASVAB
## chisq 84.616 104.533
## df 41.000 31.000
## npar 25.000 24.000
## cfi 0.933 0.922
## rmsea 0.055 0.083
## rmsea.ci.lower 0.039 0.066
## rmsea.ci.upper 0.072 0.101
## aic 10220.833 8972.412
## bic 10316.994 9064.727
TFBASVFI.model <- '
Gf =~ IR + PF + VO + NC + NR + ARO
Grw =~ WS + IG
PMS =~ CL + AM + AU
gBAB =~ Gf + Grw + PMS
TECH =~ AS + MC + EI
VERB =~ GS + WK + PC
MATH =~ ART + NO + CS + MK
gASVAB =~ TECH + VERB + MATH
NO ~~ CS
gBAB ~~ 1*gASVAB
IG ~~ 0*IG
PMS ~~ TECH
PF ~~ MC + AS + EI
VO ~~ WK + PC
NC ~~ MK
CL ~~ NO + CS + WK
VO ~~ GS
NR ~~ MK
ARO ~~ ART
AM ~~ MK'
TFBASVFI.fit <- cfa(TFBASVFI.model, sample.cov = TFBA.cor, sample.nobs = nTFBA, std.lv = T)
round(cbind("Unrelated g's" = fitMeasures(TFBASVNO.fit, FITM),
"Related g's" = fitMeasures(TFBASVFR.fit, FITM),
"Group Factors" = fitMeasures(TFBASVGR.fit, FITM),
"Residual Covs" = fitMeasures(TFBASVRC.fit, FITM),
"Identical g's" = fitMeasures(TFBASVFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 1001.932 729.362 708.874 340.156
## df 183.000 182.000 182.000 168.000
## npar 48.000 49.000 49.000 63.000
## cfi 0.642 0.761 0.770 0.925
## rmsea 0.114 0.093 0.091 0.054
## rmsea.ci.lower 0.107 0.086 0.084 0.046
## rmsea.ci.upper 0.121 0.100 0.099 0.063
## aic 19196.264 18925.693 18905.205 18564.488
## bic 19380.893 19114.169 19093.681 18806.814
## Identical g's
## chisq 340.323
## df 169.000
## npar 62.000
## cfi 0.925
## rmsea 0.054
## rmsea.ci.lower 0.046
## rmsea.ci.upper 0.062
## aic 18562.654
## bic 18801.134
In the model immediately preceding the final one, the r is 0.981.
lowerTFBG <-'
1
-0.04 1
-0.05 0.07 1
0.21 0.1 0.11 1
0.06 0.35 0.09 0.11 1
0.1 0.4 0.09 0.18 0.37 1
0.09 0.18 0.02 0.41 0.04 0.31 1
0.11 0.34 0 0.15 0.56 0.51 0.11 1
0.06 0.35 0.05 0.22 0.56 0.58 0.16 0.65 1
0.14 0.22 0.02 0.21 0.19 0.26 0.13 0.29 0.37 1
0.18 0.06 0.02 0.19 0.25 0.26 0.15 0.41 0.44 0.35 1
0.03 0.34 0.1 0.2 0.48 0.6 0.24 0.51 0.62 0.32 0.32 1
0.15 0.25 0.13 0.13 0.24 0.48 0.15 0.33 0.32 0.3 0.24 0.34 1
0.34 0.23 0 0.2 0.33 0.34 0.23 0.49 0.41 0.32 0.28 0.37 0.2 1
0.11 0.3 0.09 0.07 0.69 0.38 0.09 0.42 0.49 0.13 0.24 0.42 0.32 0.36 1
0.47 0.1 -0.07 0.2 0.34 0.06 0.05 0.19 0.23 0.17 0.23 0.16 0.2 0.45 0.47 1
0.53 0.11 0.05 0.36 0.21 0.21 0.27 0.29 0.29 0.3 0.27 0.24 0.31 0.49 0.34 0.64 1
0.22 0.08 0 0.45 -0.06 0.12 0.36 0.01 0.05 0.17 0.1 0.15 0.13 0.26 0.04 0.27 0.37 1
0.16 0.14 0.12 0.16 0.36 0.27 0.06 0.19 0.23 0.22 0.3 0.3 0.26 0.17 0.29 0.31 0.26 0.13 1
0.12 0.16 0.13 0.27 0.36 0.2 0.19 0.23 0.35 0.26 0.32 0.34 0.25 0.26 0.44 0.37 0.32 0.28 0.49 1'
lowerTFBGB <- '
1
-0.04 1
-0.05 0.07 1
0.21 0.1 0.11 1
0.06 0.35 0.09 0.11 1
0.1 0.4 0.09 0.18 0.37 1
0.09 0.18 0.02 0.41 0.04 0.31 1
0.11 0.34 0 0.15 0.56 0.51 0.11 1
0.06 0.35 0.05 0.22 0.56 0.58 0.16 0.65 1
0.14 0.22 0.02 0.21 0.19 0.26 0.13 0.29 0.37 1
0.18 0.06 0.02 0.19 0.25 0.26 0.15 0.41 0.44 0.35 1
0.03 0.34 0.1 0.2 0.48 0.6 0.24 0.51 0.62 0.32 0.32 1'
lowerTFBGG <- '
1
0.2 1
0.32 0.36 1
0.2 0.45 0.47 1
0.31 0.49 0.34 0.64 1
0.13 0.26 0.04 0.27 0.37 1
0.26 0.17 0.29 0.31 0.26 0.13 1
0.25 0.26 0.44 0.37 0.32 0.28 0.49 1'
nTFBG <- 175
TFBG.cor = getCov(lowerTFBG, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AM", "AU", "AR", "V", "N", "S", "P", "Q", "K", "F", "M"))
TFBGB.cor = getCov(lowerTFBGB, names = c("CL", "IR", "WA", "WS", "PF", "VO", "IG", "NC", "NR", "AM", "AU", "AR"))
TFBGG.cor = getCov(lowerTFBGG, names = c("V", "N", "S", "P", "Q", "K", "F", "M"))
fa.parallel(TFBG.cor, n.obs = nTFBG)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 3
fa.parallel(TFBGB.cor, n.obs = nTFBG)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
fa.parallel(TFBGG.cor, n.obs = nTFBG)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 2 and the number of components = 1
BCG <- fa(TFBG.cor, n.obs = nTFBG, nfactors = 4)
BCGB <- fa(TFBGB.cor, n.obs = nTFBG, nfactors = 3)
BCGG <- fa(TFBGG.cor, n.obs = nTFBG, nfactors = 2)
print(BCG$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2 MR4 MR3
## CL 0.656
## IR 0.462
## WA
## WS 0.536
## PF 0.494 0.362 -0.330
## VO 0.765
## IG 0.528
## NC 0.801
## NR 0.781
## AM 0.348
## AU 0.335
## AR 0.681
## V 0.383
## N 0.436 0.481
## S 0.360 0.394
## P 0.817
## Q 0.726
## K 0.579
## F 0.525
## M 0.702
##
## MR1 MR2 MR4 MR3
## SS loadings 3.545 2.104 1.322 1.322
## Proportion Var 0.177 0.105 0.066 0.066
## Cumulative Var 0.177 0.282 0.349 0.415
print(BCGB$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2 MR3
## CL 0.322
## IR 0.552
## WA
## WS 0.563
## PF 0.707
## VO 0.683
## IG 0.704
## NC 0.738
## NR 0.797
## AM
## AU 0.548
## AR 0.725
##
## MR1 MR2 MR3
## SS loadings 3.121 0.975 0.663
## Proportion Var 0.260 0.081 0.055
## Cumulative Var 0.260 0.341 0.397
print(BCGG$loadings, cutoff = 0.25)
##
## Loadings:
## MR1 MR2
## V 0.297
## N 0.585
## S 0.446
## P 0.665
## Q 0.891
## K 0.369
## F 0.633
## M 0.770
##
## MR1 MR2
## SS loadings 1.794 1.308
## Proportion Var 0.224 0.163
## Cumulative Var 0.224 0.388
TFBGB.model <- '
Gf =~ IR + PF + VO + NC + NR + AR
Gq =~ CL + AM + AU
Gflu =~ WS + IG
gBAB =~ Gf + Gq + Gflu'
TFBGG.model <- '
PIQ =~ N + P + Q + K
VIQ =~ V + S + F + M
gGATB =~ PIQ + VIQ'
TFBGB.fit <- cfa(TFBGB.model, sample.cov = TFBG.cor, sample.nobs = nTFBG, std.lv = T)
TFBGG.fit <- suppressWarnings(cfa(TFBGG.model, sample.cov = TFBG.cor, sample.nobs = nTFBG, std.lv = T))
round(cbind("Tirre & Field BAB" = fitMeasures(TFBGB.fit, FITM),
"Tirre & Field GATB" = fitMeasures(TFBGG.fit, FITM)), 3)
## Tirre & Field BAB Tirre & Field GATB
## chisq 66.003 43.321
## df 41.000 18.000
## npar 25.000 18.000
## cfi 0.953 0.927
## rmsea 0.059 0.090
## rmsea.ci.lower 0.030 0.056
## rmsea.ci.upper 0.085 0.124
## aic 4975.885 3670.611
## bic 5055.005 3727.577
TFBGFI.model <- '
Gf =~ IR + PF + VO + NC + NR + AR
Gq =~ CL + AM + AU
Gflu =~ WS + IG
gBAB =~ Gf + Gq + Gflu
PIQ =~ N + P + Q + K
VIQ =~ V + S + F + M
gGATB =~ PIQ + VIQ
gBAB ~~ 1*gGATB
PF ~~ S + F
VO ~~ P + V + S
NC ~~ N
CL ~~ N + P + Q
WS ~~ K
IG ~~ K'
TFBGFI.fit <- cfa(TFBGFI.model, sample.cov = TFBG.cor, sample.nobs = nTFBG, std.lv = T, check.gradient = F, control = list(rel.tol = 1e-4))
round(cbind("Unrelated g's" = fitMeasures(TFBGNO.fit, FITM),
"Related g's" = fitMeasures(TFBGFR.fit, FITM),
"Residual Covs" = fitMeasures(TFBGRC.fit, FITM),
"Identical g's" = fitMeasures(TFBGFI.fit, FITM)), 3)
## Unrelated g's Related g's Residual Covs Identical g's
## chisq 523.735 430.062 226.463 230.781
## df 147.000 146.000 135.000 136.000
## npar 43.000 44.000 55.000 54.000
## cfi 0.688 0.765 0.924 0.922
## rmsea 0.121 0.105 0.062 0.063
## rmsea.ci.lower 0.110 0.094 0.048 0.049
## rmsea.ci.upper 0.132 0.117 0.076 0.077
## aic 8646.496 8554.823 8373.224 8375.542
## bic 8782.582 8694.073 8547.288 8546.441
With a scaled critical p value of 0.00102, the change is not significant. It is debatable whether or not these two g’s are identical, but if they are not, then the correlation in the directly preceding model is still r = 0.890. Something curious happens with this sample though. If the GATB’s g is a bifactor, the correlation rises to near-one. I am uncertain why this happens but I will assess if the interpretability indices change significantly for the GATB, perhaps indicating some sort of proportionality constraint issue.
lowerWKIT <-'
1
0.438 1
0.55 0.362 1
0.326 0.408 0.433 1
0 0.302 0.043 0.173 1
0.022 0.239 0.041 0.189 0.632 1
0.438 0.304 0.222 0.221 -0.133 -0.134 1
0.384 0.649 0.298 0.377 0.394 0.306 0.083 1
0.471 0.46 0.306 0.235 -0.026 -0.029 0.6 0.331 1
0.564 0.378 0.37 0.216 -0.041 -0.061 0.595 0.264 0.563 1
0.47 0.815 0.464 0.489 0.392 0.242 0.233 0.652 0.365 0.352 1
0.104 0.422 0.183 0.272 0.544 0.525 -0.226 0.383 -0.137 -0.091 0.428 1
0.242 0.317 0.422 0.299 0.196 0.156 -0.019 0.36 0.075 0.11 0.239 0.166 1
0.214 0.361 0.275 0.278 0.187 0.242 0.039 0.314 0.074 0.087 0.324 0.267 0.266 1
0.145 0.404 0.286 0.406 0.281 0.299 -0.229 0.37 -0.067 -0.076 0.265 0.36 0.302 0.295 1
0.232 0.432 0.323 0.3 0.264 0.192 0.118 0.411 0.273 0.217 0.347 0.217 0.346 0.187 0.213 1
0.309 0.323 0.28 0.171 0.073 0.019 0.12 0.218 0.185 0.224 0.29 0.103 0.196 0.208 0.153 0.166 1
0.578 0.272 0.616 0.353 0.144 0.112 0.164 0.43 0.223 0.418 0.356 0.069 0.348 0.22 0.239 0.275 0.204 1
0.479 0.628 0.374 0.395 0.301 0.234 0.164 0.531 0.377 0.292 0.632 0.194 0.218 0.109 0.208 0.296 0.211 0.34 1
-0.061 0.235 0.064 0.214 0.278 0.304 -0.123 0.359 0.017 -0.047 0.178 0.167 0.163 0.064 0.144 0.172 0.129 0.126 0.231 1
0.234 0.467 0.133 0.191 0.123 0.092 0.222 0.33 0.434 0.238 0.425 0.103 0.188 0.058 0.127 0.333 0.124 0.173 0.398 0.13 1
0.061 0.241 0.157 0.269 0.145 0.2 -0.028 0.131 0.061 0.082 0.288 0.234 0.319 0.253 0.148 0.427 0.037 0.185 0.196 0.206 0.114 1
0.109 0.494 0.078 0.304 0.31 0.3 -0.034 0.497 0.229 0.096 0.503 0.32 0.173 0.286 0.336 0.408 0.101 0.245 0.424 0.303 0.392 0.202 1
0.336 0.495 0.213 0.196 0.004 0.065 0.247 0.372 0.515 0.361 0.555 -0.039 0.09 0.045 0.089 0.222 0.123 0.162 0.382 0.102 0.49 0.103 0.354 1
-0.079 0.077 0.081 0.061 0.267 0.399 -0.214 0.19 -0.056 -0.127 0.166 0.331 0.134 0.164 0.375 0.175 -0.001 0.022 0.097 0.213 0.136 0.096 0.23 0.015 1
0.151 0.326 0.118 0.254 0.177 0.218 0.237 0.343 0.412 0.297 0.41 0.383 0.189 0.296 0.274 0.425 0.143 0.159 0.387 0.19 0.359 0.195 0.362 0.294 0.213 1
0.098 0.251 0.23 0.156 0.312 0.228 -0.05 0.36 0.086 0.041 0.274 0.276 0.286 0.268 0.421 0.277 0.109 0.28 0.235 0.218 0.157 0.193 0.402 0.15 0.281 0.179 1
0.241 0.257 0.377 0.298 0.282 0.286 -0.014 0.292 0.061 -0.005 0.28 0.294 0.341 0.252 0.287 0.395 0.113 0.321 0.259 0.15 0.21 0.306 0.29 0.144 0.172 0.235 0.424 1
0.142 0.269 0.14 0.16 0.21 0.204 -0.096 0.349 0.003 -0.08 0.276 0.16 0.117 0.234 0.222 0.145 0.103 0.109 0.201 0.691 0.16 0.234 0.195 0.199 0.145 0.136 0.216 0.182 1
0.148 0.299 0.131 0.143 0.157 0.255 0.138 0.276 0.278 0.091 0.252 0.163 0.138 0.221 0.154 0.22 0.102 0.196 0.32 0.457 0.27 0.117 0.42 0.351 0.113 0.323 0.117 0.154 0.423 1
0.391 0.546 0.348 0.337 0.21 0.161 0.122 0.522 0.372 0.293 0.448 0.163 0.294 0.121 0.195 0.41 0.335 0.282 0.491 0.21 0.488 0.18 0.551 0.423 0.088 0.354 0.259 0.276 0.184 0.342 1
0.33 0.397 0.332 0.217 0.067 0.034 0.401 0.292 0.529 0.444 0.306 -0.007 0.136 0.047 0.04 0.166 0.257 0.259 0.346 0.029 0.463 0.058 0.327 0.502 0.015 0.332 0.13 0.147 0.112 0.296 0.43 1
0.507 0.306 0.676 0.301 -0.122 -0.027 0.101 0.264 0.301 0.281 0.301 0.046 0.449 0.237 0.224 0.286 0.071 0.685 0.243 0.07 0.12 0.096 0.185 0.125 -0.057 0.109 0.193 0.256 0.019 0.019 0.381 0.204 1
0.046 0.081 -0.005 0.108 0.362 0.49 -0.213 0.159 -0.068 -0.13 0.158 0.295 0.139 0.061 0.207 0.076 0.104 0.043 0.238 0.204 0.208 0.116 0.201 0.086 0.464 0.212 0.127 0.123 0.107 0.1 -0.052 -0.032 -0.024 1
0.09 0.038 0.007 0.034 0.197 0.173 0.003 0.097 0.055 0.016 0.193 0.25 0.154 0.12 0.037 0.153 0.058 0.035 0.175 0.158 0.105 0.354 0.093 0.041 0.142 -0.026 0.128 0.231 0.129 0.057 -0.043 -0.023 -0.078 0.129 1
0.274 0.353 0.343 0.264 0.229 0.159 -0.134 0.283 0.05 0.006 0.305 0.243 0.456 0.241 0.466 0.241 0.224 0.434 0.343 0.21 0.172 0.417 0.42 0.073 0.23 0.071 0.453 0.422 0.09 -0.075 0.187 -0.038 0.394 0.155 0.129 1
0.236 0.282 0.217 0.232 0.053 0.168 0.238 0.323 0.378 0.228 0.377 0.161 0.16 0.256 0.098 0.43 0.211 0.054 0.306 0.046 0.445 0.073 0.167 0.345 0.001 0.376 0.022 0.134 0.025 0.266 0.173 0.341 0.129 0.193 0.048 0.111 1
0.183 0.213 0.048 0.016 0.161 0.228 0.058 0.026 0.145 0.066 0.248 0.142 0.116 0.094 0.059 0.201 0.14 0.099 0.187 0.041 0.335 0.07 0.178 0.223 0.127 0.288 0.098 0.144 0.014 0.086 0.195 0.281 0.051 0.143 0.108 0.05 0.262 1
0.262 0.296 0.149 0.128 0.082 0.138 0.295 0.164 0.335 0.328 0.252 0.097 0.373 0.033 0.161 0.437 0.067 0.158 0.293 0.059 0.382 0.279 0.243 0.419 0.03 0.163 0.257 0.3 0.046 0.012 0.254 0.213 0.208 0.069 0.196 0.22 0.248 0.25 1
0.38 0.547 0.441 0.466 -0.003 0.127 0.154 0.46 0.419 0.286 0.518 0.227 0.314 0.375 0.217 0.37 0.187 0.408 0.491 0.243 0.427 0.194 0.477 0.257 0.029 0.326 0.242 0.265 0.151 0.188 0.406 0.32 0.363 0.111 -0.006 0.307 0.303 0.175 0.233 1
-0.188 0.189 -0.107 -0.042 0.622 0.499 -0.189 0.288 -0.141 -0.089 0.435 0.788 0.077 0.354 0.39 0.244 0.175 0.086 0.233 0.29 0.062 0.203 0.21 -0.01 0.377 0.241 0.304 0.262 0.147 0.011 0.128 -0.05 0.02 0.449 0.224 0.271 0.097 0.195 0.059 0.117 1
0.257 0.216 0.269 0.124 0.005 0.093 -0.17 0.128 0.282 0.279 0.164 -0.031 0.17 -0.063 0.194 0.202 0.161 0.19 0.07 0.021 0.288 0.032 0.169 0.352 0.026 0.185 0.004 0.001 0.087 0.23 0.23 0.228 0.277 0.042 -0.072 0.235 0.183 0.133 0.106 0.207 -0.113 1
0.282 0.313 0.175 0.25 0.301 0.267 0.166 0.319 0.276 0.235 0.36 0.171 0.198 0.129 0.085 0.315 0.171 0.13 0.281 0.116 0.341 0.112 0.362 0.38 0.252 0.416 0.209 0.266 0.15 0.321 0.326 0.315 0.184 0.136 0.016 0.149 0.438 0.239 0.223 0.277 0.158 0.239 1
0.172 0.137 0.128 0.167 0.298 0.168 -0.032 0.294 0.131 0.138 0.205 0.182 0.353 0.191 0.217 0.357 0.173 0.146 0.115 0.182 0.209 0.469 0.178 0.051 0.129 0.244 0.369 0.517 0.17 0.065 0.097 0.065 0.158 0.14 0.051 0.264 0.201 0.257 0.324 0.202 0.199 0.033 0.243 1
0.335 0.309 0.213 0.233 0.232 0.25 0.122 0.26 0.253 0.155 0.251 0.139 0.267 0.116 0.214 0.254 0.117 0.105 0.23 0.279 0.263 0.147 0.271 0.233 -0.035 0.249 -0.009 0.05 0.242 0.381 0.216 0.273 0.272 0.1 -0.088 0.114 0.287 0.179 0.24 0.308 0.006 0.182 0.23 0.16 1
0.149 0.209 0.156 0.122 0.211 0.132 0.139 0.243 0.109 0.17 0.291 0.252 0.353 0.202 0.232 0.428 0.267 0.128 0.106 0.145 0.24 0.536 0.211 0.136 0.101 0.147 0.303 0.286 0.054 -0.013 0.119 0.084 0.127 0.108 0.169 0.355 0.008 0.252 0.23 0.102 0.178 0.084 0.202 0.363 0.091 1
0.372 0.574 0.402 0.295 0.273 0.291 0.218 0.486 0.422 0.319 0.562 0.248 0.258 0.309 0.233 0.441 0.334 0.324 0.401 0.189 0.329 0.164 0.435 0.378 0.132 0.39 0.225 0.282 0.163 0.249 0.482 0.335 0.448 0.148 -0.113 0.272 0.309 0.321 0.253 0.597 0.166 0.13 0.3 0.229 0.252 0.173 1
0.388 0.554 0.321 0.217 0.075 0.147 0.351 0.482 0.541 0.392 0.418 0.087 0.19 -0.001 0.049 0.297 0.308 0.248 0.412 0.115 0.568 0.159 0.388 0.624 0.069 0.485 0.071 0.168 0.117 0.438 0.481 0.565 0.292 0.099 -0.081 0.22 0.504 0.414 0.313 0.448 -0.005 0.382 0.432 0.171 0.276 0.142 0.419 1
-0.031 0.085 -0.005 0.047 0.294 0.197 -0.003 0.08 -0.06 0.098 -0.026 0.155 -0.002 0.026 0.123 -0.059 0.026 -0.086 0.041 -0.029 -0.023 0.094 -0.068 -0.063 0.131 0.068 0.07 0.222 0.112 -0.001 0.043 -0.054 0.047 0.053 0.743 0.178 0.167 -0.018 0.216 -0.014 0.186 0.022 0.112 0.224 -0.091 0.399 0.038 0.029 1
0.188 0.388 0.046 0.094 0.318 0.298 0.208 0.369 0.349 0.187 0.376 0.122 0.195 0.072 0.195 0.279 0.22 0.253 0.361 0.141 0.506 0.127 0.371 0.464 0.152 0.414 0.187 0.357 0.088 0.235 0.305 0.483 0.204 0.246 0.141 0.234 0.585 0.247 0.225 0.414 0.123 0.269 0.385 0.224 0.138 0.203 0.273 0.463 0.127 1
0.061 0.073 -0.065 -0.104 0.26 0.24 0.169 0.193 0.252 0.099 0.105 0.094 0.064 0.064 0.077 0.199 0.158 0.072 0.242 0.121 0.292 0.115 0.216 0.341 0.209 0.402 0.242 0.301 0.111 0.241 0.21 0.324 0.067 0.18 0.143 0.1 0.355 0.274 0.266 0.206 0.129 0.23 0.331 0.295 0.151 0.191 0.151 0.423 0.173 0.471 1
0.111 0.358 0.088 0.132 0.165 0.087 0.138 0.248 0.251 0.106 0.084 0.113 0.133 0.108 0.448 0.069 0.1 0.227 0.15 0.22 0.265 0.036 0.342 0.329 0.142 0.284 0.171 0.284 0.177 0.224 0.278 0.216 0.241 0.13 0.014 0.326 0.184 0.114 0.228 0.252 0.114 0.346 0.216 0.166 0.109 0.11 0.171 0.217 0.008 0.304 0.145 1
0.09 0.155 0.263 0.202 0.171 0.104 0.038 0.282 0.116 0.126 0.237 0.17 0.378 0.677 0.16 0.003 0.162 0.247 0.305 0.165 0.174 0.216 0.299 0.174 0.087 0.152 0.375 0.273 0.167 0.216 0.257 0.126 0.2 0.114 0.213 0.253 0.194 0.019 0.11 0.228 0.204 0.005 0.009 0.254 0.081 0.232 0.291 0.147 0.067 0.115 0.042 0.159 1
0.305 0.269 0.32 0.217 0.234 0.146 0.06 0.384 0.302 0.167 0.297 0.223 0.588 0.249 0.263 0.373 0.162 0.333 0.335 0.275 0.217 0.391 0.341 0.226 0.176 0.249 0.524 0.427 0.273 0.174 0.283 0.225 0.34 0.024 0.161 0.527 0.097 0.075 0.35 0.325 0.205 0.005 0.231 0.31 0.099 0.391 0.335 0.197 0.132 0.253 0.144 0.207 0.262 1
0.029 0.239 0.026 0.163 0.245 0.326 -0.076 0.332 0.07 -0.037 0.274 0.304 0.268 0.327 0.529 0.187 0.209 0.293 0.274 0.237 0.239 0.03 0.39 0.216 0.311 0.259 0.419 0.332 0.216 0.262 0.302 0.23 0.131 0.253 -0.047 0.339 0.181 0.006 0.22 0.325 0.359 0.054 0.259 0.278 0.12 0.203 0.315 0.204 0.048 0.185 0.102 0.33 0.264 0.287 1
0.238 0.419 0.081 0.066 0.048 0.096 0.178 0.266 0.249 0.162 0.368 0.037 0.107 0.052 0.069 0.172 0.298 0.183 0.238 0.163 0.328 0.076 0.28 0.447 0.017 0.434 0.133 0.184 0.153 0.294 0.372 0.395 0.119 0.176 -0.1 0.266 0.331 0.198 0.145 0.256 0.038 0.184 0.342 0.125 0.132 0.106 0.272 0.459 -0.002 0.359 0.239 0.15 0.083 0.168 0.19 1'
lowerWKITA <- '
1
0.438 1
0.55 0.362 1
0.326 0.408 0.433 1
0 0.302 0.043 0.173 1
0.022 0.239 0.041 0.189 0.632 1
0.438 0.304 0.222 0.221 -0.133 -0.134 1
0.384 0.649 0.298 0.377 0.394 0.306 0.083 1
0.471 0.46 0.306 0.235 -0.026 -0.029 0.6 0.331 1
0.564 0.378 0.37 0.216 -0.041 -0.061 0.595 0.264 0.563 1'
lowerWKITK <- '
1
0.428 1
0.239 0.166 1
0.324 0.267 0.266 1
0.265 0.36 0.302 0.295 1
0.347 0.217 0.346 0.187 0.213 1
0.29 0.103 0.196 0.208 0.153 0.166 1
0.356 0.069 0.348 0.22 0.239 0.275 0.204 1
0.632 0.194 0.218 0.109 0.208 0.296 0.211 0.34 1
0.178 0.167 0.163 0.064 0.144 0.172 0.129 0.126 0.231 1
0.425 0.103 0.188 0.058 0.127 0.333 0.124 0.173 0.398 0.13 1
0.288 0.234 0.319 0.253 0.148 0.427 0.037 0.185 0.196 0.206 0.114 1
0.503 0.32 0.173 0.286 0.336 0.408 0.101 0.245 0.424 0.303 0.392 0.202 1
0.555 -0.039 0.09 0.045 0.089 0.222 0.123 0.162 0.382 0.102 0.49 0.103 0.354 1
0.166 0.331 0.134 0.164 0.375 0.175 -0.001 0.022 0.097 0.213 0.136 0.096 0.23 0.015 1
0.41 0.383 0.189 0.296 0.274 0.425 0.143 0.159 0.387 0.19 0.359 0.195 0.362 0.294 0.213 1
0.274 0.276 0.286 0.268 0.421 0.277 0.109 0.28 0.235 0.218 0.157 0.193 0.402 0.15 0.281 0.179 1
0.28 0.294 0.341 0.252 0.287 0.395 0.113 0.321 0.259 0.15 0.21 0.306 0.29 0.144 0.172 0.235 0.424 1
0.276 0.16 0.117 0.234 0.222 0.145 0.103 0.109 0.201 0.691 0.16 0.234 0.195 0.199 0.145 0.136 0.216 0.182 1
0.252 0.163 0.138 0.221 0.154 0.22 0.102 0.196 0.32 0.457 0.27 0.117 0.42 0.351 0.113 0.323 0.117 0.154 0.423 1
0.448 0.163 0.294 0.121 0.195 0.41 0.335 0.282 0.491 0.21 0.488 0.18 0.551 0.423 0.088 0.354 0.259 0.276 0.184 0.342 1
0.306 -0.007 0.136 0.047 0.04 0.166 0.257 0.259 0.346 0.029 0.463 0.058 0.327 0.502 0.015 0.332 0.13 0.147 0.112 0.296 0.43 1
0.301 0.046 0.449 0.237 0.224 0.286 0.071 0.685 0.243 0.07 0.12 0.096 0.185 0.125 -0.057 0.109 0.193 0.256 0.019 0.019 0.381 0.204 1
0.158 0.295 0.139 0.061 0.207 0.076 0.104 0.043 0.238 0.204 0.208 0.116 0.201 0.086 0.464 0.212 0.127 0.123 0.107 0.1 -0.052 -0.032 -0.024 1
0.193 0.25 0.154 0.12 0.037 0.153 0.058 0.035 0.175 0.158 0.105 0.354 0.093 0.041 0.142 -0.026 0.128 0.231 0.129 0.057 -0.043 -0.023 -0.078 0.129 1
0.305 0.243 0.456 0.241 0.466 0.241 0.224 0.434 0.343 0.21 0.172 0.417 0.42 0.073 0.23 0.071 0.453 0.422 0.09 -0.075 0.187 -0.038 0.394 0.155 0.129 1
0.377 0.161 0.16 0.256 0.098 0.43 0.211 0.054 0.306 0.046 0.445 0.073 0.167 0.345 0.001 0.376 0.022 0.134 0.025 0.266 0.173 0.341 0.129 0.193 0.048 0.111 1
0.248 0.142 0.116 0.094 0.059 0.201 0.14 0.099 0.187 0.041 0.335 0.07 0.178 0.223 0.127 0.288 0.098 0.144 0.014 0.086 0.195 0.281 0.051 0.143 0.108 0.05 0.262 1
0.252 0.097 0.373 0.033 0.161 0.437 0.067 0.158 0.293 0.059 0.382 0.279 0.243 0.419 0.03 0.163 0.257 0.3 0.046 0.012 0.254 0.213 0.208 0.069 0.196 0.22 0.248 0.25 1
0.518 0.227 0.314 0.375 0.217 0.37 0.187 0.408 0.491 0.243 0.427 0.194 0.477 0.257 0.029 0.326 0.242 0.265 0.151 0.188 0.406 0.32 0.363 0.111 -0.006 0.307 0.303 0.175 0.233 1
0.435 0.788 0.077 0.354 0.39 0.244 0.175 0.086 0.233 0.29 0.062 0.203 0.21 -0.01 0.377 0.241 0.304 0.262 0.147 0.011 0.128 -0.05 0.02 0.449 0.224 0.271 0.097 0.195 0.059 0.117 1
0.164 -0.031 0.17 -0.063 0.194 0.202 0.161 0.19 0.07 0.021 0.288 0.032 0.169 0.352 0.026 0.185 0.004 0.001 0.087 0.23 0.23 0.228 0.277 0.042 -0.072 0.235 0.183 0.133 0.106 0.207 -0.113 1
0.36 0.171 0.198 0.129 0.085 0.315 0.171 0.13 0.281 0.116 0.341 0.112 0.362 0.38 0.252 0.416 0.209 0.266 0.15 0.321 0.326 0.315 0.184 0.136 0.016 0.149 0.438 0.239 0.223 0.277 0.158 0.239 1
0.205 0.182 0.353 0.191 0.217 0.357 0.173 0.146 0.115 0.182 0.209 0.469 0.178 0.051 0.129 0.244 0.369 0.517 0.17 0.065 0.097 0.065 0.158 0.14 0.051 0.264 0.201 0.257 0.324 0.202 0.199 0.033 0.243 1
0.251 0.139 0.267 0.116 0.214 0.254 0.117 0.105 0.23 0.279 0.263 0.147 0.271 0.233 -0.035 0.249 -0.009 0.05 0.242 0.381 0.216 0.273 0.272 0.1 -0.088 0.114 0.287 0.179 0.24 0.308 0.006 0.182 0.23 0.16 1
0.291 0.252 0.353 0.202 0.232 0.428 0.267 0.128 0.106 0.145 0.24 0.536 0.211 0.136 0.101 0.147 0.303 0.286 0.054 -0.013 0.119 0.084 0.127 0.108 0.169 0.355 0.008 0.252 0.23 0.102 0.178 0.084 0.202 0.363 0.091 1
0.562 0.248 0.258 0.309 0.233 0.441 0.334 0.324 0.401 0.189 0.329 0.164 0.435 0.378 0.132 0.39 0.225 0.282 0.163 0.249 0.482 0.335 0.448 0.148 -0.113 0.272 0.309 0.321 0.253 0.597 0.166 0.13 0.3 0.229 0.252 0.173 1
0.418 0.087 0.19 -0.001 0.049 0.297 0.308 0.248 0.412 0.115 0.568 0.159 0.388 0.624 0.069 0.485 0.071 0.168 0.117 0.438 0.481 0.565 0.292 0.099 -0.081 0.22 0.504 0.414 0.313 0.448 -0.005 0.382 0.432 0.171 0.276 0.142 0.419 1
-0.026 0.155 -0.002 0.026 0.123 -0.059 0.026 -0.086 0.041 -0.029 -0.023 0.094 -0.068 -0.063 0.131 0.068 0.07 0.222 0.112 -0.001 0.043 -0.054 0.047 0.053 0.743 0.178 0.167 -0.018 0.216 -0.014 0.186 0.022 0.112 0.224 -0.091 0.399 0.038 0.029 1
0.376 0.122 0.195 0.072 0.195 0.279 0.22 0.253 0.361 0.141 0.506 0.127 0.371 0.464 0.152 0.414 0.187 0.357 0.088 0.235 0.305 0.483 0.204 0.246 0.141 0.234 0.585 0.247 0.225 0.414 0.123 0.269 0.385 0.224 0.138 0.203 0.273 0.463 0.127 1
0.105 0.094 0.064 0.064 0.077 0.199 0.158 0.072 0.242 0.121 0.292 0.115 0.216 0.341 0.209 0.402 0.242 0.301 0.111 0.241 0.21 0.324 0.067 0.18 0.143 0.1 0.355 0.274 0.266 0.206 0.129 0.23 0.331 0.295 0.151 0.191 0.151 0.423 0.173 0.471 1
0.084 0.113 0.133 0.108 0.448 0.069 0.1 0.227 0.15 0.22 0.265 0.036 0.342 0.329 0.142 0.284 0.171 0.284 0.177 0.224 0.278 0.216 0.241 0.13 0.014 0.326 0.184 0.114 0.228 0.252 0.114 0.346 0.216 0.166 0.109 0.11 0.171 0.217 0.008 0.304 0.145 1
0.237 0.17 0.378 0.677 0.16 0.003 0.162 0.247 0.305 0.165 0.174 0.216 0.299 0.174 0.087 0.152 0.375 0.273 0.167 0.216 0.257 0.126 0.2 0.114 0.213 0.253 0.194 0.019 0.11 0.228 0.204 0.005 0.009 0.254 0.081 0.232 0.291 0.147 0.067 0.115 0.042 0.159 1
0.297 0.223 0.588 0.249 0.263 0.373 0.162 0.333 0.335 0.275 0.217 0.391 0.341 0.226 0.176 0.249 0.524 0.427 0.273 0.174 0.283 0.225 0.34 0.024 0.161 0.527 0.097 0.075 0.35 0.325 0.205 0.005 0.231 0.31 0.099 0.391 0.335 0.197 0.132 0.253 0.144 0.207 0.262 1
0.274 0.304 0.268 0.327 0.529 0.187 0.209 0.293 0.274 0.237 0.239 0.03 0.39 0.216 0.311 0.259 0.419 0.332 0.216 0.262 0.302 0.23 0.131 0.253 -0.047 0.339 0.181 0.006 0.22 0.325 0.359 0.054 0.259 0.278 0.12 0.203 0.315 0.204 0.048 0.185 0.102 0.33 0.264 0.287 1
0.368 0.037 0.107 0.052 0.069 0.172 0.298 0.183 0.238 0.163 0.328 0.076 0.28 0.447 0.017 0.434 0.133 0.184 0.153 0.294 0.372 0.395 0.119 0.176 -0.1 0.266 0.331 0.198 0.145 0.256 0.038 0.184 0.342 0.125 0.132 0.106 0.272 0.459 -0.002 0.359 0.239 0.15 0.083 0.168 0.19 1'
nWKIT <- 230
WKIT.cor = getCov(lowerWKIT, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI", "RG1", "N1", "FA2", "MS1", "CV3", "XU3", "RL1", "V2", "RG3", "MA1", "S2", "FI1", "I1", "VZ2", "P1", "SS3", "FW1", "FE1", "MA2", "MV2", "RL2", "XF3", "V1", "P2", "FF1", "FW2", "S1", "I3", "XU1", "IP2", "N3", "CS1", "CF2", "FE2", "MV3", "FI3", "IP1", "VZ3", "FF2", "CF3", "SS1", "CS2", "MS3", "FA1", "CV1", "XF1"))
WKITA.cor = getCov(lowerWKITA, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI"))
WKITK.cor = getCov(lowerWKITK, names = c("RG1", "N1", "FA2", "MS1", "CV3", "XU3", "RL1", "V2", "RG3", "MA1", "S2", "FI1", "I1", "VZ2", "P1", "SS3", "FW1", "FE1", "MA2", "MV2", "RL2", "XF3", "V1", "P2", "FF1", "FW2", "S1", "I3", "XU1", "IP2", "N3", "CS1", "CF2", "FE2", "MV3", "FI3", "IP1", "VZ3", "FF2", "CF3", "SS1", "CS2", "MS3", "FA1", "CV1", "XF1"))
fa.parallel(WKIT.cor, n.obs = nWKIT)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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 = 9 and the number of components = 6
fa.parallel(WKITA.cor, n.obs = nWKIT)
## 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 = 3 and the number of components = 2
fa.parallel(WKITK.cor, n.obs = nWKIT)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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 = 8 and the number of components = 6
WKIT <- fa(WKIT.cor, n.obs = nWKIT, nfactors = 9)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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.
WKITA <- fa(WKITA.cor, n.obs = nWKIT, nfactors = 4)
WKITK <- fa(WKITK.cor, n.obs = nWKIT, nfactors = 6)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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.
print(WKIT$loadings, cutoff = 0.3)
##
## Loadings:
## MR9 MR1 MR3 MR2 MR8 MR6 MR5 MR7 MR4
## GS 0.644
## AR 0.779
## WK 0.830
## PC 0.353
## NO 0.586
## CS 0.660
## AS -0.363 -0.353
## MK 0.460
## MC 0.438 0.307 -0.320
## EI 0.310
## RG1 0.771
## N1 0.695
## FA2 0.346 0.417
## MS1 0.826
## CV3 0.311 0.459
## XU3 0.633
## RL1
## V2 0.655
## RG3 0.511
## MA1 0.762
## S2 0.500
## FI1 0.674
## I1 0.387 0.321
## VZ2 0.487 0.387
## P1 0.413
## SS3 0.486
## FW1 0.421
## FE1 0.340
## MA2 0.752
## MV2 0.304 0.638
## RL2 0.419
## XF3 0.525
## V1 0.771
## P2 0.524
## FF1 0.841
## FW2 0.301 0.550
## S1 0.603
## I3 0.393
## XU1 0.437
## IP2
## N3 0.691
## CS1 0.372 0.365
## CF2 0.473
## FE2 0.577
## MV3 0.338
## FI3 0.571
## IP1 0.321
## VZ3 0.636
## FF2 0.784
## CF3 0.651
## SS1 0.669
## CS2 0.305 0.422
## MS3 0.727
## FA1 0.460
## CV1 0.438
## XF1 0.408
##
## MR9 MR1 MR3 MR2 MR8 MR6 MR5 MR7 MR4
## SS loadings 4.404 3.315 3.231 3.104 2.636 2.102 1.969 1.859 1.766
## Proportion Var 0.079 0.059 0.058 0.055 0.047 0.038 0.035 0.033 0.032
## Cumulative Var 0.079 0.138 0.196 0.251 0.298 0.336 0.371 0.404 0.435
print(WKITA$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR4 MR2 MR3
## GS 0.413 0.342
## AR 0.580
## WK 1.005
## PC 0.305
## NO 0.744
## CS 0.829
## AS 0.881
## MK 0.918
## MC 0.677
## EI 0.688
##
## MR1 MR4 MR2 MR3
## SS loadings 1.960 1.339 1.275 1.238
## Proportion Var 0.196 0.134 0.128 0.124
## Cumulative Var 0.196 0.330 0.457 0.581
print(WKITK$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR2 MR5 MR4 MR6
## RG1 0.373 0.399 -0.382
## N1 0.751
## FA2 0.610
## MS1 0.309 0.366
## CV3 0.401 0.367 0.385
## XU3 0.309
## RL1
## V2 0.651
## RG3 0.364
## MA1 0.779
## S2 0.669
## FI1 0.514
## I1 0.307
## VZ2 0.689
## P1 0.453 0.324
## SS3 0.528
## FW1 0.432
## FE1 0.384 0.311
## MA2 0.809
## MV2 0.308 0.628
## RL2 0.413
## XF3 0.642
## V1 0.728
## P2 0.449
## FF1 0.624
## FW2 0.676
## S1 0.654
## I3 0.455
## XU1 0.357 0.339
## IP2 0.318 0.383
## N3 0.895
## CS1 0.414
## CF2 0.549
## FE2 0.397
## MV3
## FI3 0.497
## IP1 0.329 0.356
## VZ3 0.823
## FF2 0.573
## CF3 0.694
## SS1 0.579
## CS2 0.425
## MS3 0.336
## FA1 0.555
## CV1 0.320 0.343
## XF1 0.515
##
## MR1 MR3 MR2 MR5 MR4 MR6
## SS loadings 5.860 3.960 2.871 2.133 2.131 1.269
## Proportion Var 0.127 0.086 0.062 0.046 0.046 0.028
## Cumulative Var 0.127 0.213 0.276 0.322 0.369 0.396
I opted to use the factor structures from the EFA in the study for the CFA of the Kit. Several tests had to be cut due to positive definiteness issues.
WKITA.model <- '
PS =~ NO + CS
MA =~ AR + MK
VC =~ WK + PC + GS
TK =~ AS + MC + EI + GS
gASVAB =~ PS + MA + VC + TK'
WKITK.model <- '
Gflu =~ FW1 + FA1 + P1 + FI3 + RL1 + MV2
Gre =~ FE2 + P2 + XU3 + RL2 + RG3 + IP1
Gclo =~ CV1 + CS2 + MV3 + IP1 + IP2
Gfig =~ CV1 + FF1
Glog =~ FI1 + RG1
gKIT =~ Gflu + Gre + Gclo + Gfig + Glog
FW1 ~~ FA1 + CV1
P1 ~~ CV1
FI3 ~~ MV2 + FE2 + XU3 + FI1
MV2 ~~ MV3
FE2 ~~ RL2
FE2 ~~ FI1
P2 ~~ RL2
XU3 ~~ FI1 + RG1
RG3 ~~ RG1
IP1 ~~ FF1
CV1 ~~ CS2
FF1 ~~ FI1
FW1 ~~ FE2
FA1 ~~ FI1
RL1 ~~ RL2 + FI1
RL2 ~~ FF1'
WKITA.fit <- cfa(WKITA.model, sample.cov = WKIT.cor, sample.nobs = nWKIT, std.lv = T, check.gradient = F, control = list(rel.tol = 1e-4))
WKITK.fit <- cfa(WKITK.model, sample.cov = WKIT.cor, sample.nobs = nWKIT, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
round(cbind("Wothke ASVAB" = fitMeasures(WKITA.fit, FITM),
"Wothke Kit" = fitMeasures(WKITK.fit, FITM)), 3)
## Wothke ASVAB Wothke Kit
## chisq 107.648 337.142
## df 30.000 123.000
## npar 25.000 67.000
## cfi 0.910 0.841
## rmsea 0.106 0.087
## rmsea.ci.lower 0.085 0.076
## rmsea.ci.upper 0.128 0.098
## aic 5771.501 11337.450
## bic 5857.453 11567.802
WKITFI.model <- '
PS =~ NO + CS
MA =~ AR + MK
VC =~ WK + PC + GS
TK =~ AS + MC + EI + GS
gASVAB =~ PS + MA + VC + TK
Gflu =~ FW1 + FA1 + P1 + FI3 + RL1 + MV2
Gre =~ FE2 + P2 + XU3 + RL2 + RG3 + IP1
Gclo =~ CV1 + CS2 + MV3 + IP1 + IP2
Gfig =~ CV1 + FF1
Glog =~ FI1 + RG1
gKIT =~ Gflu + Gre + Gclo + Gfig + Glog
FW1 ~~ FA1 + CV1
P1 ~~ CV1
FI3 ~~ MV2 + FE2 + XU3 + FI1
MV2 ~~ MV3
FE2 ~~ RL2
FE2 ~~ FI1
P2 ~~ RL2
XU3 ~~ FI1 + RG1
RG3 ~~ RG1
IP1 ~~ FF1
CV1 ~~ CS2
FW1 ~~ FE2
FA1 ~~ FI1
RL1 ~~ RL2 + FI1
RL2 ~~ FF1
gASVAB ~~ 1*gKIT
FA1 ~~ MC
FE2 ~~ CV1 + AR
P2 ~~ CS
CV1 ~~ WK
CS2 ~~ AR + CS + RG1
IP2 ~~ NO + PC
FF1 ~~ AR + WK
FI1 ~~ MK + PC + GS
RG1 ~~ NO + AR + PC
P1 ~~ CS
FI3 ~~ AS + AR
FE2 ~~ WK
RG3 ~~ AR
MV3 ~~ GS + FF1
RL1 ~~ AR
RL2 ~~ MC
MK ~~ WK
XU3 ~~ CS2
RG3 ~~ IP1'
WKITFI.fit <- suppressWarnings(cfa(WKITFI.model, sample.cov = WKIT.cor, sample.nobs = nWKIT, std.lv = T))
round(cbind("Unrelated g's" = fitMeasures(WKITNO.fit, FITM),
"Related g's" = fitMeasures(WKITFR.fit, FITM),
"Residual Covs" = fitMeasures(WKITRC.fit, FITM),
"Identical g's" = fitMeasures(WKITFI.fit, FITM)), 3)
## Unrelated g's Related g's Residual Covs Identical g's
## chisq 1738.844 1372.144 847.790 856.375
## df 344.000 343.000 313.000 314.000
## npar 91.000 92.000 122.000 121.000
## cfi 0.574 0.686 0.837 0.835
## rmsea 0.133 0.114 0.086 0.087
## rmsea.ci.lower 0.127 0.108 0.079 0.080
## rmsea.ci.upper 0.139 0.121 0.093 0.094
## aic 17136.668 16771.968 16307.615 16314.200
## bic 17449.533 17088.271 16727.060 16730.207
The initial correlation between the batteries is r = 1.116; in the model immediately preceding the final one, this dropped to 1.057. The reason I did not go further was because it seemed like overfitting to data that was pretty bad for factor modeling. The real n of the dataset is only the sample size for each pairing of Kit tests since this was not a battery administered to all participants in the study. The sampling variance at such a sample size, with such a testing pattern, is thus considerable. That the battery is so strongly unidimensional with that being said is quite surprising. In order to get the relationship between the g factors below one, I have to fit many more residual covariances, improving the fit well beyond conventionally acceptable levels, but the effort is ultimately pointless since the end conclusion is the same: these batteries seem to produce the same g and to be strongly g saturated to similar degrees with or without these modifications.
lowerWIAA <-'
1
0.64 1
0.08 0.16 1
0.28 0.33 0.71 1
0.26 0.3 0.67 0.67 1
0.38 0.5 0.54 0.61 0.57 1
0.45 0.49 0.52 0.57 0.66 0.63 1
0.31 0.51 0.35 0.37 0.33 0.56 0.44 1
0.84 0.6 0 0.19 0.19 0.28 0.4 0.31 1
0.58 0.75 0.04 0.21 0.19 0.33 0.4 0.33 0.66 1
0.27 0.38 0.47 0.5 0.48 0.5 0.51 0.39 0.3 0.38 1
0.22 0.32 0.65 0.63 0.78 0.54 0.62 0.34 0.27 0.3 0.54 1
0.45 0.54 0.43 0.51 0.49 0.58 0.59 0.42 0.47 0.52 0.67 0.57 1
0.34 0.32 0.47 0.47 0.47 0.49 0.64 0.4 0.41 0.33 0.53 0.59 0.6 1
0.36 0.55 0.34 0.38 0.38 0.5 0.47 0.6 0.38 0.53 0.56 0.43 0.57 0.47 1
0.32 0.46 -0.1 0.04 0.04 0.13 0.2 0.23 0.41 0.56 0.24 0.15 0.3 0.2 0.28 1
0.28 0.4 0.01 0.12 0.12 0.17 0.17 0.33 0.35 0.42 0.23 0.17 0.32 0.17 0.33 0.35 1
0.3 0.22 -0.04 0.05 0.05 0.19 0.14 0.13 0.38 0.24 0.21 0.1 0.27 0.21 0.21 0.3 0.22 1
0.57 0.48 0.3 0.42 0.42 0.38 0.5 0.31 0.57 0.48 0.45 0.42 0.49 0.43 0.45 0.38 0.26 0.29 1'
lowerWIAAV <- '
1
0.64 1
0.08 0.16 1
0.28 0.33 0.71 1
0.26 0.3 0.67 0.67 1
0.38 0.5 0.54 0.61 0.57 1
0.45 0.49 0.52 0.57 0.66 0.63 1
0.31 0.51 0.35 0.37 0.33 0.56 0.44 1'
lowerWIAAC <- '
1
0.66 1
0.3 0.38 1
0.27 0.3 0.54 1
0.47 0.52 0.67 0.57 1
0.41 0.33 0.53 0.59 0.6 1
0.38 0.53 0.56 0.43 0.57 0.47 1
0.41 0.56 0.24 0.15 0.3 0.2 0.28 1
0.35 0.42 0.23 0.17 0.32 0.17 0.33 0.35 1
0.38 0.24 0.21 0.1 0.27 0.21 0.21 0.3 0.22 1
0.57 0.48 0.45 0.42 0.49 0.43 0.45 0.38 0.26 0.29 1'
nWIAA <- 200
WIAA.cor = getCov(lowerWIAA, names = c("WK", "AR", "TK", "SI", "AI", "MC", "EI", "SP", "VE", "ARB", "SM", "AIB", "MA", "EIB", "PA", "AC", "ARCB", "CI", "GI"))
WIAAV.cor = getCov(lowerWIAAV, names = c("WK", "AR", "TK", "SI", "AI", "MC", "EI", "SP"))
WIAAC.cor = getCov(lowerWIAAC, names = c("VE", "ARB", "SM", "AIB", "MA", "EIB", "PA", "AC", "ARCB", "CI", "GI"))
fa.parallel(WIAA.cor, n.obs = nWIAA)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
fa.parallel(WIAAV.cor, n.obs = nWIAA)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 2 and the number of components = 2
fa.parallel(WIAAC.cor, n.obs = nWIAA)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 2
WIA <- fa(WIAA.cor, n.obs = nWIAA, nfactors = 3)
WIAAV <- fa(WIAAV.cor, n.obs = nWIAA, nfactors = 2)
WIAAC <- fa(WIAAC.cor, n.obs = nWIAA, nfactors = 2)
print(WIA$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR2
## WK 0.863
## AR 0.580 0.324
## TK 0.888
## SI 0.788
## AI 0.855
## MC 0.567 0.306
## EI 0.644
## SP 0.605
## VE 0.913
## ARB 0.586 0.390
## SM 0.448 0.416
## AIB 0.770
## MA 0.417 0.421
## EIB 0.531
## PA 0.726
## AC 0.494
## ARCB 0.518
## CI
## GI 0.302 0.484
##
## MR1 MR3 MR2
## SS loadings 4.408 2.632 2.397
## Proportion Var 0.232 0.139 0.126
## Cumulative Var 0.232 0.371 0.497
print(WIAAV$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2
## WK 0.704
## AR 0.903
## TK 0.924
## SI 0.794
## AI 0.791
## MC 0.572 0.373
## EI 0.566 0.372
## SP 0.428
##
## MR1 MR2
## SS loadings 2.841 1.812
## Proportion Var 0.355 0.227
## Cumulative Var 0.355 0.582
print(WIAAC$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2
## VE 0.730
## ARB 0.804
## SM 0.766
## AIB 0.811
## MA 0.720
## EIB 0.743
## PA 0.513
## AC 0.703
## ARCB 0.498
## CI 0.409
## GI 0.336 0.433
##
## MR1 MR2
## SS loadings 2.710 2.395
## Proportion Var 0.246 0.218
## Cumulative Var 0.246 0.464
WIAAC.model <- '
INFO =~ SM + AIB + MA + EIB + PA
Gf =~ VE + ARB + AC + ARCB + CI + GI
gACB =~ INFO + Gf'
WIAAV.model <- '
TECH =~ TK + SI + AI + MC + EI
Gsp =~ WK + AR + SP + MC + EI
gAS =~ TECH + Gsp'
WIAAC.fit <- suppressWarnings(cfa(WIAAC.model, sample.cov = WIAA.cor, sample.nobs = nWIAA, std.lv = T))
WIAAV.fit <- suppressWarnings(cfa(WIAAV.model, sample.cov = WIAA.cor, sample.nobs = nWIAA, std.lv = T))
round(cbind("Williamson ACB" = fitMeasures(WIAAC.fit, FITM),
"Williamson ASVAB" = fitMeasures(WIAAV.fit, FITM)), 3)
## Williamson ACB Williamson ASVAB
## chisq 108.216 68.635
## df 42.000 16.000
## npar 24.000 20.000
## cfi 0.926 0.937
## rmsea 0.089 0.128
## rmsea.ci.lower 0.068 0.098
## rmsea.ci.upper 0.110 0.160
## aic 5433.837 3778.607
## bic 5512.996 3844.573
WIAAFI.model <- '
INFO =~ SM + AIB + MA + EIB + PA
Gf =~ VE + ARB + AC + ARCB + CI + GI
gACB =~ INFO + Gf
TECH =~ TK + SI + AI + MC + EI
Gsp =~ WK + AR + SP + MC + EI
gAS =~ TECH + Gsp
gACB ~~ 1*gAS
TECH ~~ INFO
AI ~~ AIB
EI ~~ EIB
WK ~~ VE
AR ~~ ARB
SP ~~ PA'
WIAAFI.fit <- suppressWarnings(cfa(WIAAFI.model, sample.cov = WIAA.cor, sample.nobs = nWIAA, std.lv = T, check.gradient = F))
round(cbind("Unrelated g's" = fitMeasures(WIAANO.fit, FITM),
"Related g's" = fitMeasures(WIAAFR.fit, FITM),
"Group Factors" = fitMeasures(WIAAGR.fit, FITM),
"Residual Covs" = fitMeasures(WIAARC.fit, FITM),
"Identical g's" = fitMeasures(WIAAFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 938.278 710.407 579.261 347.484
## df 146.000 145.000 144.000 139.000
## npar 44.000 45.000 46.000 51.000
## cfi 0.671 0.765 0.819 0.913
## rmsea 0.165 0.140 0.123 0.087
## rmsea.ci.lower 0.155 0.129 0.113 0.075
## rmsea.ci.upper 0.175 0.150 0.133 0.098
## aic 9212.472 8986.601 8857.455 8635.678
## bic 9357.598 9135.025 9009.177 8803.892
## Identical g's
## chisq 368.355
## df 140.000
## npar 50.000
## cfi 0.905
## rmsea 0.090
## rmsea.ci.lower 0.079
## rmsea.ci.upper 0.102
## aic 8654.550
## bic 8819.466
The initial r is 1.209; allowing group factor and residual covariances reduces this to r = 0.88. This reduction is curious and may signal a conspicuous flaw: the relationship could be spuriously reduced by covarying conceptually identical tests and factors and attributing common variance to something more specific. But whether this is really a flaw and whether the g’s produced in this next-to-final model and separately produce the same results is something empirical to assess in the next section. If the g similarity is spuriously reduced, there should be relatively limited g factor similarity/congruence at the level of their loadings.
lowerPAG <- '
1
0.16 1
0.06 0.44 1
0.4 0.34 0.21 1
0.53 0.49 0.2 0.61 1
0.13 0.16 0.22 0.36 0.29 1
0.41 0.57 0.25 0.59 0.72 0.31 1
0.37 0.22 0.16 0.57 0.46 0.45 0.41 1
0.43 0.35 0.28 0.58 0.65 0.49 0.63 0.62 1
0.41 0.22 0.17 0.65 0.55 0.29 0.52 0.55 0.62 1
0.34 0.2 0.08 0.56 0.46 0.19 0.43 0.44 0.53 0.89 1
0.29 0.15 0.12 0.35 0.36 0.26 0.32 0.45 0.43 0.38 0.38 1
0.32 0.09 0.09 0.3 0.22 0.19 0.17 0.46 0.39 0.32 0.24 0.49 1
0.12 0.61 0.41 0.3 0.26 0.2 0.3 0.13 0.26 0.13 0.15 0.03 0.04 1
0.24 0.7 0.3 0.34 0.51 0.12 0.55 0.14 0.32 0.21 0.19 0.11 0.07 0.51 1
0.24 0.16 0.23 0.41 0.28 0.62 0.22 0.55 0.55 0.38 0.27 0.29 0.42 0.31 0.14 1
0.38 0.49 0.28 0.8 0.63 0.33 0.64 0.52 0.61 0.61 0.52 0.39 0.29 0.45 0.45 0.46 1
0.06 0.45 0.44 0.31 0.23 0.33 0.3 0.27 0.31 0.29 0.25 0.04 0.2 0.6 0.36 0.45 0.37 1
0.33 0.63 0.28 0.52 0.67 0.25 0.64 0.34 0.51 0.38 0.33 0.29 0.29 0.45 0.73 0.33 0.61 0.39 1
0.06 0.41 0.38 0.31 0.26 0.34 0.33 0.14 0.28 0.22 0.17 0.23 0.19 0.47 0.36 0.4 0.39 0.48 0.38 1
0.04 0.39 0.42 0.15 0.1 0.08 0.23 0.03 0.18 0.16 0.16 -0.02 0.04 0.5 0.3 0.12 0.22 0.44 0.25 0.34 1'
lowerPAGA <- '
1
0.16 1
0.06 0.44 1
0.4 0.34 0.21 1
0.53 0.49 0.2 0.61 1
0.13 0.16 0.22 0.36 0.29 1
0.41 0.57 0.25 0.59 0.72 0.31 1
0.37 0.22 0.16 0.57 0.46 0.45 0.41 1
0.43 0.35 0.28 0.58 0.65 0.49 0.63 0.62 1
0.41 0.22 0.17 0.65 0.55 0.29 0.52 0.55 0.62 1
0.34 0.2 0.08 0.56 0.46 0.19 0.43 0.44 0.53 0.89 1
0.29 0.15 0.12 0.35 0.36 0.26 0.32 0.45 0.43 0.38 0.38 1
0.32 0.09 0.09 0.3 0.22 0.19 0.17 0.46 0.39 0.32 0.24 0.49 1'
lowerPAGG <- '
1
0.51 1
0.31 0.14 1
0.45 0.45 0.46 1
0.6 0.36 0.45 0.37 1
0.45 0.73 0.33 0.61 0.39 1
0.47 0.36 0.4 0.39 0.48 0.38 1
0.5 0.3 0.12 0.22 0.44 0.25 0.34 1'
nPAG <- 290
PAG.cor = getCov(lowerPAG, names = c("GI", "NO", "AD", "WK", "AR", "SP", "MK", "EI", "MC", "GS", "GB", "SI", "AI", "NC", "CO", "DS", "VO", "TM", "AA", "FM", "MM"))
PAGA.cor = getCov(lowerPAGA, names = c("GI", "NO", "AD", "WK", "AR", "SP", "MK", "EI", "MC", "GS", "GB", "SI", "AI"))
PAGG.cor = getCov(lowerPAGG, names = c("NC", "CO", "DS", "VO", "TM", "AA", "FM", "MM"))
fa.parallel(PAG.cor, n.obs = nPAG)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 3
fa.parallel(PAGA.cor, n.obs = nPAG)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 2
fa.parallel(PAGG.cor, n.obs = nPAG)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
PAG <- fa(PAG.cor, n.obs = nPAG, nfactors = 4)
PAGA <- fa(PAGA.cor, n.obs = nPAG, nfactors = 4)
PAGG <- fa(PAGG.cor, n.obs = nPAG, nfactors = 3)
print(PAG$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR4 MR2
## GI 0.389
## NO 0.680 0.382
## AD 0.475
## WK 0.358 0.397
## AR 0.774
## SP 0.656
## MK 0.720
## EI 0.595
## MC 0.352 0.462
## GS 0.957
## GB 0.941
## SI 0.389
## AI 0.505
## NC 0.662
## CO 0.803
## DS 0.882
## VO 0.463 0.312
## TM 0.670
## AA 0.796
## FM 0.453
## MM 0.613
##
## MR1 MR3 MR4 MR2
## SS loadings 3.658 2.558 2.341 2.157
## Proportion Var 0.174 0.122 0.111 0.103
## Cumulative Var 0.174 0.296 0.407 0.510
print(PAGA$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR4 MR3 MR2
## GI 0.556
## NO 0.427 0.516
## AD 0.566
## WK 0.333 0.304
## AR 0.876
## SP 0.470
## MK 0.697
## EI 0.681
## MC 0.467
## GS 0.963
## GB 0.935
## SI 0.568
## AI 0.706
##
## MR1 MR4 MR3 MR2
## SS loadings 1.980 1.924 1.848 0.842
## Proportion Var 0.152 0.148 0.142 0.065
## Cumulative Var 0.152 0.300 0.442 0.507
print(PAGG$loadings, cutoff = 0.3)
##
## Loadings:
## MR3 MR1 MR2
## NC 0.749
## CO 0.715
## DS 0.930
## VO 0.489
## TM 0.678
## AA 0.968
## FM 0.453
## MM 0.702
##
## MR3 MR1 MR2
## SS loadings 1.778 1.719 1.086
## Proportion Var 0.222 0.215 0.136
## Cumulative Var 0.222 0.437 0.573
PAGA.model <- '
Gf =~ WK + GS + GB
Gc =~ GI + NO + AR + MK
TECH =~ SP + EI + MC + SI + AI
Gdet =~ NO + AD
gAS =~ Gf + Gc + TECH + Gdet
AD ~~ 0*AD
GS ~~ GB
EI ~~ MC'
PAGG.model <- '
V =~ NC + TM + FM + MM
N =~ CO + VO + AA
S =~ DS + VO
gGA =~ V + N + S'
PAGG.fit <- cfa(PAGG.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T)
PAGA.fit <- cfa(PAGA.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T)
round(cbind("Kettner ASVAB" = fitMeasures(PAGA.fit, FITM),
"Kettner GATB" = fitMeasures(PAGG.fit, FITM)), 3)
## Kettner ASVAB Kettner GATB
## chisq 212.588 81.744
## df 59.000 16.000
## npar 32.000 20.000
## cfi 0.924 0.929
## rmsea 0.095 0.119
## rmsea.ci.lower 0.081 0.094
## rmsea.ci.upper 0.109 0.145
## aic 8860.602 5745.565
## bic 8978.039 5818.962
PAGFI.model <- '
Gf =~ WK + GS + GB
Gc =~ GI + NO + AR + MK
TECH =~ SP + EI + MC + SI + AI
Gdet =~ NO + AD
gAS =~ Gf + Gc + TECH + Gdet
GS ~~ GB
EI ~~ MC
V =~ NC + TM + FM + MM
N =~ CO + VO + AA
S =~ DS + VO
gGA =~ V + N + S
gAS ~~ 1*gGA
Gc ~~ N
Gdet ~~ V
WK ~~ VO
GS ~~ NC
NO ~~ NC + CO
DS ~~ MK + SP + EI
SI ~~ FM
AI ~~ AA'
PAGFI.fit <- cfa(PAGFI.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
round(cbind("Unrelated g's" = fitMeasures(PAGNO.fit, FITM),
"Related g's" = fitMeasures(PAGFR.fit, FITM),
"Group Factors" = fitMeasures(PAGGR.fit, FITM),
"Residual Covs" = fitMeasures(PAGRC.fit, FITM),
"Identical g's" = fitMeasures(PAGFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 1326.717 1016.748 826.616 577.480
## df 178.000 177.000 175.000 166.000
## npar 53.000 54.000 56.000 65.000
## cfi 0.704 0.784 0.832 0.894
## rmsea 0.149 0.128 0.113 0.092
## rmsea.ci.lower 0.142 0.120 0.106 0.084
## rmsea.ci.upper 0.157 0.136 0.121 0.101
## aic 14604.705 14296.737 14110.605 13879.469
## bic 14799.209 14494.911 14316.118 14118.011
## Identical g's
## chisq 596.067
## df 167.000
## npar 64.000
## cfi 0.889
## rmsea 0.094
## rmsea.ci.lower 0.086
## rmsea.ci.upper 0.102
## aic 13896.056
## bic 14130.928
The original r is 0.949 and in the next-to-last model it is 0.929. I could have improved fit somewhat more, but again, risked overfitting without a qualitative change in the result.
lowerPAD <- '
1
0.33 1
0.22 0.51 1
0.51 0.35 0.1 1
0.43 0.5 0.28 0.46 1
0.23 0.22 0.22 0.26 0.39 1
0.49 0.55 0.3 0.59 0.72 0.44 1
0.44 0.37 0.14 0.55 0.52 0.25 0.57 1
0.43 0.31 0.27 0.48 0.56 0.6 0.65 0.55 1
0.49 0.42 0.2 0.71 0.46 0.4 0.66 0.55 0.59 1
0.46 0.33 0.18 0.63 0.3 0.37 0.61 0.46 0.52 0.91 1
0.43 0.3 0.21 0.38 0.46 0.41 0.49 0.58 0.55 0.54 0.47 1
0.44 0.18 0.01 0.4 0.41 0.23 0.36 0.66 0.53 0.5 0.44 0.59 1
0.49 0.43 0.18 0.74 0.64 0.39 0.68 0.54 0.6 0.69 0.62 0.47 0.38 1
0.43 0.54 0.29 0.53 0.78 0.39 0.79 0.53 0.56 0.53 0.46 0.45 0.28 0.72 1
0.39 0.38 0.29 0.32 0.57 0.49 0.62 0.37 0.54 0.48 0.47 0.43 0.26 0.58 0.64 1
0.14 0.51 0.56 0.1 0.33 0.28 0.35 0.21 0.25 0.22 0.19 0.25 0.05 0.23 0.36 0.32 1
0.24 0.24 0.15 0.33 0.4 0.37 0.41 0.38 0.61 0.33 0.27 0.41 0.38 0.45 0.39 0.4 0.24 1
0.32 0.34 0.26 0.41 0.54 0.67 0.59 0.44 0.72 0.47 0.43 0.46 0.41 0.58 0.54 0.38 0.31 0.59 1
0.35 0.3 0.17 0.57 0.41 0.14 0.45 0.34 0.26 0.29 0.34 0.27 0.21 0.56 0.48 0.25 0.16 0.24 0.27 1
0.42 0.42 0.28 0.74 0.52 0.25 0.69 0.46 0.5 0.61 0.56 0.4 0.28 0.75 0.62 0.5 0.28 0.39 0.49 0.65 1'
lowerPADA <- '
1
0.33 1
0.22 0.51 1
0.51 0.35 0.1 1
0.43 0.5 0.28 0.46 1
0.23 0.22 0.22 0.26 0.39 1
0.49 0.55 0.3 0.59 0.72 0.44 1
0.44 0.37 0.14 0.55 0.52 0.25 0.57 1
0.43 0.31 0.27 0.48 0.56 0.6 0.65 0.55 1
0.49 0.42 0.2 0.71 0.46 0.4 0.66 0.55 0.59 1
0.46 0.33 0.18 0.63 0.3 0.37 0.61 0.46 0.52 0.91 1
0.43 0.3 0.21 0.38 0.46 0.41 0.49 0.58 0.55 0.54 0.47 1
0.44 0.18 0.01 0.4 0.41 0.23 0.36 0.66 0.53 0.5 0.44 0.59 1'
lowerPADD <- '
1
0.72 1
0.58 0.64 1
0.23 0.36 0.32 1
0.45 0.39 0.4 0.24 1
0.58 0.54 0.38 0.31 0.59 1
0.56 0.48 0.25 0.16 0.24 0.27 1
0.75 0.62 0.5 0.28 0.39 0.49 0.65 1'
PAD.cor = getCov(lowerPAD, names = c("GI", "NO", "AD", "WK", "AR", "SP", "MK", "EI", "MC", "GS", "GB", "SI", "AI", "VR", "NAB", "AA", "CS", "MR", "SR", "SG", "LU"))
PADA.cor = getCov(lowerPADA, names = c("GI", "NO", "AD", "WK", "AR", "SP", "MK", "EI", "MC", "GS", "GB", "SI", "AI"))
PADD.cor = getCov(lowerPADD, names = c("VR", "NAB", "AA", "CS", "MR", "SR", "SG", "LU"))
fa.parallel(PAD.cor, n.obs = nPAG)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 6 and the number of components = 3
fa.parallel(PADA.cor, n.obs = nPAG)
## 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 = 4 and the number of components = 2
fa.parallel(PADD.cor, n.obs = nPAG)
## 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.
## Warning in fa.stats(r = r, f = f, phi = phi, n.obs = n.obs, np.obs = np.obs, :
## An ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
PAD <- fa(PAD.cor, n.obs = nPAG, nfactors = 6)
PADA <- fa(PADA.cor, n.obs = nPAG, nfactors = 4)
PADD <- fa(PADD.cor, n.obs = nPAG, nfactors = 3)
## 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.
print(PAD$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR4 MR6 MR5 MR2
## GI
## NO 0.575
## AD 0.798
## WK 0.668
## AR 0.759
## SP 0.696
## MK 0.560
## EI 0.605
## MC 0.615
## GS 0.834
## GB 0.890
## SI 0.469
## AI 0.903
## VR 0.339 0.450
## NAB 0.829
## AA 0.587
## CS 0.720
## MR 0.560
## SR 0.804
## SG 0.716
## LU 0.707
##
## MR1 MR3 MR4 MR6 MR5 MR2
## SS loadings 2.257 1.986 1.909 1.848 1.664 1.564
## Proportion Var 0.107 0.095 0.091 0.088 0.079 0.074
## Cumulative Var 0.107 0.202 0.293 0.381 0.460 0.535
print(PADA$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR3 MR2 MR4
## GI 0.320
## NO 0.833
## AD 0.556
## WK 0.558
## AR 0.350 0.491
## SP 0.806
## MK 0.457
## EI 0.719
## MC 0.303 0.581
## GS 0.883
## GB 0.995
## SI 0.490
## AI 0.846
##
## MR1 MR3 MR2 MR4
## SS loadings 2.262 1.915 1.588 1.201
## Proportion Var 0.174 0.147 0.122 0.092
## Cumulative Var 0.174 0.321 0.444 0.536
print(PADD$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2 MR3
## VR 0.584
## NAB 0.377 0.457
## AA 0.919
## CS
## MR 0.484
## SR 1.023
## SG 0.876
## LU 0.759
##
## MR1 MR2 MR3
## SS loadings 1.831 1.381 1.253
## Proportion Var 0.229 0.173 0.157
## Cumulative Var 0.229 0.402 0.558
PADA.model <- '
Gf =~ WK + GS + GB
Gmec =~ GI + AR + EI + MC + SI + AI
Gq =~ NO + AD + AR + MK
Gsp =~ SP + MC
gAS =~ Gf + Gmec + Gq + Gsp
WK ~~ GI + EI
GS ~~ GB'
PADD.model <- '
Gsp =~ MR + SR
Gq =~ NAB + AA + CS
Grw =~ SG + LU
Grea =~ VR + LU
gDAT =~ Gsp + Gq + Grw + Grea
VR ~~ 0*VR'
PADA.fit <- cfa(PADA.model, sample.cov = PAD.cor, sample.nobs = nPAG, std.lv = T)
PADD.fit <- cfa(PADD.model, sample.cov = PAD.cor, sample.nobs = nPAG, std.lv = T)
round(cbind("Kettner ASVAB" = fitMeasures(PADA.fit, FITM),
"Kettner DAT" = fitMeasures(PADD.fit, FITM)), 3)
## Kettner ASVAB Kettner DAT
## chisq 285.060 59.244
## df 56.000 16.000
## npar 35.000 20.000
## cfi 0.906 0.962
## rmsea 0.119 0.097
## rmsea.ci.lower 0.105 0.071
## rmsea.ci.upper 0.133 0.123
## aic 8531.445 5518.912
## bic 8659.891 5592.309
PADFI.model <- '
ASGf =~ WK + GS + GB
ASGmec =~ GI + EI + MC + SI + AI
ASGq =~ NO + AD + AR + MK
ASGsp =~ SP + MC
gAS =~ ASGf + ASGmec + ASGq + ASGsp
WK ~~ GI + EI
GS ~~ GB
DAGsp =~ MR + SR
DAGq =~ NAB + AA + CS
DAGrw =~ SG + LU
DAGrea =~ VR + LU
gDAT =~ DAGsp + DAGq + DAGrw + DAGrea
gAS ~~ 1*gDAT
ASGf ~~ 1*DAGrea
ASGmec ~~ DAGsp
ASGsp ~~ 1*DAGsp
SG ~~ 0*SG
WK ~~ AA + CS + LU
AI ~~ NAB
NO ~~ CS
AD ~~ CS
AR ~~ NAB
MK ~~ LU + VR
SP ~~ MR + AA + LU'
PADFI.fit <- suppressWarnings(cfa(PADFI.model, sample.cov = PAD.cor, sample.nobs = nPAG, std.lv = T))
round(cbind("Unrelated g's" = fitMeasures(PADNO.fit, FITM),
"Related g's" = fitMeasures(PADFR.fit, FITM),
"Group Factors" = fitMeasures(PADGR.fit, FITM),
"Residual Covs" = fitMeasures(PADRC.fit, FITM),
"Identical g's" = fitMeasures(PADFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 1625.754 1201.628 965.613 672.560
## df 176.000 175.000 175.000 163.000
## npar 55.000 56.000 56.000 68.000
## cfi 0.694 0.783 0.833 0.892
## rmsea 0.169 0.142 0.125 0.104
## rmsea.ci.lower 0.161 0.135 0.117 0.096
## rmsea.ci.upper 0.176 0.150 0.133 0.112
## aic 14054.031 13631.905 13395.890 13126.837
## bic 14255.875 13837.418 13601.403 13376.389
## Identical g's
## chisq 681.565
## df 164.000
## npar 67.000
## cfi 0.891
## rmsea 0.104
## rmsea.ci.lower 0.096
## rmsea.ci.upper 0.112
## aic 13133.842
## bic 13379.724
The starting relationship was r = 1.021. There is a much more coherent factor structure - without the errors the models above yielded, with better fit and with virtually the same g loadings (this is also true for all the datasets) - if both the g and group factors are modeled together. In the next-to-last model, the r was 0.972.
lowerPAG <- '
1
0.722 1
0.801 0.708 1
0.689 0.672 0.803 1
0.524 0.627 0.617 0.608 1
0.452 0.515 0.55 0.56 0.701 1
0.637 0.533 0.529 0.423 0.306 0.225 1
0.695 0.827 0.67 0.637 0.617 0.52 0.415 1
0.695 0.684 0.593 0.521 0.408 0.336 0.741 0.6 1
0.76 0.658 0.684 0.573 0.421 0.342 0.745 0.585 0.743 1
0.526 0.624 0.627 0.625 0.715 0.743 0.261 0.664 0.404 0.422 1
0.367 0.571 0.449 0.432 0.621 0.536 0.168 0.583 0.274 0.281 0.607 1
0.449 0.456 0.382 0.307 0.277 0.299 0.442 0.429 0.531 0.449 0.376 0.223 1
0.716 0.656 0.818 0.733 0.608 0.551 0.437 0.675 0.542 0.587 0.677 0.521 0.422 1
0.367 0.373 0.368 0.406 0.506 0.573 0.207 0.438 0.342 0.313 0.64 0.395 0.473 0.469 1
0.514 0.68 0.551 0.486 0.575 0.487 0.394 0.627 0.467 0.44 0.555 0.7 0.335 0.574 0.347 1
0.306 0.346 0.312 0.311 0.453 0.484 0.259 0.326 0.335 0.287 0.538 0.334 0.471 0.429 0.572 0.368 1'
lowerPAGA <- '
1
0.722 1
0.801 0.708 1
0.689 0.672 0.803 1
0.524 0.627 0.617 0.608 1
0.452 0.515 0.55 0.56 0.701 1
0.637 0.533 0.529 0.423 0.306 0.225 1
0.695 0.827 0.67 0.637 0.617 0.52 0.415 1
0.695 0.684 0.593 0.521 0.408 0.336 0.741 0.6 1
0.76 0.658 0.684 0.573 0.421 0.342 0.745 0.585 0.743 1'
lowerPAGG <- '
1
0.607 1
0.376 0.223 1
0.677 0.521 0.422 1
0.64 0.395 0.473 0.469 1
0.555 0.7 0.335 0.574 0.347 1
0.538 0.334 0.471 0.429 0.572 0.368 1'
nPAG <- 387
PAG.cor = getCov(lowerPAG, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI", "NCM", "CMP", "TDS", "VOC", "TLM", "ARS", "FRM"))
PAGA.cor = getCov(lowerPAGA, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI"))
PAGG.cor = getCov(lowerPAGG, names = c("NCM", "CMP", "TDS", "VOC", "TLM", "ARS", "FRM"))
fa.parallel(PAG.cor, n.obs = nPAG)
## 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 = 4 and the number of components = 2
fa.parallel(PAGA.cor, n.obs = nPAG)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
fa.parallel(PAGG.cor, n.obs = nPAG)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 1
PAG <- fa(PAG.cor, n.obs = nPAG, nfactors = 4)
PAGA <- fa(PAGA.cor, n.obs = nPAG, nfactors = 3)
## Warning in GPFoblq(L, Tmat = Tmat, normalize = normalize, eps = eps, maxit =
## maxit, : convergence not obtained in GPFoblq. 1000 iterations used.
PAGG <- fa(PAGG.cor, n.obs = nPAG, nfactors = 2)
print(PAG$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR4 MR2 MR3
## GS 0.579 0.417
## AR 0.566 0.342
## WK 0.868
## PC 0.823
## NO 0.373 0.386
## CS 0.385 0.456
## AS 0.763
## MK 0.506
## MC 0.739
## EI 0.347 0.631
## NCM 0.400 0.480
## CMP 0.888
## TDS 0.512 0.490
## VOC 0.623
## TLM 0.780
## ARS 0.809
## FRM 0.729
##
## MR1 MR4 MR2 MR3
## SS loadings 2.909 2.313 2.288 1.935
## Proportion Var 0.171 0.136 0.135 0.114
## Cumulative Var 0.171 0.307 0.442 0.556
print(PAGA$loadings, cutoff = 0.3)
##
## Loadings:
## MR2 MR1 MR3
## GS 0.508 0.463
## AR 0.461 0.526
## WK 0.869
## PC 0.780
## NO 0.583 0.398
## CS 0.617 0.315
## AS 0.857
## MK 0.321 0.527
## MC 0.836
## EI 0.758
##
## MR2 MR1 MR3
## SS loadings 2.666 2.413 0.865
## Proportion Var 0.267 0.241 0.086
## Cumulative Var 0.267 0.508 0.594
print(PAGG$loadings, cutoff = 0.3)
##
## Loadings:
## MR2 MR1
## NCM 0.507 0.427
## CMP 0.875
## TDS 0.632
## VOC 0.375 0.458
## TLM 0.800
## ARS 0.801
## FRM 0.742
##
## MR2 MR1
## SS loadings 1.992 1.802
## Proportion Var 0.285 0.257
## Cumulative Var 0.285 0.542
PAGA.model <- '
TECH =~ AS + MC + EI
VERB =~ GS + WK + PC
MATH =~ AR + MK
SPEED =~ NO + CS
gAS =~ TECH + VERB + MATH + SPEED'
PAGG.model <- '
V =~ NCM + VOC + TLM
P =~ CMP + ARS
S =~ TDS + TLM + FRM
gGA =~ V + P + S'
PAGG.fit <- cfa(PAGG.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
PAGA.fit <- cfa(PAGA.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T)
round(cbind("Palmer ASVAB" = fitMeasures(PAGG.fit, FITM),
"Palmer GATB" = fitMeasures(PAGA.fit, FITM)), 3)
## Palmer ASVAB Palmer GATB
## chisq 60.932 237.018
## df 10.000 31.000
## npar 18.000 24.000
## cfi 0.960 0.938
## rmsea 0.115 0.131
## rmsea.ci.lower 0.088 0.116
## rmsea.ci.upper 0.143 0.147
## aic 6482.430 7913.813
## bic 6553.682 8008.816
PAGFI.model <- '
TECH =~ AS + MC + EI
VERB =~ GS + WK + PC
MATH =~ AR + MK
SPEED =~ NO + CS
gAS =~ TECH + VERB + MATH + SPEED
V =~ NCM + VOC + TLM
P =~ CMP + ARS
S =~ TDS + TLM + FRM
gGA =~ V + P + S
gAS ~~ 1*gGA
P ~~ MATH + SPEED
GS ~~ NCM
WK ~~ VOC
NO ~~ TDS
CS ~~ NCM'
PAGFI.fit <- cfa(PAGFI.model, sample.cov = PAG.cor, sample.nobs = nPAG, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
round(cbind("Unrelated g's" = fitMeasures(PAGNO.fit, FITM),
"Related g's" = fitMeasures(PAGFR.fit, FITM),
"Group Factors" = fitMeasures(PAGGR.fit, FITM),
"Residual Covs" = fitMeasures(PAGRC.fit, FITM),
"Identical g's" = fitMeasures(PAGFI.fit, FITM)), 3)
## Unrelated g's Related g's Group Factors Residual Covs
## chisq 1354.488 891.149 813.774 644.312
## df 111.000 110.000 108.000 104.000
## npar 42.000 43.000 45.000 49.000
## cfi 0.776 0.859 0.873 0.903
## rmsea 0.170 0.135 0.130 0.116
## rmsea.ci.lower 0.162 0.127 0.122 0.107
## rmsea.ci.upper 0.178 0.144 0.138 0.125
## aic 14399.392 13938.053 13864.678 13703.217
## bic 14565.646 14108.266 14042.808 13897.179
## Identical g's
## chisq 686.577
## df 105.000
## npar 48.000
## cfi 0.895
## rmsea 0.120
## rmsea.ci.lower 0.111
## rmsea.ci.upper 0.128
## aic 13743.481
## bic 13933.485
The initial correlation is r = 0.975. In the final model, it was 0.937.
Different correlations had different n’s in this sample and the correlation between LI and HLI was not computed so I took the average HLI correlation with other IT measures as its correlation; this should be more or less appropriate. This does not really count as a test of “just one g” because it’s an extremely narrow comparison and not even possibly higher-order. Correlations were reflected when necessary (i.e., lower score = higher performance) and an n of 60 was used.
lowerDEARY <- '
1
0.25 1
0.42 0.31 1
0.48 0.46 0.5 1
0.16 0.02 0.31 0.27 1
0.23 0.17 0.22 0.32 0.48 1
0.29 0.31 0.06 0.41 0.39 0.36 1
0.05 0.27 0.11 0.4 0.24 0.2 0.53 1'
nDEARY <- 119
DEARY.cor = getCov(lowerDEARY, names = c("APM", "Vocab", "AH5A", "AH5B", "VLI", "HLI", "LI", "AI"))
DEARYNO.model <- '
gIT =~ VLI + HLI + LI + AI
gAH =~ APM + Vocab + AH5A + AH5B
gIT ~~ 0*gAH'
DEARYFR.model <- '
gIT =~ VLI + HLI + LI + AI
gAH =~ APM + Vocab + AH5A + AH5B
gIT ~~ gAH'
DEARYFI.model <- '
gIT =~ VLI + HLI + LI + AI
gAH =~ APM + Vocab + AH5A + AH5B
gIT ~~ 1*gAH'
DEARYNO.fit <- cfa(DEARYNO.model, sample.cov = DEARY.cor, sample.nobs = nDEARY, std.lv = T)
DEARYFR.fit <- cfa(DEARYFR.model, sample.cov = DEARY.cor, sample.nobs = nDEARY, std.lv = T)
DEARYFI.fit <- cfa(DEARYFI.model, sample.cov = DEARY.cor, sample.nobs = nDEARY, std.lv = T)
round(cbind("No Correlation" = fitMeasures(DEARYNO.fit, FITM),
"Freely Correlated" = fitMeasures(DEARYFR.fit, FITM),
"Identical" = fitMeasures(DEARYFI.fit, FITM)), 3)
## No Correlation Freely Correlated Identical
## chisq 90.381 60.745 94.774
## df 20.000 19.000 20.000
## npar 16.000 17.000 16.000
## cfi 0.709 0.828 0.691
## rmsea 0.172 0.136 0.177
## rmsea.ci.lower 0.137 0.098 0.142
## rmsea.ci.upper 0.209 0.175 0.214
## aic 2545.943 2518.307 2550.335
## bic 2590.409 2565.552 2594.801
The correlation between the g’s from the two batteries was r = 0.61. The g loadings were evidently quite consistent when the sets of tests were estimated with one g or two.
gUNI <- c(0.425, 0.461, 0.562, 0.477, 0.537, 0.513, 0.540, 0.816)
gAPART <- c(0.540, 0.523, 0.765, 0.604, 0.551, 0.518, 0.566, 0.892)
CONGO(gUNI, gAPART); cor(gUNI, gAPART); cor(gUNI, gAPART, method = "spearman")
## [1] 0.9946327
## [1] 0.8684188
## [1] 0.7142857
Deary, Head & Egan’s (1989) dataset also yielded an r of 0.247 between the Pitch/IT g and psychometric g, but with an n of 53, two lower-order g factors, and definition by two pitch tests and an auditory inspection time task, it’s doubtful this result means anything for the present hypothesis.
lowerKRAN01A1 = '
1
0.1723 1
0.2013 0.5658 1
0.443 0.2399 0.1866 1
0.1352 0.5232 0.4839 0.0981 1
0.1473 0.569 0.5734 0.2664 0.5386 1
0.2667 0.3479 0.1839 0.3092 0.2319 0.1274 1
0.2792 0.4732 0.502 0.0037 0.3755 0.343 0.2347 1
0.4242 0.3239 0.0928 0.3572 0.2237 0.0448 0.3969 0.2608 1
0.3057 0.3471 0.241 0.2565 0.3593 0.2008 0.2873 0.3646 0.5019 1
0.5527 0.3632 0.2539 0.35 0.234 0.2182 0.3525 0.4362 0.5022 0.5054 1
0.0965 0.1949 0.2083 0.0343 0.0459 0.0615 0.0991 0.3128 0.2209 0.1119 0.1956 1
0.1318 0.0171 0.1512 0.0883 0.013 0.0573 0.3269 0.0606 0.192 0.1583 0.2144 0.1913 1
0.0027 0.0548 0.1678 0.0182 0.0012 0.0909 0.1604 0.0197 0.0028 0.0015 0.1062 0.2049 0.4254 1
0.1793 0.255 0.1962 0.0716 0.1444 0.0152 0.0644 0.1755 0.0514 0.0685 0.1708 0.0219 0.2724 0.1694 1
0.0244 0.0872 0.108 0.0455 0.0839 0.0463 0.0061 0.0452 0.0531 0.1073 0.0696 0.0315 0.1295 0.0904 0.199 1
0.1895 0.0361 0.1803 0.2637 0.0765 0.1268 0.2967 0.157 0.1477 0.116 0.2093 0.1861 0.4298 0.157 0.0285 0.0509 1
0.3799 0.067 0.1628 0.2975 0.0542 0.1777 0.1781 0.2959 0.1034 0.114 0.2865 0.1954 0.1869 0.0379 0.0593 0.0458 0.6643 1
0.31 0.2744 0.2813 0.1097 0.0811 0.0454 0.167 0.2999 0.2067 0.2363 0.2499 0.1389 0.3742 0.2366 0.7593 0.2684 0.0436 0.0362 1
0.1247 0.0812 0.2665 0.1034 0.1457 0.0185 0.3016 0.135 0.1207 0.2135 0.1806 0.2157 0.7386 0.3759 0.2436 0.0824 0.6631 0.3358 0.2638 1
0.142 0.2202 0.2734 0.1197 0.2071 0.1584 0.0725 0.3215 0.064 0.1342 0.2008 0.2544 0.2613 0.3983 0.1997 0.0617 0.4256 0.2705 0.2273 0.4931 1
0.2514 0.2122 0.2385 0.1964 0.0443 0.0715 0.1002 0.1927 0.1131 0.088 0.2085 0.0513 0.3638 0.1955 0.765 0.232 0.0532 0.068 0.8266 0.3648 0.2228 1
0.1106 0.0012 0.0831 0.1934 0.1854 0.0824 0.2913 0.0434 0.166 0.1811 0.1114 0.1019 0.3135 0.2373 0.0267 0.0027 0.4659 0.3024 0.078 0.523 0.3001 0.0403 1
0.2468 0.3169 0.2309 0.1628 0.0257 0.0044 0.1149 0.2491 0.1699 0.2124 0.2996 0.1286 0.1409 0.1598 0.5776 0.2432 0.0465 0.0439 0.7192 0.1128 0.1572 0.6415 0.1064 1
0.1259 0.0415 0.0533 0.1949 0.1831 0.1542 0.3079 0.0624 0.0966 0.183 0.1125 0.022 0.2382 0.1613 0.0376 0.071 0.5683 0.4446 0.1105 0.5277 0.3806 0.0099 0.6889 0.1853 1
0.1452 0.0302 0.0029 0.1876 0.031 0.0601 0.1392 0.1423 0.1382 0.2151 0.1992 0.0068 0.1246 0.0449 0.0607 0.0378 0.3141 0.3638 0.0405 0.2499 0.2617 0.0785 0.1924 0.0835 0.4539 1
0.172 0.2564 0.2238 0.0818 0.0053 0.0287 0.0667 0.2275 0.1774 0.1977 0.1593 0.1032 0.0669 0.0387 0.4183 0.1279 0.2575 0.1602 0.5939 0.0514 0.0166 0.4964 0.2572 0.7644 0.4452 0.0562 1
0.1647 0.094 0.0578 0.1219 0.0451 0.0678 0.1662 0.1038 0.2664 0.2222 0.1189 0.1119 0.1424 0.054 0.1994 0.1239 0.1481 0.1343 0.3616 0.0538 0.096 0.2565 0.048 0.4027 0.2737 0.071 0.6307 1
0.1635 0.0691 0.1065 0.2748 0.0908 0.0016 0.3103 0.0008 0.2779 0.2203 0.1541 0.0908 0.423 0.2925 0.0731 0.0733 0.5582 0.3484 0.0783 0.6059 0.3096 0.129 0.6209 0.0506 0.6468 0.2603 0.1055 0.026 1
0.2735 0.2333 0.2371 0.2127 0.0527 0.0201 0.1163 0.2245 0.2251 0.1216 0.1306 0.145 0.2876 0.2134 0.6059 0.1613 0.0626 0.0054 0.6849 0.3067 0.2944 0.6704 0.0447 0.5839 0.0245 0.0637 0.5392 0.3753 0.2358 1
0.2808 0.2174 0.1239 0.2136 0.0487 0.0652 0.3838 0.0942 0.2601 0.2237 0.2305 0.2174 0.0909 0.1511 0.112 0.1655 0.3052 0.3273 0.0619 0.2149 0.1014 0.1362 0.3249 0.0322 0.3666 0.1994 0.0625 0.0585 0.5496 0.1357 1
0.1708 0.0763 0.149 0.2588 0.1602 0.0337 0.2744 0.0116 0.2942 0.1649 0.1284 0.1343 0.486 0.3749 0.2025 0.0013 0.4683 0.2209 0.1933 0.5901 0.2691 0.2253 0.5533 0.1344 0.466 0.1912 0.0395 0.1331 0.8436 0.3434 0.4221 1
0.3059 0.2446 0.2735 0.2366 0.0855 0.0545 0.1837 0.239 0.1877 0.1185 0.1595 0.125 0.3501 0.2493 0.6376 0.1692 0.1645 0.0999 0.6763 0.3992 0.3327 0.6929 0.1446 0.5923 0.0859 0.0805 0.5037 0.3502 0.305 0.9535 0.0673 0.4378 1
0.2242 0.0471 0.1528 0.305 0.1167 0.0658 0.3977 0.0387 0.325 0.2754 0.2711 0.1187 0.4506 0.3025 0.1299 0.0434 0.5581 0.3961 0.1401 0.6089 0.3203 0.1941 0.7132 0.2085 0.604 0.2865 0.0061 0.1065 0.7632 0.2227 0.4133 0.693 0.302 1
0.1684 0.2036 0.2325 0.0639 0.0193 0.0584 0.1593 0.1944 0.1522 0.116 0.1555 0.1749 0.371 0.3036 0.6618 0.1736 0.055 0.0073 0.7376 0.3872 0.2902 0.7362 0.1098 0.6607 0.0161 0.0615 0.5388 0.3265 0.2006 0.8393 0.0828 0.3149 0.8363 0.2633 1
0.2587 0.1292 0.0898 0.1923 0.0351 0.1501 0.2126 0.0408 0.205 0.1622 0.1098 0.0042 0.1856 0.139 0.0634 0.1412 0.333 0.2979 0.0294 0.3227 0.1637 0.0739 0.4556 0.0589 0.3526 0.2452 0.0571 0.0264 0.5189 0.0195 0.2948 0.3384 0.0082 0.6226 0.0039 1
0.1397 0.0756 0.2294 0.2717 0.1064 0.0062 0.4096 0.0514 0.223 0.2036 0.1774 0.1838 0.524 0.3385 0.166 0.0561 0.4642 0.3437 0.2263 0.5982 0.3239 0.2533 0.5635 0.2526 0.4482 0.2105 0.0775 0.1154 0.6304 0.2547 0.2852 0.6425 0.3198 0.8667 0.3374 0.4801 1
0.1624 0.1184 0.17 0.1053 0.0045 0.1423 0.1307 0.0701 0.1812 0.0869 0.074 0.1622 0.4246 0.3113 0.5969 0.1335 0.0199 0.0889 0.672 0.4115 0.25 0.7059 0.1314 0.5571 0.0029 0.0485 0.4747 0.3422 0.2126 0.805 0.1299 0.3504 0.7882 0.2754 0.9144 0.0316 0.3588 1'
KRAN01.cor = getCov(lowerKRAN01A1, names = c("APM", "INFO", "COMP", "ARITH", "SIM", "VOCAB", "DIGIT", "PCOMP", "SPATIAL", "PARRANGE", "OBJASM", "IT", "HORTMDN", "HORTSD", "HOMTMDN", "HOMTSD", "ODRTMDN", "ODRTSD", "ODMTMDN", "H3RTMDN", "H3RTSD", "H3MTMDN", "SDRTMDN", "SDMTMDN", "SARTMDN", "SARTSD", "SAMTMDN", "SAMTSD", "MSRTMDN", "MSMTMDN", "MSMTSD", "MSRTINT", "MSMTINT", "VSTRTMDN", "VSMTMDN", "VSMTSD", "VSRTINT", "VSMTINT"))
gsKRAN01A1 = '
1.0000
0.1723 1.0000
0.2013 0.5658 1.0000
0.4430 0.2399 0.1866 1.0000
0.1352 0.5232 0.4839 0.0981 1.0000
0.1473 0.5690 0.5734 0.2664 0.5386 1.0000
0.2667 0.3479 0.1839 0.3092 0.2319 0.1274 1.0000
0.2792 0.4732 0.5020 0.0037 0.3755 0.3430 0.2347 1.0000
0.4242 0.3239 0.0928 0.3572 0.2237 0.0448 0.3969 0.2608 1.0000
0.3057 0.3471 0.2410 0.2565 0.3593 0.2008 0.2873 0.3646 0.5019 1.0000
0.5527 0.3632 0.2539 0.3500 0.2340 0.2182 0.3525 0.4362 0.5022 0.5054 1.0000'
GSKRAN01.cor = getCov(gsKRAN01A1, names = c("APM", "INFO", "COMP", "ARITH", "SIM", "VOCAB", "DIGIT", "PCOMP", "SPATIAL", "PARRANGE", "OBJASM"))
ectKRAN01A1 = '
1.0000
0.1913 1.0000
0.2049 0.4254 1.0000
-0.0219 0.2724 0.1694 1.0000
0.0315 0.1295 -0.0904 0.1990 1.0000
0.1861 0.4298 0.1570 -0.0285 0.0509 1.0000
0.1954 0.1869 -0.0379 0.0593 -0.0458 0.6643 1.0000
0.1389 0.3742 0.2366 0.7593 0.2684 -0.0436 -0.0362 1.0000
0.2157 0.7386 0.3759 0.2436 0.0824 0.6631 0.3358 0.2638 1.0000
0.2544 0.2613 0.3983 0.1997 -0.0617 0.4256 0.2705 0.2273 0.4931 1.0000
0.0513 0.3638 0.1955 0.7650 0.2320 0.0532 0.0680 0.8266 0.3648 0.2228 1.0000
0.1019 0.3135 0.2373 0.0267 -0.0027 0.4659 0.3024 -0.0780 0.5230 0.3001 0.0403 1.0000
0.1286 0.1409 0.1598 0.5776 0.2432 -0.0465 0.0439 0.7192 0.1128 0.1572 0.6415 -0.1064 1.0000
0.0220 0.2382 0.1613 -0.0376 -0.0710 0.5683 0.4446 -0.1105 0.5277 0.3806 -0.0099 0.6889 -0.1853 1.0000
-0.0068 0.1246 -0.0449 0.0607 0.0378 0.3141 0.3638 0.0405 0.2499 0.2617 0.0785 0.1924 0.0835 0.4539 1.0000
0.1032 0.0669 0.0387 0.4183 0.1279 -0.2575 -0.1602 0.5939 -0.0514 -0.0166 0.4964 -0.2572 0.7644 -0.4452 0.0562 1.0000
0.1119 0.1424 0.0540 0.1994 0.1239 -0.1481 -0.1343 0.3616 -0.0538 -0.0960 0.2565 -0.0480 0.4027 -0.2737 0.0710 0.6307 1.0000
0.0908 0.4230 0.2925 0.0731 -0.0733 0.5582 0.3484 0.0783 0.6059 0.3096 0.1290 0.6209 0.0506 0.6468 0.2603 -0.1055 0.0260 1.0000
0.1450 0.2876 0.2134 0.6059 0.1613 0.0626 0.0054 0.6849 0.3067 0.2944 0.6704 0.0447 0.5839 0.0245 0.0637 0.5392 0.3753 0.2358 1.0000
0.2174 0.0909 0.1511 -0.1120 -0.1655 0.3052 0.3273 -0.0619 0.2149 0.1014 -0.1362 0.3249 0.0322 0.3666 0.1994 -0.0625 -0.0585 0.5496 -0.1357 1.0000
0.1343 0.4860 0.3749 0.2025 0.0013 0.4683 0.2209 0.1933 0.5901 0.2691 0.2253 0.5533 0.1344 0.4660 0.1912 0.0395 0.1331 0.8436 0.3434 0.4221 1.0000
0.1250 0.3501 0.2493 0.6376 0.1692 0.1645 0.0999 0.6763 0.3992 0.3327 0.6929 0.1446 0.5923 0.0859 0.0805 0.5037 0.3502 0.3050 0.9535 -0.0673 0.4378 1.0000
0.1187 0.4506 0.3025 0.1299 -0.0434 0.5581 0.3961 0.1401 0.6089 0.3203 0.1941 0.7132 0.2085 0.6040 0.2865 -0.0061 0.1065 0.7632 0.2227 0.4133 0.6930 0.3020 1.0000
0.1749 0.3710 0.3036 0.6618 0.1736 0.0550 -0.0073 0.7376 0.3872 0.2902 0.7362 0.1098 0.6607 0.0161 0.0615 0.5388 0.3265 0.2006 0.8393 -0.0828 0.3149 0.8363 0.2633 1.0000
-0.0042 0.1856 0.1390 -0.0634 -0.1412 0.3330 0.2979 -0.0294 0.3227 0.1637 0.0739 0.4556 0.0589 0.3526 0.2452 0.0571 0.0264 0.5189 -0.0195 0.2948 0.3384 0.0082 0.6226 0.0039 1.0000
0.1838 0.5240 0.3385 0.1660 -0.0561 0.4642 0.3437 0.2263 0.5982 0.3239 0.2533 0.5635 0.2526 0.4482 0.2105 0.0775 0.1154 0.6304 0.2547 0.2852 0.6425 0.3198 0.8667 0.3374 0.4801 1.0000
0.1622 0.4246 0.3113 0.5969 0.1335 0.0199 -0.0889 0.6720 0.4115 0.2500 0.7059 0.1314 0.5571 0.0029 0.0485 0.4747 0.3422 0.2126 0.8050 -0.1299 0.3504 0.7882 0.2754 0.9144 0.0316 0.3588 1.0000'
ECTKRAN01.cor = getCov(ectKRAN01A1, names = c("IT", "HORTMDN", "HORTSD", "HOMTMDN", "HOMTSD", "ODRTMDN", "ODRTSD", "ODMTMDN", "H3RTMDN", "H3RTSD", "H3MTMDN", "SDRTMDN", "SDMTMDN", "SARTMDN", "SARTSD", "SAMTMDN", "SAMTSD", "MSRTMDN", "MSMTMDN", "MSMTSD", "MSRTINT", "MSMTINT", "VSTRTMDN", "VSMTMDN", "VSMTSD", "VSRTINT", "VSMTINT"))
nKRAN <- 101
fa.parallel(KRAN01.cor, n.obs = nKRAN)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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 = 5 and the number of components = 4
fa.parallel(GSKRAN01.cor, n.obs = nKRAN)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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 = 2
fa.parallel(ECTKRAN01.cor, n.obs = nKRAN)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 2
KRAN <- fa(KRAN01.cor, n.obs = nKRAN, nfactor = 4)
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(R): Matrix was not positive definite, smoothing was done
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## 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.
GSKRAN <- fa(GSKRAN01.cor, n.obs = nKRAN, nfactor = 2)
ECKRAN <- fa(ECTKRAN01.cor, n.obs = nKRAN, nfactor = 2)
print(KRAN$loadings, cutoff = 0.3)
##
## Loadings:
## MR2 MR1 MR3 MR4
## APM 0.416
## INFO 0.762
## COMP 0.725
## ARITH 0.305
## SIM 0.676
## VOCAB 0.691
## DIGIT 0.371
## PCOMP 0.631
## SPATIAL 0.405
## PARRANGE 0.393 0.336
## OBJASM 0.440 0.376
## IT
## HORTMDN 0.496
## HORTSD 0.314 -0.309
## HOMTMDN 0.748
## HOMTSD
## ODRTMDN 0.714
## ODRTSD 0.486
## ODMTMDN 0.859
## H3RTMDN 0.723 -0.313
## H3RTSD 0.353
## H3MTMDN 0.834
## SDRTMDN 0.750
## SDMTMDN 0.760 0.308
## SARTMDN 0.730
## SARTSD 0.362
## SAMTMDN 0.641 0.455
## SAMTSD 0.404 0.355
## MSRTMDN 0.888
## MSMTMDN 0.872
## MSMTSD 0.459
## MSRTINT 0.748
## MSMTINT 0.848
## VSTRTMDN 0.905
## VSMTMDN 0.926
## VSMTSD 0.560
## VSRTINT 0.758
## VSMTINT 0.860
##
## MR2 MR1 MR3 MR4
## SS loadings 6.625 6.594 3.212 1.794
## Proportion Var 0.174 0.174 0.085 0.047
## Cumulative Var 0.174 0.348 0.432 0.480
print(GSKRAN$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2
## APM 0.655
## INFO 0.705
## COMP 0.782
## ARITH 0.486
## SIM 0.665
## VOCAB 0.783
## DIGIT 0.458
## PCOMP 0.487
## SPATIAL 0.770
## PARRANGE 0.542
## OBJASM 0.737
##
## MR1 MR2
## SS loadings 2.455 2.389
## Proportion Var 0.223 0.217
## Cumulative Var 0.223 0.440
print(ECKRAN$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2
## IT
## HORTMDN 0.308 0.486
## HORTSD 0.319
## HOMTMDN 0.745
## HOMTSD
## ODRTMDN 0.751
## ODRTSD 0.526
## ODMTMDN 0.881
## H3RTMDN 0.738
## H3RTSD 0.434
## H3MTMDN 0.825
## SDRTMDN 0.762
## SDMTMDN 0.774
## SARTMDN 0.798
## SARTSD 0.352
## SAMTMDN 0.724
## SAMTSD 0.462
## MSRTMDN 0.855
## MSMTMDN 0.858
## MSMTSD 0.494
## MSRTINT 0.721
## MSMTINT 0.842
## VSTRTMDN 0.861
## VSMTMDN 0.898
## VSMTSD 0.543
## VSRTINT 0.730
## VSMTINT 0.843
##
## MR1 MR2
## SS loadings 6.839 6.512
## Proportion Var 0.253 0.241
## Cumulative Var 0.253 0.494
CARKRANECT.model <- '
F1 =~ ODRTMDN + ODRTSD
F2 =~ SDRTMDN + SARTMDN + MSRTMDN + VSTRTMDN
F3 =~ IT + HORTMDN + HORTSD + H3RTMDN + H3RTSD
ECTg =~ F1 + F2 + F3
ODRTMDN ~~ 0*ODRTMDN'
CARKRANPSY.model <- '
F4 =~ APM + PARRANGE + OBJASM + SPATIAL
F5 =~ VOCAB + INFO + COMP
PSYg =~ F4 + F5
SPATIAL ~~ INFO'
KRANECT.fit <- cfa(CARKRANECT.model, sample.cov = KRAN01.cor, sample.nobs = nKRAN, std.lv = T)
KRANPSY.fit <- suppressWarnings(cfa(CARKRANPSY.model, sample.cov = KRAN01.cor, sample.nobs = nKRAN, std.lv = T))
round(cbind("Kranzler ECTs" = fitMeasures(KRANECT.fit, FITM),
"Kranzler Psychometric" = fitMeasures(KRANPSY.fit, FITM)), 3)
## Kranzler ECTs Kranzler Psychometric
## chisq 76.256 16.507
## df 42.000 11.000
## npar 24.000 17.000
## cfi 0.939 0.974
## rmsea 0.090 0.070
## rmsea.ci.lower 0.057 0.000
## rmsea.ci.upper 0.122 0.136
## aic 2645.822 1814.362
## bic 2708.585 1858.819
CARKRANFI.model <- '
F1 =~ ODRTMDN + ODRTSD
F2 =~ SDRTMDN + SARTMDN + MSRTMDN + VSTRTMDN
F3 =~ IT + HORTMDN + HORTSD + H3RTMDN + H3RTSD
ECTg =~ F1 + F2 + F3
ODRTMDN ~~ 0*ODRTMDN
F4 =~ APM + PARRANGE + OBJASM + SPATIAL
F5 =~ VOCAB + INFO + COMP
PSYg =~ F4 + F5
SPATIAL ~~ INFO
ECTg ~~ 1*PSYg'
KRANECTFI.fit <- cfa(CARKRANFI.model, sample.cov = KRAN01.cor, sample.nobs = nKRAN, std.lv = T)
round(cbind("No Correlation" = fitMeasures(KRANECTNO.fit, FITM),
"Freely Correlated" = fitMeasures(KRANECTFR.fit, FITM),
"Identical g Factors" = fitMeasures(KRANECTFI.fit, FITM)), 3)
## No Correlation Freely Correlated Identical g Factors
## chisq 200.994 192.859 202.107
## df 130.000 129.000 130.000
## npar 41.000 42.000 41.000
## cfi 0.912 0.921 0.911
## rmsea 0.074 0.070 0.074
## rmsea.ci.lower 0.053 0.048 0.053
## rmsea.ci.upper 0.093 0.090 0.093
## aic 4460.184 4454.049 4461.297
## bic 4567.404 4563.884 4568.517
The r is 0.368.
For this, I will be exclusively using the factor structure provided by Luo, Thompson & Detterman (2003)
lowerLPT <- '
1
0.6258 1
0.5242 0.4657 1
0.6599 0.6466 0.4821 1
0.5744 0.5973 0.4795 0.6906 1
0.3701 0.3512 0.3244 0.3953 0.3392 1
0.4 0.3927 0.3115 0.4062 0.3947 0.373 1
0.3845 0.3754 0.3382 0.3915 0.3563 0.5022 0.4907 1
0.4429 0.4296 0.5027 0.4109 0.4115 0.4462 0.4363 0.6305 1
0.1974 0.1582 0.3121 0.1659 0.1494 0.1525 0.1551 0.2154 0.2728 1
0.4254 0.3751 0.4893 0.4004 0.4034 0.2779 0.2599 0.2244 0.3377 0.191 1
0.3371 0.3057 0.3457 0.2988 0.2955 0.3425 0.2511 0.3851 0.4189 0.2356 0.2918 1
0.2663 0.2331 0.3268 0.2287 0.2648 0.163 0.1997 0.2993 0.316 0.2345 0.2864 0.3407 1
0.2992 0.2977 0.3834 0.3048 0.3052 0.2501 0.2035 0.3339 0.4049 0.2367 0.3672 0.4652 0.405 1
0.1996 0.1216 0.1512 0.0785 0.1002 0.0703 0.1055 0.0612 0.1292 0.1669 0.1672 0.119 0.2187 0.0478 1
0.2775 0.2281 0.2377 0.2086 0.2264 0.1779 0.1673 0.1818 0.1906 0.2584 0.2561 0.2759 0.2485 0.2062 0.4862 1
0.3414 0.2539 0.2521 0.2725 0.2154 0.2489 0.247 0.2808 0.2902 0.2873 0.1988 0.3177 0.3333 0.2156 0.382 0.4973 1
0.0779 0.0892 0.1396 0.154 0.0953 0.1192 0.029 0.1181 0.1548 0.1541 0.1163 0.0891 0.0813 0.1601 0.0415 0.1695 0.2154 1
0.1675 0.1715 0.1103 0.1378 0.1684 0.1601 0.0311 0.1213 0.1352 0.0663 0.1406 0.1395 0.1266 0.1306 0.0442 0.1762 0.1493 0.0364 1
0.2307 0.2331 0.243 0.2475 0.2386 0.2966 0.3201 0.3127 0.316 0.179 0.2082 0.3181 0.2335 0.2746 0.0366 0.1837 0.3196 0.2234 0.1446 1
0.3693 0.3774 0.4338 0.3153 0.3788 0.177 0.1422 0.2175 0.3078 0.2434 0.3846 0.2807 0.2286 0.2848 0.1496 0.2464 0.236 0.1369 0.1589 0.21 1
0.3218 0.3778 0.451 0.2664 0.3913 0.1535 0.1265 0.213 0.3279 0.2347 0.3726 0.2621 0.247 0.3005 0.1058 0.2117 0.2137 0.1305 0.127 0.2187 0.8739 1
0.4098 0.4202 0.465 0.3665 0.4089 0.2167 0.1914 0.2754 0.3664 0.243 0.4305 0.293 0.282 0.3109 0.1916 0.282 0.2632 0.1524 0.1922 0.2212 0.885 0.866 1'
nLPT <- 532
LPT.cor = getCov(lowerLPT, names = c("IN", "SI", "AR", "VO", "COMP", "PC", "PA", "OA", "BD", "CO", "DS", "LRPC", "PRPC", "SPPC", "PRRT", "RT", "SD", "TTMT", "TTDT", "TTTH", "LANG", "MATH", "READ"))
LPTPSY.model <- '
V =~ IN + SI + VO + COMP
P =~ PC + PA + OA + BD
FD =~ AR + CO + DS
gPSY =~ V + P + FD'
LPTCAT.model <- '
MEM =~ LRPC + PRPC + SPPC
RES =~ PRRT + RT + SD
INS =~ TTMT + TTDT + TTTH
gCAT =~ MEM + RES + INS'
LPTPSY.fit <- cfa(LPTPSY.model, sample.cov = LPT.cor, sample.nobs = nLPT, std.lv = T)
LPTCAT.fit <- cfa(LPTCAT.model, sample.cov = LPT.cor, sample.nobs = nLPT, std.lv = T)
round(cbind("LPT Psychometric" = fitMeasures(LPTPSY.fit, FITM),
"LPT Elementary" = fitMeasures(LPTCAT.fit, FITM)), 3)
## LPT Psychometric LPT Elementary
## chisq 104.087 100.498
## df 41.000 24.000
## npar 25.000 21.000
## cfi 0.974 0.907
## rmsea 0.054 0.077
## rmsea.ci.lower 0.041 0.062
## rmsea.ci.upper 0.067 0.093
## aic 14300.043 12858.457
## bic 14406.959 12948.267
LPTFI.model <- '
V =~ IN + SI + VO + COMP
P =~ PC + PA + OA + BD
FD =~ AR + CO + DS
gPSY =~ V + P + FD
MEM =~ LRPC + PRPC + SPPC
RES =~ PRRT + RT + SD
INS =~ TTMT + TTDT + TTTH
gCAT =~ MEM + RES + INS
gPSY ~~ 1*gCAT'
LPTFI.fit <- cfa(LPTFI.model, sample.cov = LPT.cor, sample.nobs = nLPT, std.lv = T)
round(cbind("No Correlation" = fitMeasures(LPTNO.fit, FITM),
"Freely Correlated" = fitMeasures(LPTFR.fit, FITM),
"Identical" = fitMeasures(LPTFI.fit, FITM)), 3)
## No Correlation Freely Correlated Identical
## chisq 642.203 384.660 399.314
## df 164.000 163.000 164.000
## npar 46.000 47.000 46.000
## cfi 0.866 0.938 0.934
## rmsea 0.074 0.051 0.052
## rmsea.ci.lower 0.068 0.044 0.045
## rmsea.ci.upper 0.080 0.057 0.058
## aic 27158.500 26902.958 26915.612
## bic 27355.226 27103.960 27112.338
r = 0.870!
These use different forms of the ASVAB and, perhaps (it is not stated), the ECAT, and obviously include different non-ASVAB indicators with the ECAT. I will attempt to make the models as close to one another as possible despite the differences in forms and such which may lead to some misfit. The ASVAB models come from the standard one used in the National Longitudinal Survey of Youth 1979 and the ECATs from the EFAs in these studies.
lowerCarey <- '
1
0.72 1
0.8 0.71 1
0.69 0.67 0.8 1
0.52 0.63 0.62 0.61 1
0.45 0.52 0.55 0.56 0.7 1
0.64 0.53 0.53 0.42 0.31 0.23 1
0.7 0.83 0.67 0.64 0.62 0.52 0.42 1
0.7 0.68 0.59 0.52 0.41 0.34 0.74 0.6 1
0.76 0.66 0.68 0.57 0.42 0.34 0.75 0.59 0.74 1
0.31 0.34 0.33 0.34 0.44 0.48 0.2 0.35 0.29 0.27 1
0.27 0.29 0.25 0.23 0.29 0.34 0.24 0.28 0.28 0.29 0.27 1
0.21 0.27 0.28 0.31 0.41 0.41 0.02 0.3 0.14 0.13 0.68 0.26 1
0.83 0.9 0.91 0.85 0.69 0.6 0.54 0.88 0.68 0.71 0.32 0.29 0.32 1
0.41 0.56 0.43 0.46 0.44 0.41 0.25 0.54 0.4 0.34 0.31 0.25 0.25 0.55 1
0.6 0.69 0.59 0.56 0.47 0.43 0.44 0.67 0.59 0.54 0.33 0.31 0.23 0.7 0.59 1
0.6 0.64 0.53 0.47 0.4 0.39 0.5 0.62 0.64 0.56 0.29 0.31 0.15 0.64 0.54 0.64 1
0.53 0.57 0.46 0.42 0.36 0.38 0.44 0.56 0.57 0.51 0.31 0.3 0.16 0.56 0.53 0.64 0.66 1
0.53 0.57 0.5 0.42 0.34 0.32 0.52 0.54 0.61 0.53 0.28 0.27 0.17 0.58 0.48 0.62 0.6 0.62 1
0.35 0.38 0.35 0.32 0.36 0.37 0.2 0.37 0.36 0.28 0.32 0.25 0.24 0.4 0.39 0.42 0.39 0.43 0.39 1
0.4 0.39 0.36 0.31 0.34 0.36 0.3 0.37 0.42 0.35 0.32 0.28 0.21 0.41 0.38 0.43 0.43 0.47 0.43 0.76 1
0.18 0.21 0.18 0.22 0.14 0.14 0.15 0.17 0.2 0.17 0.1 0.1 0.07 0.21 0.21 0.25 0.24 0.26 0.24 0.11 0.12 1
0.44 0.39 0.4 0.34 0.36 0.36 0.35 0.4 0.42 0.38 0.34 0.29 0.2 0.44 0.32 0.38 0.39 0.42 0.33 0.41 0.42 1 1
0.39 0.34 0.36 0.3 0.32 0.32 0.3 0.36 0.37 0.34 0.31 0.26 0.19 0.39 0.28 0.34 0.35 0.38 0.3 0.38 0.38 1 1 1
0.41 0.36 0.37 0.31 0.33 0.33 0.31 0.37 0.38 0.36 0.31 0.27 0.19 0.41 0.29 0.36 0.36 0.39 0.31 0.39 0.4 1 1 1 1
0.4 0.35 0.36 0.3 0.32 0.32 0.3 0.36 0.37 0.34 0.3 0.26 0.18 0.39 0.28 0.34 0.36 0.38 0.3 0.38 0.39 1 1 1 1 1
0.17 0.16 0.18 0.16 0.14 0.14 0.2 0.16 0.21 0.17 0.2 0.16 0.08 0.19 0.12 0.14 0.16 0.16 0.15 0.16 0.18 1 1 1 1 1 1'
nCarey <- 1141
CAREY.cor = getCov(lowerCarey, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI", "DEX", "FING", "MOT", "AFQT", "SM", "SR", "ID", "AO", "SO", "OT", "TT", "TIACC", "GEOTOT", "GEODEC", "CORR", "TIMEAN", "TIMOV"))
lowerABR <- '
1
0.611 1
0.72 0.596 1
0.608 0.574 0.732 1
0.275 0.47 0.324 0.396 1
0.249 0.395 0.328 0.386 0.64 1
0.52 0.4 0.437 0.339 0.047 0.058 1
0.554 0.707 0.497 0.5 0.496 0.408 0.197 1
0.638 0.613 0.547 0.485 0.228 0.221 0.618 0.494 1
0.625 0.487 0.534 0.444 0.145 0.147 0.669 0.37 0.63 1
0.37 0.557 0.342 0.349 0.37 0.348 0.206 0.516 0.427 0.269 1
0.369 0.536 0.372 0.375 0.352 0.348 0.17 0.494 0.385 0.241 0.628 1
0.496 0.59 0.47 0.438 0.306 0.286 0.307 0.54 0.527 0.383 0.555 0.542 1
0.499 0.565 0.427 0.385 0.254 0.253 0.377 0.511 0.57 0.425 0.548 0.497 0.587 1
0.469 0.507 0.395 0.354 0.235 0.263 0.386 0.462 0.553 0.422 0.568 0.492 0.568 0.641 1
0.488 0.537 0.439 0.392 0.225 0.239 0.391 0.482 0.559 0.429 0.504 0.461 0.54 0.572 0.577 1
0.283 0.291 0.243 0.226 0.206 0.2 0.256 0.254 0.365 0.262 0.374 0.323 0.341 0.373 0.378 0.361 1
0.343 0.337 0.301 0.264 0.195 0.215 0.322 0.276 0.435 0.325 0.385 0.336 0.366 0.403 0.424 0.402 0.75 1
0.307 0.257 0.247 0.218 0.18 0.192 0.222 0.221 0.319 0.225 0.291 0.278 0.284 0.32 0.358 0.274 0.362 0.38 1'
nABR <- 9038
ABR.cor = getCov(lowerABR, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI", "CT", "SM", "FR", "ID", "AO", "SO", "T1", "T2", "TI"))
lowerWOLF <- '
1
0.6111 1
0.7201 0.5963 1
0.6079 0.5743 0.7316 1
0.2751 0.4703 0.3244 0.3959 1
0.2487 0.3953 0.3278 0.3859 0.6401 1
0.5202 0.4004 0.4366 0.3391 0.047 0.0583 1
0.5542 0.7069 0.4968 0.4997 0.4961 0.4078 0.1966 1
0.6377 0.6134 0.5473 0.4852 0.2279 0.2212 0.6181 0.4939 1
0.6245 0.4868 0.5344 0.4445 0.1452 0.1471 0.6692 0.3696 0.6304 1
0.7213 0.6199 0.9508 0.8533 0.3635 0.3609 0.4253 0.5216 0.5542 0.5326 1
0.7488 0.8673 0.8455 0.7877 0.4972 0.4448 0.4139 0.8163 0.6436 0.552 0.886 1
0.3684 0.5582 0.3409 0.3529 0.3705 0.349 0.2093 0.5163 0.4259 0.2685 0.3624 0.5309 1
0.3606 0.5318 0.3682 0.3704 0.3412 0.3387 0.1703 0.4892 0.3854 0.2373 0.3874 0.5272 0.6288 1
0.5024 0.5695 0.431 0.3909 0.2601 0.2584 0.3787 0.5174 0.5743 0.4315 0.4401 0.5762 0.553 0.4939 1
0.4743 0.5142 0.399 0.3611 0.2371 0.2669 0.388 0.4675 0.5559 0.4254 0.4077 0.5261 0.57 0.4885 0.6461 1
0.2882 0.2956 0.244 0.2272 0.2008 0.1967 0.2589 0.2608 0.3677 0.2659 0.2514 0.3083 0.3787 0.3162 0.3808 0.3801 1
0.3405 0.3369 0.2967 0.2614 0.191 0.2104 0.323 0.2806 0.4362 0.3233 0.2989 0.3527 0.3889 0.3343 0.4061 0.4276 0.7522 1
0.5026 0.5945 0.4727 0.4425 0.3073 0.2872 0.3108 0.5457 0.5313 0.3914 0.4854 0.6162 0.5586 0.5422 0.593 0.5768 0.3464 0.3713 1
0.4888 0.5366 0.4392 0.393 0.225 0.238 0.3955 0.4824 0.5622 0.4291 0.448 0.5592 0.5067 0.4584 0.5736 0.5779 0.3668 0.4084 0.5431 1
0.3151 0.2651 0.2537 0.2224 0.1781 0.1917 0.2274 0.23 0.3216 0.2349 0.2563 0.2916 0.2964 0.2807 0.3287 0.3664 0.3631 0.3844 0.2939 0.2815 1
0.4039 0.604 0.3928 0.4007 0.3944 0.3811 0.2104 0.5571 0.4496 0.2803 0.4154 0.5862 0.9032 0.9017 0.5802 0.5866 0.3851 0.4008 0.6099 0.5348 0.3197 1
0.5384 0.5973 0.4575 0.4145 0.2741 0.2894 0.423 0.5429 0.623 0.4723 0.4673 0.6076 0.6189 0.5415 0.9078 0.9066 0.4194 0.4594 0.6448 0.6346 0.383 0.6431 1
0.3359 0.3379 0.2889 0.2611 0.2093 0.2175 0.3109 0.2892 0.4296 0.3149 0.294 0.3532 0.4101 0.3475 0.4204 0.4316 0.9356 0.9364 0.3834 0.4142 0.3993 0.4199 0.4695 1
0.0506 0.1016 0.059 0.0673 0.0007 0.0094 0.0188 0.1322 0.0809 0.0611 0.0642 0.1084 0.1809 0.0781 0.1581 0.2767 0.1056 0.1109 0.167 0.1563 0.0808 0.1437 0.2394 0.1157 1
0.0472 0.0877 0.055 0.0867 0.0532 0.0315 0.0154 0.1427 0.0614 0.0413 0.0704 0.1098 0.1465 0.0584 0.2535 0.103 0.1043 0.0512 0.1646 0.1279 0.0667 0.1137 0.1967 0.083 0.3133 1
0.186 0.175 0.1758 0.1536 0.1357 0.1489 0.1692 0.1264 0.1822 0.157 0.1785 0.1889 0.0994 0.1507 0.1239 0.1257 0.075 0.1243 0.1223 0.1387 0.1615 0.1384 0.1375 0.1065 0.2186 0.4455 1
0.033 0.0013 0.0216 0.004 0.0385 0.0516 0.0699 0.0316 0.0421 0.0256 0.0176 0.0011 0.0559 0.0203 0.0415 0.0707 0.0174 0.0002 0.0401 0.0406 0.1134 0.0199 0.0618 0.0092 0.4782 0.3211 0.295 1
0.0362 0.083 0.054 0.07 0.0182 0.0243 0.0242 0.127 0.0483 0.0461 0.0609 0.0994 0.0517 0.0427 0.1187 0.0706 0.0562 0.0329 0.1348 0.0738 0.1329 0.0052 0.1044 0.0476 0.4723 0.4605 0.362 0.4314 1
0.4043 0.4577 0.3399 0.3186 0.2016 0.2229 0.3192 0.4382 0.4794 0.3641 0.3513 0.4693 0.5281 0.4416 0.5718 0.8592 0.3398 0.3776 0.526 0.5205 0.2771 0.5375 0.7882 0.3833 0.4274 0.1737 0.0542 0.1586 0.1691 1
0.4339 0.4541 0.364 0.3212 0.2169 0.2496 0.3666 0.3949 0.5045 0.3882 0.369 0.4636 0.4834 0.4258 0.575 0.9095 0.334 0.3797 0.4992 0.506 0.3658 0.5039 0.8176 0.3813 0.0878 0.0189 0.1625 0.0196 0.0271 0.5742 1'
nWOLF <- 10963
WOLF.cor = getCov(lowerWOLF, names = c("GS", "AR", "WK", "PC", "NO", "CS", "AS", "MK", "MC", "EI", "VE", "AFQT", "CT", "SM", "ID", "AO", "T1", "T2", "FR", "SO", "TI", "MEM", "SPAT", "TRAC", "AORT", "IDCT", "IDDT", "SORT", "FRRT", "AO1", "AO2"))
AS.model <- '
F1 =~ AS + EI + MC
F2 =~ MC + AR + NO + MK
F3 =~ GS + WK + PC
F4 =~ CS + NO
gAS =~ F1 + F2 + F3 + F4'
ASCS.model <- '
F1 =~ AS + EI + MC
F2 =~ MC + AR + NO + MK
F3 =~ GS + WK + PC
F4 =~ CS + NO
gAS =~ F1 + F2 + F3 + F4
CS ~~ 0.1*CS' #0.1 constraint leads to more sensible loadings but worse fit than 0 constraint; same below, and constraint is required on Carey in the combined model too
CARAS.fit <- cfa(AS.model, sample.cov = CAREY.cor, sample.nobs = nCarey, std.lv = T)
ABRAS.fit <- cfa(ASCS.model, sample.cov = ABR.cor, sample.nobs = nABR, std.lv = T)
WOLAS.fit <- cfa(ASCS.model, sample.cov = WOLF.cor, sample.nobs = nWOLF, std.lv = T)
round(cbind("Carey" = fitMeasures(CARAS.fit, FITM),
"Abrahams" = fitMeasures(ABRAS.fit, FITM),
"Identical" = fitMeasures(WOLAS.fit, FITM)), 3)
## Carey Abrahams Identical
## chisq 625.356 3946.733 4782.911
## df 29.000 30.000 30.000
## npar 26.000 25.000 25.000
## cfi 0.939 0.927 0.927
## rmsea 0.134 0.120 0.120
## rmsea.ci.lower 0.125 0.117 0.117
## rmsea.ci.upper 0.144 0.123 0.123
## aic 23171.452 206485.278 250440.129
## bic 23302.483 206663.007 250622.686
CARCAT.model <- '
F5 =~ SM + SR + ID + AO + SO + TIACC + FING
F6 =~ OT + TT
F7 =~ DEX + MOT
gMO =~ F5 + F6 + F7
DEX ~~ 0.1*DEX'
ABRCAT.model <- '
F5 =~ FR + ID + AO + SO
F6 =~ T1 + T2 + TI
F7 =~ CT + SM
gMO =~ F5 + F6 + F7'
WOLCAT.model <- '
F5 =~ ID + AO + FR + SO
F6 =~ T1 + T2 + TI
F7 =~ IDCT + IDDT + FRRT
F8 =~ AORT + SORT + FRRT
F9 =~ CT + SM
gMO =~ F5 + F6 + F7 + F8 + F9'
CARCAT.fit <- cfa(CARCAT.model, sample.cov = CAREY.cor, sample.nobs = nCarey, std.lv = T)
ABRCAT.fit <- cfa(ABRCAT.model, sample.cov = ABR.cor, sample.nobs = nABR, std.lv = T)
WOLCAT.fit <- cfa(WOLCAT.model, sample.cov = WOLF.cor, sample.nobs = nWOLF, std.lv = T)
round(cbind("Carey" = fitMeasures(CARCAT.fit, FITM),
"Abrahams" = fitMeasures(ABRCAT.fit, FITM),
"Identical" = fitMeasures(WOLCAT.fit, FITM)), 3)
## Carey Abrahams Identical
## chisq 134.438 670.029 5375.471
## df 42.000 24.000 71.000
## npar 24.000 21.000 34.000
## cfi 0.983 0.983 0.914
## rmsea 0.044 0.055 0.083
## rmsea.ci.lower 0.036 0.051 0.081
## rmsea.ci.upper 0.052 0.058 0.084
## aic 30323.262 193786.152 378968.149
## bic 30444.214 193935.445 379216.427
CAR.model <- '
F1 =~ AS + EI + MC
F2 =~ MC + AR + NO + MK
F3 =~ GS + WK + PC
F4 =~ CS + NO
gAS =~ F1 + F2 + F3 + F4
CS ~~ 0.1*CS
F5 =~ SM + SR + ID + AO + SO + TIACC + FING
F6 =~ OT + TT
F7 =~ DEX + MOT
gMO =~ F5 + F6 + F7'
ABR.model <- '
F1 =~ AS + EI + MC
F2 =~ MC + AR + NO + MK
F3 =~ GS + WK + PC
F4 =~ CS + NO
gAS =~ F1 + F2 + F3 + F4
CS ~~ 0.1*CS
F5 =~ FR + ID + AO + SO
F6 =~ T1 + T2 + TI
F7 =~ CT + SM
gMO =~ F5 + F6 + F7'
WOL.model <- '
F1 =~ AS + EI + MC
F2 =~ MC + AR + NO + MK
F3 =~ GS + WK + PC
F4 =~ CS + NO
gAS =~ F1 + F2 + F3 + F4
CS ~~ 0.1*CS
F5 =~ ID + AO + FR + SO
F6 =~ T1 + T2 + TI
F7 =~ IDCT + IDDT + FRRT
F8 =~ AORT + SORT + FRRT
F9 =~ CT + SM
gMO =~ F5 + F6 + F7 + F8 + F9'
CAR.fit <- cfa(CAR.model, sample.cov = CAREY.cor, sample.nobs = nCarey, std.lv = T)
ABR.fit <- cfa(ABR.model, sample.cov = ABR.cor, sample.nobs = nABR, std.lv = T)
WOLABR.fit <- cfa(ABR.model, sample.cov = WOLF.cor, sample.nobs = nWOLF, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
WOL.fit <- cfa(WOL.model, sample.cov = WOLF.cor, sample.nobs = nWOLF, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
round(cbind("Carey" = fitMeasures(CAR.fit, FITM),
"Abrahams" = fitMeasures(ABR.fit, FITM),
"Wolfe-Abrahams" = fitMeasures(WOLABR.fit, FITM),
"Wolfe" = fitMeasures(WOL.fit, FITM)), 3)
## Carey Abrahams Wolfe-Abrahams Wolfe
## chisq 1667.960 8541.177 10398.487 16755.906
## df 180.000 143.000 143.000 240.000
## npar 51.000 47.000 47.000 60.000
## cfi 0.913 0.918 0.918 0.884
## rmsea 0.085 0.081 0.081 0.079
## rmsea.ci.lower 0.081 0.079 0.080 0.078
## rmsea.ci.upper 0.089 0.082 0.082 0.080
## aic 52479.214 393509.444 476765.221 621245.556
## bic 52736.237 393843.576 477108.428 621683.693
The initial correlations were r = 0.890, 0.861, and 0.866 for the Carey, Abrahams et al., and Wolfe et al. datasets respectively. Unlike earlier cases, improving model fit incresaes the g correlations (the same is true for the Luo, Petrill & Thompson (LPT) data; these become 0.93 (C), 0.97 (A), and 0.95 (W), as well as 0.94 for LPT’s dataset). The Wolfe et al. badness-of-fit is due to the additional indicators in the model. With their removal, the goodness-of-fit increases and the correlation changes to 0.870.
lowerSNOW <-'
1
0.364 1
-0.018 0.078 1
0.09 0.05 0.462 1
0.088 0.05 0.49 0.607 1
0.14 0.277 0.222 0.252 0.144 1
0.135 0.045 0.145 0.27 0.172 0.391 1
0.04 0.038 0.239 0.309 0.197 0.425 0.434 1
0.017 -0.015 0.236 0.32 0.22 0.5 0.466 0.574 1
0.207 0.241 0.173 0.331 0.288 0.348 0.186 0.161 0.223 1
0.179 0.315 0.15 0.186 0.188 0.428 0.218 0.202 0.214 0.582 1
0.229 0.314 0.248 0.333 0.249 0.45 0.261 0.184 0.256 0.679 0.588 1
0.164 0.2 0.29 0.451 0.385 0.434 0.434 0.368 0.36 0.427 0.398 0.476 1
0.202 0.179 0.314 0.33 0.311 0.33 0.386 0.288 0.237 0.237 0.21 0.29 0.43 1
0.152 0.187 0.38 0.377 0.392 0.242 0.321 0.199 0.272 0.292 0.255 0.294 0.528 0.4 1
0.204 0.234 0.149 0.208 0.233 0.416 0.375 0.279 0.313 0.535 0.519 0.54 0.442 0.307 0.365 1
0.231 0.31 0.119 0.263 0.262 0.388 0.235 0.164 0.214 0.63 0.552 0.657 0.442 0.254 0.317 0.488 1
0.243 0.289 0.146 0.225 0.153 0.379 0.16 0.144 0.156 0.543 0.517 0.54 0.377 0.295 0.178 0.382 0.526 1
0.228 0.194 0.333 0.343 0.41 0.26 0.281 0.198 0.187 0.374 0.324 0.356 0.497 0.384 0.495 0.388 0.318 0.212 1
0.142 0.162 0.337 0.36 0.398 0.238 0.326 0.226 0.272 0.424 0.326 0.359 0.525 0.389 0.442 0.452 0.301 0.25 0.801 1
0.129 0.164 0.268 0.366 0.412 0.226 0.26 0.187 0.203 0.362 0.266 0.352 0.467 0.312 0.439 0.302 0.375 0.282 0.803 0.709 1
0.166 0.188 0.324 0.389 0.337 0.355 0.331 0.313 0.383 0.588 0.447 0.519 0.526 0.371 0.407 0.495 0.426 0.314 0.582 0.584 0.559 1
0.235 0.216 0.246 0.392 0.36 0.305 0.278 0.224 0.224 0.533 0.328 0.453 0.571 0.35 0.444 0.398 0.455 0.39 0.751 0.7 0.759 0.637 1
0.223 0.215 0.246 0.373 0.322 0.427 0.339 0.263 0.372 0.666 0.515 0.627 0.545 0.41 0.393 0.53 0.566 0.487 0.518 0.605 0.449 0.557 0.582 1
0.189 0.212 0.184 0.429 0.306 0.328 0.304 0.217 0.308 0.492 0.354 0.569 0.492 0.313 0.383 0.458 0.536 0.342 0.454 0.497 0.481 0.48 0.558 0.671 1
0.169 0.126 0.151 0.325 0.304 0.172 0.185 0.149 0.158 0.363 0.259 0.349 0.481 0.243 0.383 0.273 0.383 0.33 0.699 0.587 0.71 0.453 0.664 0.392 0.48 1
0.047 0.124 0.182 0.276 0.309 0.148 0.204 0.095 0.173 0.325 0.254 0.295 0.369 0.196 0.349 0.348 0.348 0.262 0.531 0.474 0.577 0.402 0.493 0.366 0.407 0.476 1
0.172 0.176 0.136 0.21 0.235 0.164 0.127 0.021 0.157 0.357 0.297 0.269 0.302 0.223 0.308 0.289 0.397 0.257 0.501 0.465 0.56 0.393 0.533 0.342 0.386 0.48 0.531 1
0.117 0.065 0.252 0.374 0.351 0.202 0.199 0.191 0.243 0.43 0.349 0.409 0.472 0.227 0.404 0.339 0.378 0.267 0.518 0.517 0.535 0.615 0.644 0.456 0.433 0.482 0.394 0.501 1
0.141 0.148 0.309 0.42 0.353 0.363 0.337 0.325 0.422 0.417 0.366 0.448 0.499 0.316 0.374 0.363 0.387 0.278 0.51 0.585 0.465 0.607 0.548 0.628 0.61 0.412 0.337 0.338 0.502 1
0.172 0.213 0.365 0.404 0.336 0.367 0.309 0.287 0.334 0.519 0.413 0.531 0.545 0.35 0.38 0.441 0.475 0.35 0.595 0.618 0.55 0.683 0.655 0.674 0.679 0.505 0.397 0.415 0.603 0.812 1
0.279 0.194 0.295 0.424 0.348 0.226 0.234 0.232 0.226 0.46 0.403 0.469 0.514 0.332 0.371 0.432 0.399 0.293 0.601 0.581 0.552 0.658 0.64 0.584 0.548 0.556 0.419 0.488 0.667 0.743 0.768 1
0.122 0.137 0.344 0.421 0.372 0.303 0.334 0.264 0.265 0.378 0.348 0.386 0.515 0.425 0.516 0.381 0.28 0.235 0.751 0.79 0.66 0.528 0.645 0.571 0.541 0.585 0.479 0.389 0.464 0.572 0.607 0.562 1
0.084 0.032 0.345 0.331 0.311 0.152 0.33 0.302 0.257 0.185 0.092 0.174 0.547 0.443 0.437 0.224 0.111 0.125 0.587 0.624 0.547 0.446 0.602 0.374 0.341 0.474 0.319 0.343 0.437 0.438 0.485 0.471 0.575 1
0.127 0.148 0.341 0.406 0.328 0.262 0.384 0.383 0.34 0.285 0.264 0.304 0.526 0.346 0.401 0.286 0.192 0.162 0.546 0.579 0.427 0.484 0.466 0.482 0.45 0.335 0.226 0.21 0.385 0.613 0.526 0.532 0.618 0.462 1
-0.042 -0.006 0.154 0.149 0.144 0.309 0.175 0.201 0.342 0.161 0.13 0.175 0.188 0.082 0.121 0.198 0.084 0.144 0.109 0.176 0.112 0.13 0.089 0.206 0.236 0.035 0.053 0.039 0.039 0.082 0.097 -0.049 0.222 0.122 0.226 1
0.065 0.099 0.106 0.077 0.105 0.316 0.121 0.104 0.117 0.215 0.223 0.184 0.351 0.039 0.242 0.142 0.215 0.251 0.25 0.166 0.235 0.22 0.298 0.136 0.186 0.226 0.328 0.189 0.106 0.113 0.116 0.052 0.181 0.126 0.21 0.154 1
0.171 0.185 -0.024 0.136 0.12 0.284 0.151 0.094 0.171 0.324 0.234 0.29 0.257 0.289 0.284 0.367 0.343 0.341 0.269 0.27 0.265 0.251 0.246 0.349 0.332 0.246 0.234 0.171 0.181 0.229 0.337 0.248 0.288 0.107 0.085 0.061 0.048 1
0.169 0.192 0.088 0.131 0.054 0.141 0.058 0.073 0.14 0.27 0.262 0.283 0.189 0.178 0.192 0.24 0.25 0.297 0.272 0.289 0.244 0.244 0.286 0.326 0.279 0.295 0.276 0.255 0.281 0.2 0.254 0.241 0.256 0.187 0.184 0.088 0.084 0.161 1'
lowerSNOWWA <- '
1
0.22 1
0.262 0.214 1
0.153 0.156 0.526 1
0.412 0.203 0.375 0.282 1
0.304 0.158 0.383 0.33 0.71 1
0.309 0.173 0.348 0.262 0.577 0.476 1
0.235 0.157 0.397 0.257 0.56 0.48 0.531 1
0.351 0.243 0.378 0.267 0.535 0.482 0.394 0.501 1
0.12 0.171 0.343 0.341 0.265 0.246 0.234 0.171 0.181 1
0.054 0.14 0.25 0.297 0.244 0.295 0.276 0.255 0.281 0.161 1'
lowerSNOWOTH <- '
1
0.364 1
-0.018 0.078 1
0.09 0.05 0.462 1
0.14 0.277 0.222 0.252 1
0.135 0.045 0.145 0.27 0.391 1
0.04 0.038 0.239 0.309 0.425 0.434 1
0.207 0.241 0.173 0.331 0.348 0.186 0.161 1
0.179 0.315 0.15 0.186 0.428 0.218 0.202 0.582 1
0.229 0.314 0.248 0.333 0.45 0.261 0.184 0.679 0.588 1
0.164 0.2 0.29 0.451 0.434 0.434 0.368 0.427 0.398 0.476 1
0.202 0.179 0.314 0.33 0.33 0.386 0.288 0.237 0.21 0.29 0.43 1
0.152 0.187 0.38 0.377 0.242 0.321 0.199 0.292 0.255 0.294 0.528 0.4 1
0.204 0.234 0.149 0.208 0.416 0.375 0.279 0.535 0.519 0.54 0.442 0.307 0.365 1
0.228 0.194 0.333 0.343 0.26 0.281 0.198 0.374 0.324 0.356 0.497 0.384 0.495 0.388 1
0.142 0.162 0.337 0.36 0.238 0.326 0.226 0.424 0.326 0.359 0.525 0.389 0.442 0.452 0.801 1
0.166 0.188 0.324 0.389 0.355 0.331 0.313 0.588 0.447 0.519 0.526 0.371 0.407 0.495 0.582 0.584 1
0.235 0.216 0.246 0.392 0.305 0.278 0.224 0.533 0.328 0.453 0.571 0.35 0.444 0.398 0.751 0.7 0.637 1
0.223 0.215 0.246 0.373 0.427 0.339 0.263 0.666 0.515 0.627 0.545 0.41 0.393 0.53 0.518 0.605 0.557 0.582 1
0.189 0.212 0.184 0.429 0.328 0.304 0.217 0.492 0.354 0.569 0.492 0.313 0.383 0.458 0.454 0.497 0.48 0.558 0.671 1
0.141 0.148 0.309 0.42 0.363 0.337 0.325 0.417 0.366 0.448 0.499 0.316 0.374 0.363 0.51 0.585 0.607 0.548 0.628 0.61 1
0.172 0.213 0.365 0.404 0.367 0.309 0.287 0.519 0.413 0.531 0.545 0.35 0.38 0.441 0.595 0.618 0.683 0.655 0.674 0.679 0.812 1
0.279 0.194 0.295 0.424 0.226 0.234 0.232 0.46 0.403 0.469 0.514 0.332 0.371 0.432 0.601 0.581 0.658 0.64 0.584 0.548 0.743 0.768 1
0.122 0.137 0.344 0.421 0.303 0.334 0.264 0.378 0.348 0.386 0.515 0.425 0.516 0.381 0.751 0.79 0.528 0.645 0.571 0.541 0.572 0.607 0.562 1
0.084 0.032 0.345 0.331 0.152 0.33 0.302 0.185 0.092 0.174 0.547 0.443 0.437 0.224 0.587 0.624 0.446 0.602 0.374 0.341 0.438 0.485 0.471 0.575 1
0.127 0.148 0.341 0.406 0.262 0.384 0.383 0.285 0.264 0.304 0.526 0.346 0.401 0.286 0.546 0.579 0.484 0.466 0.482 0.45 0.613 0.526 0.532 0.618 0.462 1
-0.042 -0.006 0.154 0.149 0.309 0.175 0.201 0.161 0.13 0.175 0.188 0.082 0.121 0.198 0.109 0.176 0.13 0.089 0.206 0.236 0.082 0.097 -0.049 0.222 0.122 0.226 1
0.065 0.099 0.106 0.077 0.316 0.121 0.104 0.215 0.223 0.184 0.351 0.039 0.242 0.142 0.25 0.166 0.22 0.298 0.136 0.186 0.113 0.116 0.052 0.181 0.126 0.21 0.154 1'
nSNOW <- 364
SNOW.cor = getCov(lowerSNOW, names = c("STRGEST", "HARGEST", "AUDLS", "VISNS", "DIGS", "IDENPIC", "FINA", "NUMCOM", "DSC", "PAPFO", "FORMBO", "SURDEV", "WORDTRAN", "CAMOWORD", "WORDBEEN", "HIDFIG", "BD", "OA", "READVOC", "READCOMP", "VOCAB", "NARITHO", "CONCMAST", "RPM", "LS", "INFO", "COMP", "SIM", "ARITH", "ARITHCOMP", "ARITHCONC", "ARITHAPPL", "LANEX", "LANSP", "LANME", "FILMMEM", "USETHI", "PICCOM", "PICARR"))
SNOWWA.cor = getCov(lowerSNOWWA, names = c("DIGS", "DSC", "BD", "OA", "VOCAB", "INFO", "COMP", "SIM", "ARITH", "PICCOM", "PICARR"))
SNOWOTH.cor = getCov(lowerSNOWOTH, names = c("STRGEST", "HARGEST", "AUDLS", "VISNS", "IDENPIC", "FINA", "NUMCOM", "PAPFO", "FORMBO", "SURDEV", "WORDTRAN", "CAMOWORD", "WORDBEEN", "HIDFIG", "READVOC", "READCOMP", "NARITHO", "CONCMAST", "RPM", "LS", "ARITHCOMP", "ARITHCONC", "ARITHAPPL", "LANEX", "LANSP", "LANME", "FILMMEM", "USETHI"))
fa.parallel(SNOW.cor, n.obs = nSNOW)
## Parallel analysis suggests that the number of factors = 6 and the number of components = 3
fa.parallel(SNOWWA.cor, n.obs = nSNOW)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 1
fa.parallel(SNOWOTH.cor, n.obs = nSNOW)
## Parallel analysis suggests that the number of factors = 6 and the number of components = 3
FATOT <- fa(SNOW.cor, n.obs = nSNOW, nfactors = 6)
FATOT1 <- fa(SNOW.cor, n.obs = nSNOW, nfactors = 1)
FAWA <- fa(SNOWWA.cor, n.obs = nSNOW, nfactors = 2)
FAWA1 <- fa(SNOWWA.cor, n.obs = nSNOW, nfactors = 1)
FAOTH <- fa(SNOWOTH.cor, n.obs = nSNOW, nfactors = 5)
FAOTH1 <- fa(SNOWOTH.cor, n.obs = nSNOW, nfactors = 1)
print(FATOT$loadings, cutoff = 0.3)
##
## Loadings:
## MR1 MR2 MR4 MR3 MR5 MR6
## STRGEST 0.314 0.372
## HARGEST 0.448 0.358
## AUDLS 0.662
## VISNS 0.718
## DIGS 0.821
## IDENPIC 0.407 0.541
## FINA 0.522
## NUMCOM 0.620
## DSC 0.760
## PAPFO 0.677
## FORMBO 0.642
## SURDEV 0.704
## WORDTRAN
## CAMOWORD 0.449
## WORDBEEN 0.325 0.315
## HIDFIG 0.480
## BD 0.735
## OA 0.678
## READVOC 0.819
## READCOMP 0.646
## VOCAB 0.874
## NARITHO 0.362
## CONCMAST 0.685
## RPM 0.436 0.352
## LS 0.318 0.314
## INFO 0.750
## COMP 0.673
## SIM 0.607
## ARITH 0.351 0.381
## ARITHCOMP 0.714
## ARITHCONC 0.674
## ARITHAPPL 0.719
## LANEX 0.573
## LANSP 0.530
## LANME 0.323
## FILMMEM 0.429
## USETHI 0.402 -0.353
## PICCOM 0.354
## PICARR
##
## MR1 MR2 MR4 MR3 MR5 MR6
## SS loadings 5.111 3.935 2.513 2.258 2.001 0.920
## Proportion Var 0.131 0.101 0.064 0.058 0.051 0.024
## Cumulative Var 0.131 0.232 0.296 0.354 0.406 0.429
print(FAWA$loadings, cutoff = 0.2)
##
## Loadings:
## MR1 MR2
## DIGS 0.446
## DSC
## BD 0.619
## OA 0.785
## VOCAB 0.915
## INFO 0.702
## COMP 0.642
## SIM 0.653
## ARITH 0.614
## PICCOM 0.427
## PICARR 0.274
##
## MR1 MR2
## SS loadings 2.850 1.311
## Proportion Var 0.259 0.119
## Cumulative Var 0.259 0.378
print(FAOTH$loadings, cutoff = 0.25)
##
## Loadings:
## MR1 MR4 MR2 MR3 MR5
## STRGEST 0.532
## HARGEST 0.452
## AUDLS 0.269
## VISNS 0.313 0.298
## IDENPIC 0.422 0.538
## FINA 0.567
## NUMCOM 0.624
## PAPFO 0.729
## FORMBO 0.642
## SURDEV 0.686
## WORDTRAN 0.355 0.395
## CAMOWORD 0.427
## WORDBEEN 0.479 0.270
## HIDFIG 0.496
## READVOC 0.913
## READCOMP 0.827
## NARITHO 0.277 0.338 0.266
## CONCMAST 0.684
## RPM 0.325 0.469
## LS 0.370 0.350
## ARITHCOMP 0.795
## ARITHCONC 0.724
## ARITHAPPL 0.794
## LANEX 0.739
## LANSP 0.662 -0.294
## LANME 0.352 0.286 0.289
## FILMMEM -0.257 0.281 0.264 -0.294
## USETHI 0.335 -0.338 0.264
##
## MR1 MR4 MR2 MR3 MR5
## SS loadings 3.91 2.684 2.665 1.908 0.767
## Proportion Var 0.14 0.096 0.095 0.068 0.027
## Cumulative Var 0.14 0.235 0.331 0.399 0.426
print(FATOT1$loadings)
##
## Loadings:
## MR1
## STRGEST 0.256
## HARGEST 0.276
## AUDLS 0.400
## VISNS 0.536
## DIGS 0.486
## IDENPIC 0.482
## FINA 0.439
## NUMCOM 0.375
## DSC 0.429
## PAPFO 0.649
## FORMBO 0.544
## SURDEV 0.650
## WORDTRAN 0.727
## CAMOWORD 0.501
## WORDBEEN 0.584
## HIDFIG 0.598
## BD 0.598
## OA 0.487
## READVOC 0.775
## READCOMP 0.782
## VOCAB 0.735
## NARITHO 0.764
## CONCMAST 0.812
## RPM 0.776
## LS 0.715
## INFO 0.658
## COMP 0.558
## SIM 0.544
## ARITH 0.667
## ARITHCOMP 0.736
## ARITHCONC 0.812
## ARITHAPPL 0.763
## LANEX 0.766
## LANSP 0.592
## LANME 0.625
## FILMMEM 0.210
## USETHI 0.282
## PICCOM 0.379
## PICARR 0.357
##
## MR1
## SS loadings 13.886
## Proportion Var 0.356
print(FAWA1$loadings)
##
## Loadings:
## MR1
## DIGS 0.434
## DSC 0.301
## BD 0.600
## OA 0.484
## VOCAB 0.802
## INFO 0.734
## COMP 0.664
## SIM 0.670
## ARITH 0.661
## PICCOM 0.374
## PICARR 0.390
##
## MR1
## SS loadings 3.672
## Proportion Var 0.334
print(FAOTH1$loadings)
##
## Loadings:
## MR1
## STRGEST 0.255
## HARGEST 0.276
## AUDLS 0.416
## VISNS 0.533
## IDENPIC 0.496
## FINA 0.463
## NUMCOM 0.400
## PAPFO 0.633
## FORMBO 0.536
## SURDEV 0.644
## WORDTRAN 0.735
## CAMOWORD 0.517
## WORDBEEN 0.578
## HIDFIG 0.600
## READVOC 0.752
## READCOMP 0.779
## NARITHO 0.766
## CONCMAST 0.782
## RPM 0.787
## LS 0.710
## ARITHCOMP 0.759
## ARITHCONC 0.821
## ARITHAPPL 0.758
## LANEX 0.773
## LANSP 0.599
## LANME 0.669
## FILMMEM 0.222
## USETHI 0.267
##
## MR1
## SS loadings 10.667
## Proportion Var 0.381
EFATOGSNOW <- c(0.256, 0.276, 0.400, 0.536, 0.486, 0.482, 0.439, 0.375, 0.429, 0.649, 0.544, 0.650, 0.727, 0.501, 0.584, 0.598, 0.598, 0.487, 0.775, 0.782, 0.735, 0.764, 0.812, 0.776, 0.715, 0.658, 0.558, 0.544, 0.667, 0.736, 0.812, 0.763, 0.766, 0.592, 0.625, 0.210, 0.282, 0.379, 0.357)
EFATOGSNOWPsy <- c(0.486, 0.429, 0.598, 0.487, 0.735, 0.658, 0.558, 0.544, 0.667, 0.379, 0.357); EFATOGSNOWPsy2 <- c(0.256, 0.276, 0.400, 0.536, 0.482, 0.439, 0.375, 0.649, 0.544, 0.650, 0.727, 0.501, 0.584, 0.598, 0.775, 0.782, 0.764, 0.812, 0.776, 0.715, 0.736, 0.812, 0.763, 0.766, 0.592, 0.625, 0.210, 0.282)
EFASEPSNOW <- c(0.255, 0.276, 0.416, 0.533, 0.434, 0.496, 0.463, 0.4, 0.301, 0.633, 0.536, 0.644, 0.735, 0.517, 0.578, 0.600, 0.600, 0.484, 0.752, 0.779, 0.802, 0.766, 0.782, 0.787, 0.710, 0.734, 0.664, 0.670, 0.661, 0.759, 0.821, 0.758, 0.773, 0.599, 0.669, 0.222, 0.267, 0.374, 0.390)
EFASEPSNOWPsy <- c(0.434, 0.301, 0.600, 0.484, 0.802, 0.734, 0.664, 0.670, 0.661, 0.374, 0.390); EFASEPSNOWPsy2 <- c(0.255, 0.276, 0.416, 0.533, 0.496, 0.463, 0.400, 0.633, 0.536, 0.644, 0.735, 0.517, 0.578, 0.600, 0.752, 0.779, 0.766, 0.782, 0.787, 0.710, 0.759, 0.821, 0.758, 0.773, 0.599, 0.669, 0.222, 0.267)
cor(EFATOGSNOW, EFASEPSNOW, method = "pearson"); cor(EFATOGSNOW, EFASEPSNOW, method = "spearman"); CONGO(EFATOGSNOW, EFASEPSNOW)
## [1] 0.9738012
## [1] 0.9669974
## [1] 0.9978387
cor(EFATOGSNOWPsy, EFASEPSNOWPsy, method = "pearson"); cor(EFATOGSNOWPsy, EFASEPSNOWPsy, method = "spearman"); CONGO(EFATOGSNOWPsy, EFASEPSNOWPsy)
## [1] 0.9158751
## [1] 0.8545455
## [1] 0.9930874
cor(EFATOGSNOWPsy2, EFASEPSNOWPsy2, method = "pearson"); cor(EFATOGSNOWPsy2, EFASEPSNOWPsy2, method = "spearman"); CONGO(EFATOGSNOWPsy2, EFASEPSNOWPsy2)
## [1] 0.9965026
## [1] 0.9897359
## [1] 0.9996793
SNOWWA.model <- '
Gc =~ VOCAB + INFO + COMP
Gsp =~ BD + OA + PICCOM + PICARR
Gf =~ SIM + ARITH
Gs =~ DIGS + DSC
g =~ Gc + Gsp + Gf + Gs'
SNOWWA.fit <- cfa(SNOWWA.model, sample.cov = SNOW.cor, sample.nobs = nSNOW, std.lv = T, orthogonal = T, check.gradient = F)
summary(SNOWWA.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 53 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 26
##
## Number of observations 364
##
## Model Test User Model:
##
## Test statistic 87.242
## Degrees of freedom 40
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1238.745
## Degrees of freedom 55
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.960
## Tucker-Lewis Index (TLI) 0.945
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -5100.171
## Loglikelihood unrestricted model (H1) -5056.550
##
## Akaike (AIC) 10252.342
## Bayesian (BIC) 10353.668
## Sample-size adjusted Bayesian (BIC) 10271.181
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.057
## 90 Percent confidence interval - lower 0.041
## 90 Percent confidence interval - upper 0.073
## P-value RMSEA <= 0.05 0.226
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.044
##
## 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 =~
## VOCAB 0.358 0.066 5.396 0.000 0.883 0.884
## INFO 0.318 0.058 5.430 0.000 0.784 0.785
## COMP 0.267 0.051 5.276 0.000 0.660 0.661
## Gsp =~
## BD 0.567 0.050 11.258 0.000 0.763 0.764
## OA 0.499 0.047 10.654 0.000 0.671 0.672
## PICCOM 0.345 0.045 7.649 0.000 0.464 0.465
## PICARR 0.295 0.045 6.580 0.000 0.397 0.398
## Gf =~
## SIM 0.174 0.119 1.468 0.142 0.712 0.713
## ARITH 0.172 0.117 1.469 0.142 0.701 0.702
## Gs =~
## DIGS 0.386 0.110 3.525 0.000 0.599 0.600
## DSC 0.236 0.064 3.678 0.000 0.366 0.367
## g =~
## Gc 2.256 0.488 4.627 0.000 0.914 0.914
## Gsp 0.900 0.114 7.890 0.000 0.669 0.669
## Gf 3.962 2.794 1.418 0.156 0.970 0.970
## Gs 1.185 0.352 3.363 0.001 0.764 0.764
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VOCAB 0.218 0.033 6.579 0.000 0.218 0.219
## .INFO 0.383 0.037 10.227 0.000 0.383 0.384
## .COMP 0.562 0.047 12.011 0.000 0.562 0.563
## .BD 0.415 0.057 7.343 0.000 0.415 0.416
## .OA 0.547 0.056 9.759 0.000 0.547 0.549
## .PICCOM 0.782 0.063 12.323 0.000 0.782 0.784
## .PICARR 0.839 0.066 12.700 0.000 0.839 0.842
## .SIM 0.490 0.051 9.681 0.000 0.490 0.491
## .ARITH 0.505 0.051 9.964 0.000 0.505 0.507
## .DIGS 0.639 0.097 6.582 0.000 0.639 0.640
## .DSC 0.863 0.071 12.088 0.000 0.863 0.865
## .Gc 1.000 0.164 0.164
## .Gsp 1.000 0.553 0.553
## .Gf 1.000 0.060 0.060
## .Gs 1.000 0.416 0.416
## g 1.000 1.000 1.000
SNOWOTH.model <- '
Gr =~ WORDBEEN + READVOC + READCOMP + CONCMAST + LANEX + LANSP + LANME
Gm =~ VISNS + NARITHO + LS + ARITHCOMP + ARITHCONC + ARITHAPPL + USETHI
Gsp =~ PAPFO + FORMBO + SURDEV + HIDFIG + RPM
Ga =~ AUDLS + IDENPIC + FINA + NUMCOM + WORDTRAN + CAMOWORD
Gest =~ STRGEST + HARGEST + FILMMEM
g =~ Gr + Gm + Gsp + Ga + Gest'
SNOWOTH.fit <- cfa(SNOWOTH.model, sample.cov = SNOW.cor, sample.nobs = nSNOW, std.lv = T, orthogonal = T, check.gradient = F)
summary(SNOWOTH.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 66 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 61
##
## Number of observations 364
##
## Model Test User Model:
##
## Test statistic 1477.386
## Degrees of freedom 345
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 6511.583
## Degrees of freedom 378
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.815
## Tucker-Lewis Index (TLI) 0.798
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -11930.704
## Loglikelihood unrestricted model (H1) -11192.011
##
## Akaike (AIC) 23983.408
## Bayesian (BIC) 24221.134
## Sample-size adjusted Bayesian (BIC) 24027.607
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.095
## 90 Percent confidence interval - lower 0.090
## 90 Percent confidence interval - upper 0.100
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.083
##
## 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
## Gr =~
## WORDBEEN 0.300 0.030 10.070 0.000 0.565 0.566
## READVOC 0.465 0.031 14.803 0.000 0.876 0.877
## READCOMP 0.472 0.032 14.977 0.000 0.889 0.890
## CONCMAST 0.430 0.031 13.881 0.000 0.810 0.811
## LANEX 0.456 0.031 14.577 0.000 0.859 0.860
## LANSP 0.365 0.030 12.045 0.000 0.688 0.689
## LANME 0.353 0.030 11.666 0.000 0.664 0.665
## Gm =~
## VISNS 0.185 0.027 6.884 0.000 0.502 0.503
## NARITHO 0.280 0.034 8.275 0.000 0.761 0.762
## LS 0.266 0.033 8.129 0.000 0.723 0.724
## ARITHCOMP 0.315 0.037 8.582 0.000 0.855 0.856
## ARITHCONC 0.336 0.039 8.703 0.000 0.912 0.913
## ARITHAPPL 0.308 0.036 8.525 0.000 0.835 0.836
## USETHI 0.066 0.021 3.135 0.002 0.178 0.178
## Gsp =~
## PAPFO 0.449 0.034 13.328 0.000 0.801 0.802
## FORMBO 0.381 0.033 11.614 0.000 0.680 0.681
## SURDEV 0.444 0.034 13.199 0.000 0.792 0.793
## HIDFIG 0.379 0.033 11.535 0.000 0.675 0.676
## RPM 0.467 0.034 13.715 0.000 0.833 0.834
## Ga =~
## AUDLS 0.233 0.034 6.852 0.000 0.420 0.421
## IDENPIC 0.326 0.036 9.000 0.000 0.588 0.589
## FINA 0.316 0.036 8.793 0.000 0.570 0.571
## NUMCOM 0.286 0.035 8.139 0.000 0.517 0.517
## WORDTRAN 0.433 0.041 10.646 0.000 0.781 0.782
## CAMOWORD 0.322 0.036 8.918 0.000 0.581 0.582
## Gest =~
## STRGEST 0.514 0.075 6.820 0.000 0.575 0.576
## HARGEST 0.558 0.082 6.796 0.000 0.624 0.625
## FILMMEM 0.037 0.062 0.596 0.551 0.041 0.041
## g =~
## Gr 1.596 0.144 11.063 0.000 0.847 0.847
## Gm 2.523 0.338 7.474 0.000 0.930 0.930
## Gsp 1.477 0.140 10.537 0.000 0.828 0.828
## Ga 1.502 0.169 8.898 0.000 0.832 0.832
## Gest 0.500 0.096 5.226 0.000 0.447 0.447
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .WORDBEEN 0.678 0.052 13.087 0.000 0.678 0.680
## .READVOC 0.230 0.022 10.575 0.000 0.230 0.231
## .READCOMP 0.207 0.020 10.147 0.000 0.207 0.207
## .CONCMAST 0.341 0.029 11.822 0.000 0.341 0.342
## .LANEX 0.259 0.024 11.003 0.000 0.259 0.260
## .LANSP 0.524 0.041 12.712 0.000 0.524 0.525
## .LANME 0.556 0.043 12.809 0.000 0.556 0.558
## .VISNS 0.745 0.056 13.194 0.000 0.745 0.747
## .NARITHO 0.419 0.034 12.269 0.000 0.419 0.420
## .LS 0.475 0.038 12.519 0.000 0.475 0.476
## .ARITHCOMP 0.266 0.024 11.025 0.000 0.266 0.267
## .ARITHCONC 0.166 0.018 8.994 0.000 0.166 0.166
## .ARITHAPPL 0.300 0.026 11.411 0.000 0.300 0.301
## .USETHI 0.966 0.072 13.462 0.000 0.966 0.968
## .PAPFO 0.355 0.033 10.717 0.000 0.355 0.356
## .FORMBO 0.534 0.044 12.178 0.000 0.534 0.536
## .SURDEV 0.371 0.034 10.901 0.000 0.371 0.372
## .HIDFIG 0.541 0.044 12.216 0.000 0.541 0.543
## .RPM 0.304 0.030 9.982 0.000 0.304 0.305
## .AUDLS 0.821 0.063 12.936 0.000 0.821 0.823
## .IDENPIC 0.651 0.054 12.106 0.000 0.651 0.653
## .FINA 0.672 0.055 12.232 0.000 0.672 0.674
## .NUMCOM 0.730 0.058 12.545 0.000 0.730 0.732
## .WORDTRAN 0.387 0.042 9.270 0.000 0.387 0.388
## .CAMOWORD 0.660 0.054 12.158 0.000 0.660 0.661
## .STRGEST 0.667 0.091 7.335 0.000 0.667 0.668
## .HARGEST 0.608 0.100 6.048 0.000 0.608 0.609
## .FILMMEM 0.996 0.074 13.474 0.000 0.996 0.998
## .Gr 1.000 0.282 0.282
## .Gm 1.000 0.136 0.136
## .Gsp 1.000 0.314 0.314
## .Ga 1.000 0.307 0.307
## .Gest 1.000 0.800 0.800
## g 1.000 1.000 1.000
SNOWNO.model <- '
Gc =~ VOCAB + INFO + COMP
Gsp =~ BD + OA + PICCOM + PICARR
Gf =~ SIM + ARITH
Gs =~ DIGS + DSC
gPsy =~ Gc + Gsp + Gf + Gs
Gr =~ WORDBEEN + READVOC + READCOMP + CONCMAST + LANEX + LANSP + LANME
Gm =~ VISNS + NARITHO + LS + ARITHCOMP + ARITHCONC + ARITHAPPL + USETHI
Gsp =~ PAPFO + FORMBO + SURDEV + HIDFIG + RPM
Ga =~ AUDLS + IDENPIC + FINA + NUMCOM + WORDTRAN + CAMOWORD
Gest =~ STRGEST + HARGEST + FILMMEM
gPsyB =~ Gr + Gm + Gsp + Ga + Gest
gPsy ~~ 0*gPsyB'
SNOW.model <- '
Gc =~ VOCAB + INFO + COMP
Gsp =~ BD + OA + PICCOM + PICARR
Gf =~ SIM + ARITH
Gs =~ DIGS + DSC
gPsy =~ Gc + Gsp + Gf + Gs
Gr =~ WORDBEEN + READVOC + READCOMP + CONCMAST + LANEX + LANSP + LANME
Gm =~ VISNS + NARITHO + LS + ARITHCOMP + ARITHCONC + ARITHAPPL + USETHI
Gsp =~ PAPFO + FORMBO + SURDEV + HIDFIG + RPM
Ga =~ AUDLS + IDENPIC + FINA + NUMCOM + WORDTRAN + CAMOWORD
Gest =~ STRGEST + HARGEST + FILMMEM
gPsyB =~ Gr + Gm + Gsp + Ga + Gest
gPsy ~~ gPsyB'
SNOWID.model <- '
Gc =~ VOCAB + INFO + COMP
Gsp =~ BD + OA + PICCOM + PICARR
Gf =~ SIM + ARITH
Gs =~ DIGS + DSC
gPsy =~ Gc + Gsp + Gf + Gs
Gr =~ WORDBEEN + READVOC + READCOMP + CONCMAST + LANEX + LANSP + LANME
Gm =~ VISNS + NARITHO + LS + ARITHCOMP + ARITHCONC + ARITHAPPL + USETHI
Gsp =~ PAPFO + FORMBO + SURDEV + HIDFIG + RPM
Ga =~ AUDLS + IDENPIC + FINA + NUMCOM + WORDTRAN + CAMOWORD
Gest =~ STRGEST + HARGEST + FILMMEM
gPsyB =~ Gr + Gm + Gsp + Ga + Gest
gPsy ~~ 1*gPsyB'
SNOWNo.fit <- cfa(SNOWNO.model, sample.cov = SNOW.cor, sample.nobs = nSNOW, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4))
SNOW.fit <- cfa(SNOW.model, sample.cov = SNOW.cor, sample.nobs = nSNOW, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4)); "\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"
SNOWID.fit <- cfa(SNOWID.model, sample.cov = SNOW.cor, sample.nobs = nSNOW, std.lv = T, check.gradient = F, control=list(rel.tol=1e-4)); "\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"
round(cbind("No Relationship" = fitMeasures(SNOWNo.fit, FITM),
"Free Relationship" = fitMeasures(SNOW.fit, FITM),
"Identical" = fitMeasures(SNOWID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 3286.921 2900.941 2903.269
## df 693.000 692.000 693.000
## npar 87.000 88.000 87.000
## cfi 0.710 0.753 0.753
## rmsea 0.101 0.094 0.094
## rmsea.ci.lower 0.098 0.090 0.090
## rmsea.ci.upper 0.105 0.097 0.097
## aic 34026.554 33642.574 33642.902
## bic 34365.607 33985.524 33981.954
summary(SNOW.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 49 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 88
##
## Number of observations 364
##
## Model Test User Model:
##
## Test statistic 2900.941
## Degrees of freedom 692
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 9681.816
## Degrees of freedom 741
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.753
## Tucker-Lewis Index (TLI) 0.735
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -16733.287
## Loglikelihood unrestricted model (H1) -15282.817
##
## Akaike (AIC) 33642.574
## Bayesian (BIC) 33985.524
## Sample-size adjusted Bayesian (BIC) 33706.337
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.094
## 90 Percent confidence interval - lower 0.090
## 90 Percent confidence interval - upper 0.097
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.088
##
## 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 =~
## VOCAB 0.436 0.039 11.043 0.000 0.901 0.899
## INFO 0.381 0.035 10.815 0.000 0.789 0.787
## COMP 0.308 0.032 9.489 0.000 0.638 0.637
## Gsp =~
## BD 0.524 0.037 14.339 0.000 0.760 0.760
## OA 0.449 0.037 12.196 0.000 0.651 0.651
## PICCOM 0.293 0.037 7.852 0.000 0.425 0.425
## PICARR 0.257 0.037 6.881 0.000 0.373 0.374
## Gf =~
## SIM 0.313 0.048 6.560 0.000 0.642 0.642
## ARITH 0.380 0.059 6.482 0.000 0.779 0.780
## Gs =~
## DIGS 0.267 0.105 2.544 0.011 0.553 0.554
## DSC 0.210 0.082 2.555 0.011 0.434 0.436
## gPsy =~
## Gc 1.811 0.201 9.017 0.000 0.875 0.875
## Gsp 0.900 0.999 0.900 0.368 0.621 0.621
## Gf 1.788 0.298 5.989 0.000 0.873 0.873
## Gs 1.813 0.724 2.503 0.012 0.876 0.876
## Gr =~
## WORDBEEN 0.208 0.024 8.584 0.000 0.575 0.575
## READVOC 0.321 0.030 10.822 0.000 0.886 0.886
## READCOMP 0.319 0.030 10.793 0.000 0.881 0.880
## CONCMAST 0.301 0.029 10.544 0.000 0.832 0.833
## LANEX 0.308 0.029 10.630 0.000 0.850 0.848
## LANSP 0.248 0.026 9.556 0.000 0.684 0.686
## LANME 0.234 0.025 9.249 0.000 0.647 0.648
## Gm =~
## VISNS 0.236 0.026 8.983 0.000 0.503 0.504
## NARITHO 0.357 0.027 12.991 0.000 0.761 0.762
## LS 0.335 0.027 12.320 0.000 0.714 0.716
## ARITHCOMP 0.399 0.028 14.232 0.000 0.850 0.852
## ARITHCONC 0.425 0.029 14.903 0.000 0.907 0.909
## ARITHAPPL 0.397 0.028 14.158 0.000 0.846 0.847
## USETHI 0.084 0.025 3.288 0.001 0.178 0.179
## Gsp =~
## PAPFO 0.566 0.036 15.549 0.000 0.821 0.820
## FORMBO 0.486 0.037 13.242 0.000 0.704 0.704
## SURDEV 0.562 0.036 15.412 0.000 0.814 0.813
## HIDFIG 0.463 0.037 12.585 0.000 0.671 0.671
## RPM 0.552 0.036 15.143 0.000 0.799 0.800
## Ga =~
## AUDLS 0.255 0.035 7.216 0.000 0.424 0.424
## IDENPIC 0.343 0.036 9.474 0.000 0.570 0.570
## FINA 0.344 0.036 9.488 0.000 0.571 0.571
## NUMCOM 0.309 0.036 8.613 0.000 0.513 0.513
## WORDTRAN 0.478 0.039 12.110 0.000 0.793 0.793
## CAMOWORD 0.353 0.036 9.695 0.000 0.586 0.585
## Gest =~
## STRGEST 0.560 0.087 6.442 0.000 0.608 0.609
## HARGEST 0.547 0.085 6.446 0.000 0.595 0.596
## FILMMEM 0.022 0.064 0.342 0.732 0.024 0.024
## gPsyB =~
## Gr 2.574 0.275 9.369 0.000 0.932 0.932
## Gm 1.882 0.162 11.614 0.000 0.883 0.883
## Gsp 0.146 1.029 0.142 0.887 0.101 0.101
## Ga 1.326 0.135 9.839 0.000 0.798 0.798
## Gest 0.425 0.088 4.843 0.000 0.391 0.391
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## gPsy ~~
## gPsyB 1.021 0.017 59.208 0.000 1.021 1.021
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VOCAB 0.192 0.029 6.689 0.000 0.192 0.191
## .INFO 0.381 0.035 10.871 0.000 0.381 0.380
## .COMP 0.596 0.048 12.448 0.000 0.596 0.594
## .BD 0.423 0.036 11.805 0.000 0.423 0.423
## .OA 0.575 0.046 12.584 0.000 0.575 0.576
## .PICCOM 0.816 0.062 13.220 0.000 0.816 0.819
## .PICARR 0.857 0.064 13.292 0.000 0.857 0.860
## .SIM 0.589 0.052 11.302 0.000 0.589 0.588
## .ARITH 0.390 0.051 7.661 0.000 0.390 0.391
## .DIGS 0.692 0.076 9.127 0.000 0.692 0.693
## .DSC 0.804 0.069 11.680 0.000 0.804 0.810
## .WORDBEEN 0.670 0.051 13.113 0.000 0.670 0.670
## .READVOC 0.215 0.020 10.647 0.000 0.215 0.215
## .READCOMP 0.227 0.021 10.822 0.000 0.227 0.226
## .CONCMAST 0.306 0.026 11.739 0.000 0.306 0.307
## .LANEX 0.282 0.025 11.500 0.000 0.282 0.281
## .LANSP 0.526 0.041 12.807 0.000 0.526 0.529
## .LANME 0.578 0.045 12.934 0.000 0.578 0.580
## .VISNS 0.741 0.056 13.189 0.000 0.741 0.746
## .NARITHO 0.417 0.034 12.249 0.000 0.417 0.419
## .LS 0.484 0.039 12.550 0.000 0.484 0.487
## .ARITHCOMP 0.273 0.025 11.086 0.000 0.273 0.274
## .ARITHCONC 0.172 0.019 9.149 0.000 0.172 0.173
## .ARITHAPPL 0.283 0.025 11.201 0.000 0.283 0.283
## .USETHI 0.963 0.071 13.462 0.000 0.963 0.968
## .PAPFO 0.328 0.030 10.944 0.000 0.328 0.328
## .FORMBO 0.503 0.041 12.277 0.000 0.503 0.504
## .SURDEV 0.339 0.031 11.070 0.000 0.339 0.339
## .HIDFIG 0.549 0.044 12.482 0.000 0.549 0.550
## .RPM 0.360 0.032 11.292 0.000 0.360 0.360
## .AUDLS 0.818 0.063 12.917 0.000 0.818 0.820
## .IDENPIC 0.675 0.055 12.220 0.000 0.675 0.675
## .FINA 0.674 0.055 12.213 0.000 0.674 0.674
## .NUMCOM 0.736 0.059 12.552 0.000 0.736 0.737
## .WORDTRAN 0.372 0.042 8.908 0.000 0.372 0.371
## .CAMOWORD 0.658 0.054 12.115 0.000 0.658 0.657
## .STRGEST 0.627 0.106 5.913 0.000 0.627 0.629
## .HARGEST 0.643 0.103 6.258 0.000 0.643 0.645
## .FILMMEM 0.992 0.074 13.485 0.000 0.992 0.999
## .Gc 1.000 0.234 0.234
## .Gsp 1.000 0.476 0.476
## .Gf 1.000 0.238 0.238
## .Gs 1.000 0.233 0.233
## gPsy 1.000 1.000 1.000
## .Gr 1.000 0.131 0.131
## .Gm 1.000 0.220 0.220
## .Ga 1.000 0.362 0.362
## .Gest 1.000 0.847 0.847
## gPsyB 1.000 1.000 1.000
CRITR(436); CRITR(436, NP(436))
## [1] 0.09392729
## [1] 0.1708072
resid(SNOW.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## VOCAB INFO COMP BD OA PICCOM PICARR SIM ARITH DIGS
## VOCAB 0.000
## INFO 0.002 0.000
## COMP 0.004 -0.025 0.000
## BD -0.058 0.004 0.041 0.000
## OA -0.089 0.005 -0.001 0.031 0.000
## PICCOM 0.023 0.034 0.062 0.020 0.064 0.000
## PICARR 0.031 0.109 0.125 -0.034 0.054 0.002 0.000
## SIM 0.119 0.094 0.219 0.089 -0.007 -0.001 0.104 0.000
## ARITH -0.001 0.013 0.014 0.003 -0.054 -0.029 0.097 0.000 0.000
## DIGS 0.030 -0.030 0.039 -0.005 -0.076 -0.029 -0.077 -0.036 0.021 0.000
## DSC -0.098 -0.105 -0.040 0.004 -0.024 0.053 0.037 -0.057 -0.017 -0.021
## WORDBEEN 0.008 0.006 0.044 0.018 -0.079 0.116 0.045 0.002 0.031 0.127
## READVOC 0.139 0.118 0.061 -0.143 -0.183 0.011 0.045 0.029 -0.056 0.001
## READCOMP 0.050 0.010 0.007 -0.157 -0.143 0.014 0.064 -0.004 -0.053 -0.008
## CONCMAST 0.135 0.118 0.051 0.022 0.018 0.003 0.073 0.089 0.104 -0.024
## LANEX 0.024 0.029 0.029 -0.161 -0.144 0.041 0.039 -0.063 -0.086 -0.019
## LANSP 0.033 0.024 -0.045 -0.246 -0.181 -0.093 0.011 -0.023 -0.008 -0.006
## LANME -0.059 -0.090 -0.118 -0.145 -0.127 -0.104 0.018 -0.136 -0.035 0.029
## VISNS 0.008 0.012 0.022 0.014 0.012 -0.003 0.009 -0.045 0.064 0.387
## NARITHO 0.018 -0.021 0.019 0.050 -0.008 0.041 0.059 0.008 0.147 0.004
## LS -0.028 0.035 0.047 0.183 0.039 0.134 0.105 0.024 -0.007 -0.007
## ARITHCOMP -0.140 -0.118 -0.091 -0.033 -0.082 -0.006 -0.007 -0.092 -0.021 -0.020
## ARITHCONC -0.096 -0.060 -0.060 0.027 -0.035 0.086 0.033 -0.044 0.044 -0.062
## ARITHAPPL -0.049 0.030 -0.007 -0.018 -0.065 0.014 0.036 0.060 0.147 -0.022
## USETHI 0.108 0.115 0.238 0.127 0.175 -0.001 0.041 0.099 -0.004 0.027
## PAPFO -0.105 -0.046 -0.006 0.007 0.009 -0.025 -0.036 0.024 0.026 0.000
## FORMBO -0.135 -0.093 -0.030 0.017 0.058 -0.066 -0.001 0.011 0.002 -0.059
## SURDEV -0.111 -0.057 -0.033 0.039 0.010 -0.056 -0.021 -0.061 0.008 -0.036
## HIDFIG -0.081 -0.062 0.077 -0.022 -0.055 0.082 -0.011 0.017 0.008 -0.003
## RPM -0.007 -0.007 0.043 -0.041 -0.034 0.009 0.027 0.018 0.062 0.041
## AUDLS -0.004 -0.088 -0.011 -0.070 -0.016 -0.130 -0.005 -0.058 0.016 0.322
## IDENPIC -0.140 -0.148 -0.111 0.134 0.161 0.142 0.016 -0.096 -0.115 -0.081
## FINA -0.107 -0.136 -0.056 -0.020 -0.058 0.008 -0.067 -0.134 -0.118 -0.054
## NUMCOM -0.142 -0.139 -0.138 -0.065 -0.052 -0.034 -0.040 -0.213 -0.094 -0.006
## WORDTRAN -0.042 0.035 0.008 0.088 0.074 0.059 0.015 -0.060 0.032 0.072
## CAMOWORD -0.064 -0.086 -0.070 -0.007 0.071 0.143 0.050 -0.044 -0.098 0.080
## STRGEST -0.063 0.001 -0.089 0.098 0.129 0.096 0.103 0.036 -0.049 -0.030
## HARGEST -0.023 -0.038 -0.009 0.180 0.177 0.112 0.128 0.043 -0.097 -0.065
## FILMMEM 0.105 0.028 0.048 0.079 0.140 0.058 0.085 0.034 0.033 0.139
## DSC WORDBE READVO READCO CONCMA LANEX LANSP LANME VISNS NARITH
## VOCAB
## INFO
## COMP
## BD
## OA
## PICCOM
## PICARR
## SIM
## ARITH
## DIGS
## DSC 0.000
## WORDBEEN 0.063 0.000
## READVOC -0.135 -0.014 0.000
## READCOMP -0.048 -0.064 0.022 0.000
## CONCMAST -0.079 -0.035 0.013 -0.032 0.000
## LANEX -0.043 0.029 0.000 0.044 -0.061 0.000
## LANSP 0.008 0.043 -0.021 0.020 0.031 -0.007 0.000
## LANME 0.104 0.028 -0.028 0.009 -0.074 0.068 0.017 0.000
## VISNS 0.146 0.138 -0.025 -0.005 0.046 0.069 0.046 0.137 0.000
## NARITHO 0.121 0.046 0.026 0.032 0.115 -0.004 0.015 0.077 0.005 0.000
## LS 0.061 0.044 -0.068 -0.022 0.067 0.041 -0.064 0.068 0.068 -0.066
## ARITHCOMP 0.129 -0.029 -0.111 -0.032 -0.036 -0.023 -0.043 0.158 -0.010 -0.043
## ARITHCONC 0.021 -0.050 -0.068 -0.041 0.032 -0.028 -0.029 0.041 -0.055 -0.010
## ARITHAPPL -0.065 -0.029 -0.016 -0.032 0.060 -0.029 -0.007 0.080 -0.003 0.013
## USETHI 0.055 0.157 0.120 0.037 0.175 0.056 0.025 0.115 -0.013 0.084
## PAPFO -0.004 -0.031 -0.124 -0.070 0.065 -0.099 -0.201 -0.079 0.063 0.182
## FORMBO 0.019 -0.022 -0.104 -0.099 -0.074 -0.061 -0.239 -0.049 -0.045 0.098
## SURDEV 0.031 -0.026 -0.138 -0.131 -0.011 -0.087 -0.208 -0.057 0.067 0.117
## HIDFIG 0.127 0.101 -0.019 0.047 0.015 -0.009 -0.092 -0.012 -0.012 0.163
## RPM 0.151 0.078 0.033 0.123 0.126 0.106 -0.002 0.127 0.111 0.161
## AUDLS 0.104 0.198 0.053 0.059 -0.017 0.076 0.128 0.136 0.311 0.096
## IDENPIC 0.322 -0.002 -0.116 -0.135 -0.048 -0.057 -0.139 -0.013 0.049 0.048
## FINA 0.288 0.077 -0.096 -0.048 -0.076 -0.027 0.038 0.108 0.067 0.024
## NUMCOM 0.414 -0.021 -0.140 -0.110 -0.094 -0.060 0.040 0.135 0.127 0.037
## WORDTRAN 0.113 0.189 -0.026 0.006 0.080 0.014 0.142 0.143 0.169 0.100
## CAMOWORD 0.055 0.150 -0.002 0.006 -0.013 0.056 0.144 0.064 0.122 0.056
## STRGEST -0.076 0.024 0.031 -0.054 0.050 -0.067 -0.069 -0.017 -0.016 0.005
## HARGEST -0.106 0.062 0.001 -0.029 0.035 -0.047 -0.117 0.007 -0.054 0.031
## FILMMEM 0.338 0.116 0.101 0.168 0.082 0.215 0.116 0.220 0.145 0.124
## LS ARITHCOM ARITHCON ARITHA USETHI PAPFO FORMBO SURDEV HIDFIG
## VOCAB
## INFO
## COMP
## BD
## OA
## PICCOM
## PICARR
## SIM
## ARITH
## DIGS
## DSC
## WORDBEEN
## READVOC
## READCOMP
## CONCMAST
## LANEX
## LANSP
## LANME
## VISNS
## NARITHO
## LS 0.000
## ARITHCOMP 0.000 0.000
## ARITHCONC 0.027 0.037 0.000
## ARITHAPPL -0.058 0.022 -0.002 0.000
## USETHI 0.058 -0.039 -0.047 -0.099 0.000
## PAPFO 0.111 -0.037 0.035 0.009 0.120 0.000
## FORMBO 0.026 -0.024 -0.003 0.016 0.141 0.004 0.000
## SURDEV 0.191 -0.002 0.051 0.022 0.090 0.012 0.015 0.000
## HIDFIG 0.146 -0.008 0.045 0.063 0.064 -0.015 0.046 -0.006 0.000
## RPM 0.299 0.186 0.202 0.145 0.043 0.010 -0.048 -0.023 -0.007
## AUDLS -0.030 0.054 0.093 0.042 0.053 -0.031 -0.025 0.045 -0.018
## IDENPIC 0.040 0.020 0.001 -0.114 0.244 0.074 0.192 0.178 0.191
## FINA 0.015 -0.006 -0.057 -0.107 0.049 -0.089 -0.018 -0.012 0.150
## NUMCOM -0.042 0.017 -0.042 -0.074 0.039 -0.086 -0.010 -0.061 0.077
## WORDTRAN 0.091 0.023 0.036 0.041 0.251 0.045 0.070 0.098 0.130
## CAMOWORD 0.017 -0.036 -0.025 -0.017 -0.035 -0.045 -0.032 0.011 0.076
## STRGEST 0.038 -0.038 -0.020 0.101 0.027 0.063 0.055 0.086 0.086
## HARGEST 0.064 -0.027 0.026 0.020 0.062 0.100 0.194 0.175 0.119
## FILMMEM 0.230 0.075 0.090 -0.056 0.153 0.155 0.125 0.169 0.193
## RPM AUDLS IDENPI FINA NUMCOM WORDTR CAMOWO STRGES HARGES FILMME
## VOCAB
## INFO
## COMP
## BD
## OA
## PICCOM
## PICARR
## SIM
## ARITH
## DIGS
## DSC
## WORDBEEN
## READVOC
## READCOMP
## CONCMAST
## LANEX
## LANSP
## LANME
## VISNS
## NARITHO
## LS
## ARITHCOMP
## ARITHCONC
## ARITHAPPL
## USETHI
## PAPFO
## FORMBO
## SURDEV
## HIDFIG
## RPM 0.000
## AUDLS 0.047 0.000
## IDENPIC 0.159 -0.020 0.000
## FINA 0.071 -0.097 0.065 0.000
## NUMCOM 0.022 0.021 0.132 0.141 0.000
## WORDTRAN 0.173 -0.047 -0.018 -0.019 -0.039 0.000
## CAMOWORD 0.135 0.066 -0.004 0.052 -0.012 -0.034 0.000
## STRGEST 0.083 -0.099 0.031 0.026 -0.058 0.013 0.091 0.000
## HARGEST 0.078 -0.001 0.171 -0.061 -0.058 0.052 0.070 0.001 0.000
## FILMMEM 0.201 0.151 0.305 0.171 0.197 0.182 0.078 -0.057 -0.020 0.000
length(which(resid(SNOW.fit, "cor")$cov > 0.094)); length(which(resid(SNOW.fit, "cor")$cov > 0.171))
## [1] 272
## [1] 74
There were numerous violations of local independence with and without p value scaling. This can be reduced by finding a better-fitting model and the result doesn’t really change.
lowerMGONE <- '
1
0.40135389 1
0.38441893 0.342538786 1
0.329460795 0.321949636 0.23852148 1
0.512549213 0.395743981 0.43053329 0.292910335 1
0.256631335 0.204037798 0.274610516 0.251344309 0.157799514 1
0.218707712 0.316400392 0.207538646 0.373419808 0.31104699 0.231387586 1
0.242453698 0.304949422 0.204973157 0.420894253 0.125097024 0.223774683 0.246478928 1
0.429345974 0.465406379 0.268342987 0.422306344 0.352301969 0.281069595 0.567353345 0.289807576 1
0.247361024 0.191150985 0.134611982 0.206552909 0.160722176 0.138391141 0.130232689 0.187796421 0.189476933 1
0.263051094 0.273339984 0.175386693 0.21074566 0.225277134 0.20922631 0.130279471 0.106391243 0.152799181 0.266610634 1
0.135246773 0.170430852 0.122232544 0.159254016 0.166528587 0.249778134 0.10222489 0.131029801 0.199445688 0.14739006 0.079479849 1
0.396392495 0.252031934 0.352830183 0.121883151 0.380509755 0.164772727 0.226396464 0.065912375 0.27863417 0.122126885 0.101354366 0.152567791 1
0.365449229 0.235275945 0.224887721 0.06555788 0.219738085 0.4413484 0.193668718 0.068700884 0.279526244 0.279058633 0.321978076 0.131908626 0.166581759 1
0.197625056 0.298706389 0.10252901 0.308338465 0.12297328 0.184746812 0.409839065 0.295120904 0.425467891 0.155206749 0.093717015 0.049180787 0.08078908 0.179514946 1
0.21051328 0.259267369 0.061213031 0.169285114 0.012735369 0.257960942 0.118731306 0.081644013 0.200048466 0.258172293 0.051511728 0.13333726 -0.019230728 0.452192287 0.119629979 1
0.44347741 0.409302381 0.197934191 0.203965 0.283184435 0.19758256 0.151656989 0.104010048 0.347536715 0.335725254 0.17887026 0.128347233 0.244972386 0.327224029 0.148143989 0.261281087 1
0.435682183 0.26102992 0.241044911 0.288045865 0.376100299 0.197638693 0.219556794 0.263120746 0.293854699 0.186229396 0.208298086 0.11302032 0.186313526 0.187231143 0.229012809 0.032073897 0.258599113 1
0.671170839 0.295872157 0.250929156 0.345129952 0.446749945 0.154042937 0.195714527 0.184399411 0.389505477 0.205266741 0.169880617 0.129209799 0.365696693 0.228317603 0.210544636 0.16644072 0.487814108 0.360337482 1
0.410255106 0.08397219 0.271050588 0.234603173 0.34919482 -0.015605367 0.140120227 -0.006051191 0.216413202 0.210522527 0.116748902 -0.011616895 0.352751432 0.122605647 0.158211956 0.019006432 0.255954272 0.257200003 0.47418777 1
0.39643875 0.281371301 0.190077223 0.245868772 0.406653359 0.254208431 0.343612935 0.16674893 0.444388237 0.27380033 0.107162385 0.072021621 0.357448257 0.226713698 0.211678189 0.162677945 0.416114949 0.312734027 0.429869615 0.292772043 1
0.592782813 0.114390144 0.258253268 0.254465666 0.414894159 0.11346424 0.149774621 0.108588045 0.223051262 0.209276861 0.024488496 0.079648516 0.352508288 0.194013526 0.026756008 -0.017181525 0.371248734 0.33107905 0.575792579 0.477299447 0.441443886 1
0.56051198 0.160430805 0.208328401 0.177169939 0.356751154 0.061250973 0.132380593 -0.062404496 0.279716291 0.205837106 0.159963138 -0.002312414 0.414808087 0.230380902 0.037040731 0.152655172 0.382607832 0.209370239 0.612817598 0.414986061 0.348647541 0.524894405 1
0.32258633 0.229496243 0.230373654 0.339703164 0.328488148 0.380001 0.424978958 0.149204008 0.506217112 0.155613727 0.114247974 0.260207031 0.180276744 0.276198911 0.380458412 0.096567029 0.228983645 0.329312134 0.247017439 0.227832451 0.329980273 0.265238539 0.158807466 1
0.268831075 0.177321887 0.347406613 0.052304444 0.24239521 0.058427007 0.017759711 -0.030547869 0.130298419 0.164054412 0.217470335 0.085518146 0.248099764 0.287134943 0.04102976 0.041511623 0.053551601 0.146694175 0.15599148 0.263185071 0.142786829 0.186775722 0.144781993 0.048574253 1
0.176368712 0.16124765 0.17936279 0.319039035 0.057010327 0.446698457 0.142312215 0.151410867 0.283050637 0.164297651 0.137178265 0.084434772 0.133980852 0.470592308 0.126982549 0.416465134 0.239181828 0.062751275 0.192701814 0.096155346 0.322364607 0.144209141 0.145102659 0.20503853 0.147340533 1
0.462042281 0.354459483 0.475697823 0.203410888 0.459480952 0.082562863 0.2477689 0.131478095 0.321097787 0.179484395 0.255051661 0.102207349 0.42845103 0.276214748 0.064632347 0.054739159 0.174054142 0.271240772 0.317512929 0.284046467 0.379522583 0.372659971 0.294523012 0.211525501 0.409525375 0.204499457 1
0.370677368 0.298205153 0.321668191 0.335794 0.370365256 0.190545138 0.238521659 0.258873011 0.311588054 0.1308883 0.224965396 0.112620345 0.438679772 0.23797785 0.149191041 0.014455745 0.342138213 0.245132323 0.362494277 0.308783041 0.523231898 0.329915569 0.33225342 0.283034495 0.279573766 0.278436656 0.452630505 1
0.339172671 0.128040509 0.266312379 0.085855451 0.217815504 0.107135175 0.072398997 0.095701513 0.187926735 0.087093895 0.206426669 0.063020546 0.25708265 0.229561467 -0.127334706 0.158076158 0.115649671 0.095516327 0.25657829 0.1742605 0.173849076 0.265458975 0.371859382 -0.00507369 0.318010183 0.212837811 0.3832608 0.306288056 1
0.296265132 0.2164265 0.15514279 0.305663138 0.227057604 0.462438601 0.208856264 0.041900101 0.302191483 0.154539985 0.19416672 0.231934366 0.20034525 0.422477554 0.217318235 0.278685333 0.251980896 0.07993121 0.243070109 0.133426184 0.295212926 0.217735049 0.16205328 0.32607026 0.111084978 0.496245842 0.296218141 0.235498971 0.10690197 1
0.484812512 0.348249027 0.303609126 0.399946414 0.316290793 0.479227675 0.364631901 0.429824576 0.521286223 0.261372647 0.18750348 0.119869229 0.205378486 0.187210191 0.30002536 0.095732559 0.337606182 0.443090351 0.43533648 0.300356201 0.492203192 0.269422595 0.249764139 0.349613739 0.04540852 0.197147924 0.191375524 0.460503129 0.204794093 0.186837275 1
0.370789029 0.575723396 0.375587377 0.38327454 0.325337188 0.295049029 0.4238262 0.349725961 0.54058573 0.26605091 0.2225422 0.198557645 0.229948127 0.239985661 0.308658869 0.161451249 0.481523938 0.381864581 0.277636759 0.102216899 0.343227639 0.092303272 0.071577427 0.281981809 0.228550087 0.15876543 0.36496075 0.496562332 0.179025957 0.15841228 0.428103477 1
0.467023412 0.409381323 0.238704574 0.291700585 0.484044877 0.373321629 0.272340739 0.159531706 0.478621233 0.147688527 0.22521691 0.133604548 0.339246085 0.300316468 0.123293246 0.023799385 0.380158308 0.290812887 0.398945346 0.162990394 0.340004964 0.282280819 0.267023831 0.320447573 0.220050908 0.247191883 0.366784958 0.379767889 0.25557905 0.376345103 0.385546113 0.437916231 1
0.592247745 0.232935359 0.090540394 0.169304307 0.261783446 0.113690441 0.033462778 0.162301268 0.261253457 0.256294489 0.188673843 0.063469832 0.151378001 0.189646183 0.105730329 0.072440251 0.514766807 0.360857856 0.62120754 0.394529779 0.188483652 0.512607132 0.475413137 0.069490726 0.155513449 0.089241397 0.206780075 0.272888931 0.233303294 0.194005713 0.462120505 0.33693959 0.361980828 1
0.474452009 0.4469245 0.453339833 0.304329805 0.464847231 0.228156657 0.264245654 0.204847715 0.327560049 0.22185281 0.360839389 0.179383347 0.282217844 0.255560179 0.101478815 0.072823341 0.357000717 0.268655695 0.315342921 0.300318162 0.329960598 0.156171241 0.245397661 0.227115999 0.316608263 0.163466115 0.418057485 0.461449531 0.236648702 0.270042322 0.286696611 0.414626263 0.479229714 0.308310946 1
0.520372819 0.305163597 0.336828073 0.353051132 0.427468298 0.215639766 0.310809044 0.256176632 0.385714527 0.170887619 0.288153515 0.037705975 0.296094015 0.234391335 0.276967547 -0.030011705 0.358664941 0.442770475 0.542078604 0.494786892 0.240992141 0.383357408 0.354252879 0.252004728 0.297505279 0.074679428 0.357377094 0.445343849 0.273499317 0.127658889 0.578824018 0.382283823 0.365092773 0.5053603 0.33518301 1
'
nMGONE <- 149
MGONE.cor = getCov(lowerMGONE, names = c("VERCO", "VAL", "SPAR", "BLEN", "CONCF", "VISMAT", "NUMREV", "INCWOR", "AUDWKMEM", "RETFLU", "PICREC", "AUDAT", "ANALSYN", "DECSP", "MEMWRD", "RAPPIC", "STRYREC", "ORACOM", "VOCAB", "SIMIL", "ARI", "INFO", "COMP", "LNS", "PICCOM", "DSC", "BD", "MATR", "PICARR", "SYMS", "DEFS", "REBL", "LOGST", "AUDCOM", "MYSCO", "DOUME"))
lowerMGONEWJ <- '1
0.40135389 1
0.38441893 0.342538786 1
0.329460795 0.321949636 0.23852148 1
0.512549213 0.395743981 0.43053329 0.292910335 1
0.256631335 0.204037798 0.274610516 0.251344309 0.157799514 1
0.218707712 0.316400392 0.207538646 0.373419808 0.31104699 0.231387586 1
0.242453698 0.304949422 0.204973157 0.420894253 0.125097024 0.223774683 0.246478928 1
0.429345974 0.465406379 0.268342987 0.422306344 0.352301969 0.281069595 0.567353345 0.289807576 1
0.247361024 0.191150985 0.134611982 0.206552909 0.160722176 0.138391141 0.130232689 0.187796421 0.189476933 1
0.263051094 0.273339984 0.175386693 0.21074566 0.225277134 0.20922631 0.130279471 0.106391243 0.152799181 0.266610634 1
0.135246773 0.170430852 0.122232544 0.159254016 0.166528587 0.249778134 0.10222489 0.131029801 0.199445688 0.14739006 0.079479849 1
0.396392495 0.252031934 0.352830183 0.121883151 0.380509755 0.164772727 0.226396464 0.065912375 0.27863417 0.122126885 0.101354366 0.152567791 1
0.365449229 0.235275945 0.224887721 0.06555788 0.219738085 0.4413484 0.193668718 0.068700884 0.279526244 0.279058633 0.321978076 0.131908626 0.166581759 1
0.197625056 0.298706389 0.10252901 0.308338465 0.12297328 0.184746812 0.409839065 0.295120904 0.425467891 0.155206749 0.093717015 0.049180787 0.08078908 0.179514946 1
0.21051328 0.259267369 0.061213031 0.169285114 0.012735369 0.257960942 0.118731306 0.081644013 0.200048466 0.258172293 0.051511728 0.13333726 -0.019230728 0.452192287 0.119629979 1
0.44347741 0.409302381 0.197934191 0.203965 0.283184435 0.19758256 0.151656989 0.104010048 0.347536715 0.335725254 0.17887026 0.128347233 0.244972386 0.327224029 0.148143989 0.261281087 1
0.435682183 0.26102992 0.241044911 0.288045865 0.376100299 0.197638693 0.219556794 0.263120746 0.293854699 0.186229396 0.208298086 0.11302032 0.186313526 0.187231143 0.229012809 0.032073897 0.258599113 1'
lowerMGONEWA <- '1
0.47418777 1
0.429869615 0.292772043 1
0.575792579 0.477299447 0.441443886 1
0.612817598 0.414986061 0.348647541 0.524894405 1
0.247017439 0.227832451 0.329980273 0.265238539 0.158807466 1
0.15599148 0.263185071 0.142786829 0.186775722 0.144781993 0.048574253 1
0.192701814 0.096155346 0.322364607 0.144209141 0.145102659 0.20503853 0.147340533 1
0.317512929 0.284046467 0.379522583 0.372659971 0.294523012 0.211525501 0.409525375 0.204499457 1
0.362494277 0.308783041 0.523231898 0.329915569 0.33225342 0.283034495 0.279573766 0.278436656 0.452630505 1
0.25657829 0.1742605 0.173849076 0.265458975 0.371859382 -0.00507369 0.318010183 0.212837811 0.3832608 0.306288056 1
0.243070109 0.133426184 0.295212926 0.217735049 0.16205328 0.32607026 0.111084978 0.496245842 0.296218141 0.235498971 0.10690197 1'
lowerMGONEKA <- '1
0.428103477 1
0.385546113 0.437916231 1
0.462120505 0.33693959 0.361980828 1
0.286696611 0.414626263 0.479229714 0.308310946 1
0.578824018 0.382283823 0.365092773 0.5053603 0.33518301 1'
MGONEWJ.cor = getCov(lowerMGONEWJ, names = c("VERCO", "VAL", "SPAR", "BLEN", "CONCF", "VISMAT", "NUMREV", "INCWOR", "AUDWKMEM", "RETFLU", "PICREC", "AUDAT", "ANALSYN", "DECSP", "MEMWRD", "RAPPIC", "STRYREC", "ORACOM"))
MGONEWA.cor = getCov(lowerMGONEWA, names = c("VOCAB", "SIMIL ", "ARI", "INFO", "COMP", "LNS", "PICCOM", "DSC", "BD", "MATR", "PICARR", "SYMS"))
MGONEKA.cor = getCov(lowerMGONEKA, names = c("DEFS", "REBL", "LOGST", "AUDCOM", "MYSCO", "DOUME"))
fa.parallel(MGONE.cor, n.obs = nMGONE)
## Parallel analysis suggests that the number of factors = 5 and the number of components = 4
fa.parallel(MGONEWJ.cor, n.obs = nMGONE)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
fa.parallel(MGONEWA.cor, n.obs = nMGONE)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
fa.parallel(MGONEKA.cor, n.obs = nMGONE)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 1
FATOT <- fa(MGONE.cor, n.obs = nMGONE, nfactors = 5)
FATOT1 <- fa(MGONE.cor, n.obs = nMGONE, nfactors = 1)
FAWA <- fa(MGONEWJ.cor, n.obs = nMGONE, nfactors = 3)
FAWA1 <- fa(MGONEWJ.cor, n.obs = nMGONE, nfactors = 1)
FAOTH <- fa(MGONEWA.cor, n.obs = nMGONE, nfactors = 3)
FAOTH1 <- fa(MGONEWA.cor, n.obs = nMGONE, nfactors = 1)
FAKA <- fa(MGONEKA.cor, n.obs = nMGONE, nfactors = 3)
FAKA1 <- fa(MGONEKA.cor, n.obs = nMGONE, nfactors = 1)
print(FATOT$loadings)
##
## Loadings:
## MR1 MR4 MR2 MR3 MR5
## VERCO 0.562 0.277 0.112
## VAL 0.315 0.237 0.104 0.369
## SPAR 0.607
## BLEN 0.101 0.495
## CONCF 0.137 0.518 0.221
## VISMAT 0.281 0.512
## NUMREV -0.136 0.105 0.653
## INCWOR 0.402 0.296
## AUDWKMEM 0.100 0.607 0.142
## RETFLU 0.249 0.227 0.129
## PICREC 0.299 0.162 0.240
## AUDAT 0.140 0.182
## ANALSYN 0.503 -0.235
## DECSP 0.155 0.667
## MEMWRD -0.157 0.582
## RAPPIC -0.170 0.623 0.101
## STRYREC 0.517 0.241 0.133
## ORACOM 0.312 0.123 0.308 0.100
## VOCAB 0.704 0.160 -0.164
## SIMIL 0.413 0.223 -0.107 -0.268
## ARI 0.162 0.179 0.359 0.168 -0.189
## INFO 0.544 0.142 0.102 -0.416
## COMP 0.568 0.164 -0.324
## LNS 0.625 0.170 -0.168
## PICCOM 0.615 -0.246
## DSC 0.700
## BD 0.762
## MATR 0.118 0.467 0.200
## PICARR 0.158 0.442 -0.238 0.141
## SYMS 0.155 0.593 -0.136
## DEFS 0.377 0.519 0.149
## REBL 0.323 0.343 0.490
## LOGST 0.152 0.342 0.195 0.160
## AUDCOM 0.925 -0.101 0.154
## MYSCO 0.574 0.227
## DOUME 0.459 0.265 0.251 -0.162
##
## MR1 MR4 MR2 MR3 MR5
## SS loadings 3.450 3.415 3.144 2.344 1.257
## Proportion Var 0.096 0.095 0.087 0.065 0.035
## Cumulative Var 0.096 0.191 0.278 0.343 0.378
print(FAWA$loadings)
##
## Loadings:
## MR1 MR3 MR2
## VERCO 0.617 0.204
## VAL 0.343 0.295 0.148
## SPAR 0.522
## BLEN 0.607
## CONCF 0.750
## VISMAT 0.196 0.376
## NUMREV 0.634
## INCWOR 0.536
## AUDWKMEM 0.631 0.144
## RETFLU 0.103 0.343
## PICREC 0.221 0.234
## AUDAT 0.109 0.107 0.145
## ANALSYN 0.566
## DECSP 0.102 0.761
## MEMWRD 0.647 -0.149
## RAPPIC 0.108 -0.207 0.636
## STRYREC 0.312 0.347
## ORACOM 0.218 0.366
##
## MR1 MR3 MR2
## SS loadings 2.131 2.029 1.521
## Proportion Var 0.118 0.113 0.084
## Cumulative Var 0.118 0.231 0.316
print(FAOTH$loadings)
##
## Loadings:
## MR1 MR2 MR3
## VOCAB 0.811
## SIMIL 0.566
## ARI 0.374 0.384
## INFO 0.721
## COMP 0.716
## LNS 0.233 0.426 -0.140
## PICCOM 0.632
## DSC 0.600 0.122
## BD 0.166 0.581
## MATR 0.221 0.267 0.336
## PICARR 0.559
## SYMS 0.697
##
## MR1 MR2 MR3
## SS loadings 2.284 1.294 1.221
## Proportion Var 0.190 0.108 0.102
## Cumulative Var 0.190 0.298 0.400
print(FAKA$loadings)
##
## Loadings:
## MR2 MR1 MR3
## DEFS 0.929
## REBL 0.520 0.168
## LOGST 0.687
## AUDCOM 0.245 0.256 0.203
## MYSCO 0.724
## DOUME 1.000
##
## MR2 MR1 MR3
## SS loadings 1.326 1.066 0.946
## Proportion Var 0.221 0.178 0.158
## Cumulative Var 0.221 0.399 0.556
print(FATOT1$loadings)
##
## Loadings:
## MR1
## VERCO 0.769
## VAL 0.560
## SPAR 0.503
## BLEN 0.511
## CONCF 0.623
## VISMAT 0.424
## NUMREV 0.459
## INCWOR 0.344
## AUDWKMEM 0.653
## RETFLU 0.367
## PICREC 0.356
## AUDAT 0.231
## ANALSYN 0.491
## DECSP 0.462
## MEMWRD 0.341
## RAPPIC 0.236
## STRYREC 0.573
## ORACOM 0.513
## VOCAB 0.684
## SIMIL 0.473
## ARI 0.601
## INFO 0.546
## COMP 0.518
## LNS 0.487
## PICCOM 0.337
## DSC 0.373
## BD 0.572
## MATR 0.621
## PICARR 0.369
## SYMS 0.439
## DEFS 0.650
## REBL 0.616
## LOGST 0.624
## AUDCOM 0.544
## MYSCO 0.599
## DOUME 0.653
##
## MR1
## SS loadings 9.701
## Proportion Var 0.269
print(FAWA1$loadings)
##
## Loadings:
## MR1
## VERCO 0.688
## VAL 0.633
## SPAR 0.492
## BLEN 0.535
## CONCF 0.575
## VISMAT 0.455
## NUMREV 0.517
## INCWOR 0.408
## AUDWKMEM 0.685
## RETFLU 0.384
## PICREC 0.367
## AUDAT 0.277
## ANALSYN 0.415
## DECSP 0.481
## MEMWRD 0.420
## RAPPIC 0.315
## STRYREC 0.519
## ORACOM 0.494
##
## MR1
## SS loadings 4.399
## Proportion Var 0.244
print(FAOTH1$loadings)
##
## Loadings:
## MR1
## VOCAB 0.698
## SIMIL 0.553
## ARI 0.639
## INFO 0.684
## COMP 0.632
## LNS 0.384
## PICCOM 0.358
## DSC 0.379
## BD 0.599
## MATR 0.627
## PICARR 0.429
## SYMS 0.411
##
## MR1
## SS loadings 3.593
## Proportion Var 0.299
print(FAKA1$loadings)
##
## Loadings:
## MR1
## DEFS 0.692
## REBL 0.621
## LOGST 0.627
## AUDCOM 0.623
## MYSCO 0.554
## DOUME 0.700
##
## MR1
## SS loadings 2.443
## Proportion Var 0.407
EFATOGMGONE <- c(0.769, 0.560, 0.503, 0.511, 0.632, 0.424, 0.459, 0.344, 0.653, 0.367, 0.356, 0.231, 0.491, 0.462, 0.341, 0.236, 0.573, 0.513, 0.684, 0.473, 0.601, 0.546, 0.518, 0.487, 0.337, 0.373, 0.572, 0.621, 0.369, 0.439, 0.650, 0.616, 0.624, 0.544, 0.599, 0.653)
EFATOGMGONEPsy <- c(0.769, 0.560, 0.503, 0.511, 0.632, 0.424, 0.459, 0.344, 0.653, 0.367, 0.356, 0.231, 0.491, 0.462, 0.341, 0.236, 0.573, 0.513); EFATOGMGONEPsy2 <- c(0.684, 0.473, 0.601, 0.546, 0.518, 0.487, 0.337, 0.373, 0.572, 0.621, 0.369, 0.439); EFATOGMGONEPsy3 <- c(0.650, 0.616, 0.624, 0.544, 0.599, 0.653)
EFASEPMGONE <- c(0.688, 0.633, 0.492, 0.535, 0.575, 0.455, 0.517, 0.408, 0.685, 0.384, 0.367, 0.277, 0.415, 0.481, 0.420, 0.315, 0.519, 0.494, 0.698, 0.553, 0.639, 0.684, 0.632, 0.384, 0.358, 0.379, 0.599, 0.627, 0.429, 0.411, 0.692, 0.621, 0.627, 0.623, 0.554, 0.700)
EFASEPMGONEPsy <- c(0.688, 0.633, 0.492, 0.535, 0.575, 0.455, 0.517, 0.408, 0.685, 0.384, 0.367, 0.277, 0.415, 0.481, 0.420, 0.315, 0.519, 0.494); EFASEPMGONEPsy2 <- c(0.698, 0.553, 0.639, 0.684, 0.632, 0.384, 0.358, 0.379, 0.599, 0.627, 0.429, 0.411); EFASEPMGONEPsy3 <- c(0.692, 0.621, 0.627, 0.623, 0.554, 0.700)
cor(EFATOGMGONE, EFASEPMGONE, method = "pearson"); cor(EFATOGMGONE, EFASEPMGONE, method = "spearman"); CONGO(EFATOGMGONE, EFASEPMGONE)
## [1] 0.9082599
## [1] 0.9086696
## [1] 0.9947625
cor(EFATOGMGONEPsy, EFASEPMGONEPsy, method = "pearson"); cor(EFATOGMGONEPsy, EFASEPMGONEPsy, method = "spearman"); CONGO(EFATOGMGONEPsy, EFASEPMGONEPsy)
## [1] 0.9375931
## [1] 0.9215686
## [1] 0.9943513
cor(EFATOGMGONEPsy2, EFASEPMGONEPsy2, method = "pearson"); cor(EFATOGMGONEPsy2, EFASEPMGONEPsy2, method = "spearman"); CONGO(EFATOGMGONEPsy2, EFASEPMGONEPsy2)
## [1] 0.8729544
## [1] 0.8391608
## [1] 0.9937857
cor(EFATOGMGONEPsy3, EFASEPMGONEPsy3, method = "pearson"); cor(EFATOGMGONEPsy3, EFASEPMGONEPsy3, method = "spearman"); CONGO(EFATOGMGONEPsy3, EFASEPMGONEPsy3)
## [1] 0.6061865
## [1] 0.8285714
## [1] 0.9980475
WJSO.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr'
WJSO.fit <- cfa(WJSO.model, sample.cov = MGONEWJ.cor, sample.nobs = nMGONE, std.lv = T, orthogonal = T, check.gradient = F)
summary(WJSO.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 42 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 39
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 144.273
## Degrees of freedom 114
## P-value (Chi-square) 0.029
##
## Model Test Baseline Model:
##
## Test statistic 711.040
## Degrees of freedom 136
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.947
## Tucker-Lewis Index (TLI) 0.937
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3302.259
## Loglikelihood unrestricted model (H1) -3230.123
##
## Akaike (AIC) 6682.519
## Bayesian (BIC) 6799.672
## Sample-size adjusted Bayesian (BIC) 6676.248
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.042
## 90 Percent confidence interval - lower 0.014
## 90 Percent confidence interval - upper 0.062
## P-value RMSEA <= 0.05 0.721
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.063
##
## 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
## Gf =~
## VERCO 0.459 0.075 6.155 0.000 0.775 0.777
## SPAR 0.325 0.064 5.110 0.000 0.548 0.550
## CONCF 0.402 0.069 5.850 0.000 0.680 0.682
## ANALSYN 0.297 0.062 4.791 0.000 0.501 0.503
## ORACOM 0.314 0.063 4.991 0.000 0.530 0.532
## Gm =~
## NUMREV 0.423 0.066 6.381 0.000 0.661 0.663
## AUDWKMEM 0.546 0.083 6.556 0.000 0.855 0.857
## MEMWRD 0.332 0.063 5.279 0.000 0.520 0.521
## Gsp =~
## VISMAT 0.436 0.081 5.398 0.000 0.598 0.600
## PICREC 0.324 0.075 4.296 0.000 0.445 0.446
## DECSP 0.511 0.091 5.592 0.000 0.701 0.704
## Gv =~
## BLEN 0.542 0.114 4.761 0.000 0.753 0.756
## INCWOR 0.400 0.079 5.085 0.000 0.555 0.557
## Glr =~
## VAL 0.289 0.108 2.668 0.008 0.685 0.687
## RETFLU 0.174 0.071 2.472 0.013 0.413 0.414
## RAPPIC 0.164 0.067 2.423 0.015 0.387 0.389
## STRYREC 0.255 0.095 2.670 0.008 0.604 0.606
## WJg =~
## Gf 1.361 0.288 4.728 0.000 0.806 0.806
## Gm 1.203 0.246 4.888 0.000 0.769 0.769
## Gsp 0.941 0.218 4.315 0.000 0.685 0.685
## Gv 0.963 0.245 3.938 0.000 0.694 0.694
## Glr 2.147 0.879 2.443 0.015 0.906 0.906
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VERCO 0.393 0.070 5.596 0.000 0.393 0.396
## .SPAR 0.693 0.089 7.785 0.000 0.693 0.698
## .CONCF 0.531 0.077 6.900 0.000 0.531 0.535
## .ANALSYN 0.742 0.093 7.973 0.000 0.742 0.747
## .ORACOM 0.712 0.091 7.862 0.000 0.712 0.717
## .NUMREV 0.557 0.081 6.903 0.000 0.557 0.560
## .AUDWKMEM 0.263 0.081 3.258 0.001 0.263 0.265
## .MEMWRD 0.723 0.092 7.890 0.000 0.723 0.728
## .VISMAT 0.635 0.099 6.407 0.000 0.635 0.640
## .PICREC 0.795 0.103 7.696 0.000 0.795 0.801
## .DECSP 0.501 0.104 4.807 0.000 0.501 0.505
## .BLEN 0.426 0.130 3.288 0.001 0.426 0.429
## .INCWOR 0.685 0.103 6.677 0.000 0.685 0.690
## .VAL 0.524 0.086 6.068 0.000 0.524 0.528
## .RETFLU 0.823 0.102 8.093 0.000 0.823 0.828
## .RAPPIC 0.843 0.103 8.170 0.000 0.843 0.849
## .STRYREC 0.629 0.089 7.051 0.000 0.629 0.633
## .Gf 1.000 0.351 0.351
## .Gm 1.000 0.409 0.409
## .Gsp 1.000 0.531 0.531
## .Gv 1.000 0.519 0.519
## .Glr 1.000 0.178 0.178
## WJg 1.000 1.000 1.000
WASO.model <- '
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm'
WASO.fit <- cfa(WASO.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T, orthogonal = T, check.gradient = F)
summary(WASO.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 30 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 27
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 63.967
## Degrees of freedom 51
## P-value (Chi-square) 0.105
##
## Model Test Baseline Model:
##
## Test statistic 532.934
## Degrees of freedom 66
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.972
## Tucker-Lewis Index (TLI) 0.964
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2296.558
## Loglikelihood unrestricted model (H1) -2264.575
##
## Akaike (AIC) 4647.117
## Bayesian (BIC) 4728.223
## Sample-size adjusted Bayesian (BIC) 4642.776
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.041
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.070
## P-value RMSEA <= 0.05 0.657
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.056
##
## 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 =~
## VOCAB 0.543 0.070 7.698 0.000 0.799 0.802
## SIMIL 0.408 0.065 6.229 0.000 0.600 0.602
## INFO 0.503 0.068 7.354 0.000 0.741 0.744
## COMP 0.489 0.068 7.208 0.000 0.721 0.723
## Gv =~
## PICCOM 0.264 0.066 3.993 0.000 0.452 0.453
## BD 0.410 0.082 4.980 0.000 0.701 0.704
## MATR 0.411 0.083 4.983 0.000 0.704 0.706
## PICARR 0.280 0.067 4.144 0.000 0.478 0.480
## Gs =~
## DSC 0.548 0.091 6.028 0.000 0.679 0.681
## SYMS 0.586 0.099 5.930 0.000 0.726 0.728
## Gsm =~
## ARI 0.721 0.083 8.695 0.000 0.721 0.724
## LNS 0.434 0.089 4.886 0.000 0.434 0.435
## WAg =~
## Gc 1.081 0.213 5.079 0.000 0.734 0.734
## Gv 1.388 0.349 3.980 0.000 0.811 0.811
## Gs 0.731 0.175 4.186 0.000 0.590 0.590
## Gsm 1.000 1.000 1.000
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Gsm 0.000 0.000 0.000
## .VOCAB 0.354 0.063 5.587 0.000 0.354 0.357
## .SIMIL 0.633 0.082 7.691 0.000 0.633 0.637
## .INFO 0.444 0.068 6.534 0.000 0.444 0.447
## .COMP 0.474 0.070 6.782 0.000 0.474 0.477
## .PICCOM 0.789 0.099 7.967 0.000 0.789 0.795
## .BD 0.502 0.083 6.015 0.000 0.502 0.505
## .MATR 0.498 0.083 5.978 0.000 0.498 0.502
## .PICARR 0.765 0.097 7.861 0.000 0.765 0.770
## .DSC 0.532 0.116 4.585 0.000 0.532 0.536
## .SYMS 0.466 0.125 3.739 0.000 0.466 0.470
## .ARI 0.473 0.084 5.624 0.000 0.473 0.476
## .LNS 0.805 0.100 8.017 0.000 0.805 0.811
## .Gc 1.000 0.461 0.461
## .Gv 1.000 0.342 0.342
## .Gs 1.000 0.652 0.652
## WAg 1.000 1.000 1.000
KASO.model <- '
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR'
KASO.fit <- cfa(KASO.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T, orthogonal = T, check.gradient = F)
## 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(KASO.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 22 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 14
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 5.098
## Degrees of freedom 7
## P-value (Chi-square) 0.648
##
## Model Test Baseline Model:
##
## Test statistic 250.974
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 1.000
## Tucker-Lewis Index (TLI) 1.017
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1142.583
## Loglikelihood unrestricted model (H1) -1140.034
##
## Akaike (AIC) 2313.166
## Bayesian (BIC) 2355.222
## Sample-size adjusted Bayesian (BIC) 2310.916
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.000
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.082
## P-value RMSEA <= 0.05 0.823
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.025
##
## 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
## VERB =~
## DEFS 0.383 NA 0.739 0.742
## AUDCOM 0.335 NA 0.648 0.650
## DOUME 0.396 NA 0.766 0.769
## LEAR =~
## REBL 0.338 NA 0.660 0.663
## LOGST 0.358 NA 0.698 0.700
## MYSCO 0.324 NA 0.633 0.635
## Kg =~
## VERB 1.654 NA 0.856 0.856
## LEAR 1.676 NA 0.859 0.859
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .DEFS 0.446 NA 0.446 0.449
## .AUDCOM 0.573 NA 0.573 0.577
## .DOUME 0.406 NA 0.406 0.409
## .REBL 0.557 NA 0.557 0.561
## .LOGST 0.506 NA 0.506 0.510
## .MYSCO 0.592 NA 0.592 0.596
## .VERB 1.000 0.268 0.268
## .LEAR 1.000 0.263 0.263
## Kg 1.000 1.000 1.000
WJWANo.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
WJg ~~ 0*WAg'
WJWA.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
WJg ~~ WAg'
WJWAID.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
WJg ~~ 1*WAg'
WJWANo.fit <- cfa(WJWANo.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T)
WJWA.fit <- cfa(WJWA.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = 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"
WJWAID.fit <- cfa(WJWAID.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = 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"
round(cbind("No Relationship" = fitMeasures(WJWANo.fit, FITM),
"Free Relationship" = fitMeasures(WJWA.fit, FITM),
"Identical" = fitMeasures(WJWAID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 782.762 654.697 656.120
## df 369.000 368.000 369.000
## npar 66.000 67.000 66.000
## cfi 0.704 0.795 0.794
## rmsea 0.087 0.072 0.072
## rmsea.ci.lower 0.078 0.063 0.063
## rmsea.ci.upper 0.095 0.081 0.081
## aic 11345.063 11218.998 11218.421
## bic 11543.324 11420.262 11416.682
summary(WJWA.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 64 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 67
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 654.697
## Degrees of freedom 368
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1803.068
## Degrees of freedom 406
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.795
## Tucker-Lewis Index (TLI) 0.774
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -5542.499
## Loglikelihood unrestricted model (H1) -5215.150
##
## Akaike (AIC) 11218.998
## Bayesian (BIC) 11420.262
## Sample-size adjusted Bayesian (BIC) 11208.226
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.072
## 90 Percent confidence interval - lower 0.063
## 90 Percent confidence interval - upper 0.081
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.086
##
## 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
## Gf =~
## VERCO 0.276 0.082 3.369 0.001 0.787 0.789
## SPAR 0.183 0.058 3.152 0.002 0.523 0.524
## CONCF 0.234 0.070 3.323 0.001 0.667 0.669
## ANALSYN 0.190 0.060 3.182 0.001 0.542 0.544
## ORACOM 0.178 0.057 3.128 0.002 0.508 0.510
## Gm =~
## NUMREV 0.474 0.063 7.535 0.000 0.653 0.656
## AUDWKMEM 0.633 0.076 8.297 0.000 0.873 0.876
## MEMWRD 0.362 0.063 5.703 0.000 0.500 0.501
## Gsp =~
## VISMAT 0.444 0.077 5.774 0.000 0.584 0.586
## PICREC 0.328 0.075 4.393 0.000 0.431 0.432
## DECSP 0.555 0.090 6.194 0.000 0.730 0.733
## Gv =~
## BLEN 0.237 0.062 3.835 0.000 0.476 0.478
## INCWOR 0.166 0.054 3.094 0.002 0.335 0.336
## Glr =~
## VAL 0.377 0.072 5.212 0.000 0.606 0.608
## RETFLU 0.273 0.065 4.191 0.000 0.440 0.441
## RAPPIC 0.232 0.063 3.670 0.000 0.374 0.375
## STRYREC 0.430 0.079 5.427 0.000 0.692 0.694
## WJg =~
## Gf 2.672 0.854 3.129 0.002 0.937 0.937
## Gm 0.950 0.163 5.840 0.000 0.689 0.689
## Gsp 0.855 0.178 4.811 0.000 0.650 0.650
## Gv 0.384 1.464 0.262 0.793 0.191 0.191
## Glr 1.262 0.267 4.735 0.000 0.784 0.784
## Gc =~
## VOCAB 0.521 0.063 8.289 0.000 0.829 0.832
## SIMIL 0.370 0.058 6.356 0.000 0.588 0.590
## INFO 0.451 0.060 7.546 0.000 0.718 0.720
## COMP 0.450 0.060 7.533 0.000 0.716 0.719
## Gv =~
## PICCOM 0.203 0.058 3.520 0.000 0.409 0.410
## BD 0.334 0.076 4.397 0.000 0.671 0.674
## MATR 0.334 0.076 4.400 0.000 0.673 0.675
## PICARR 0.220 0.060 3.685 0.000 0.442 0.444
## Gs =~
## DSC 0.526 0.082 6.431 0.000 0.645 0.647
## SYMS 0.624 0.098 6.343 0.000 0.765 0.767
## Gsm =~
## ARI 0.614 0.078 7.885 0.000 0.614 0.616
## LNS 0.501 0.080 6.239 0.000 0.501 0.503
## WAg =~
## Gc 1.238 0.206 5.994 0.000 0.778 0.778
## Gv 1.349 1.314 1.026 0.305 0.670 0.670
## Gs 0.710 0.152 4.662 0.000 0.579 0.579
## Gsm 1.000 1.000 1.000
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## WJg ~~
## WAg 1.048 0.043 24.261 0.000 1.048 1.048
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Gsm 0.000 0.000 0.000
## .VERCO 0.374 0.060 6.286 0.000 0.374 0.377
## .SPAR 0.720 0.088 8.145 0.000 0.720 0.725
## .CONCF 0.548 0.073 7.559 0.000 0.548 0.552
## .ANALSYN 0.700 0.086 8.092 0.000 0.700 0.704
## .ORACOM 0.735 0.090 8.182 0.000 0.735 0.740
## .NUMREV 0.566 0.081 6.973 0.000 0.566 0.570
## .AUDWKMEM 0.232 0.084 2.761 0.006 0.232 0.233
## .MEMWRD 0.744 0.093 7.994 0.000 0.744 0.749
## .VISMAT 0.652 0.098 6.665 0.000 0.652 0.656
## .PICREC 0.808 0.103 7.815 0.000 0.808 0.813
## .DECSP 0.460 0.105 4.381 0.000 0.460 0.463
## .BLEN 0.766 0.095 8.050 0.000 0.766 0.771
## .INCWOR 0.881 0.105 8.385 0.000 0.881 0.887
## .VAL 0.626 0.090 6.928 0.000 0.626 0.630
## .RETFLU 0.800 0.101 7.953 0.000 0.800 0.805
## .RAPPIC 0.854 0.104 8.176 0.000 0.854 0.859
## .STRYREC 0.515 0.088 5.846 0.000 0.515 0.518
## .VOCAB 0.306 0.057 5.346 0.000 0.306 0.308
## .SIMIL 0.647 0.082 7.865 0.000 0.647 0.651
## .INFO 0.478 0.068 7.054 0.000 0.478 0.481
## .COMP 0.480 0.068 7.068 0.000 0.480 0.483
## .PICCOM 0.826 0.100 8.238 0.000 0.826 0.832
## .BD 0.543 0.078 6.927 0.000 0.543 0.546
## .MATR 0.541 0.078 6.912 0.000 0.541 0.544
## .PICARR 0.798 0.098 8.152 0.000 0.798 0.803
## .DSC 0.578 0.105 5.480 0.000 0.578 0.582
## .SYMS 0.409 0.124 3.298 0.001 0.409 0.412
## .ARI 0.616 0.078 7.885 0.000 0.616 0.620
## .LNS 0.742 0.090 8.281 0.000 0.742 0.747
## .Gf 1.000 0.123 0.123
## .Gm 1.000 0.525 0.525
## .Gsp 1.000 0.578 0.578
## .Gv 1.000 0.247 0.247
## .Glr 1.000 0.386 0.386
## WJg 1.000 1.000 1.000
## .Gc 1.000 0.395 0.395
## .Gs 1.000 0.665 0.665
## WAg 1.000 1.000 1.000
CRITR(149); CRITR(149, NP(149))
## [1] 0.1608739
## [1] 0.2622549
resid(WJWA.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## VERCO SPAR CONCF ANALSY ORACOM NUMREV AUDWKM MEMWRD VISMAT PICREC
## VERCO 0.000
## SPAR -0.030 0.000
## CONCF -0.016 0.079 0.000
## ANALSYN -0.033 0.068 0.017 0.000
## ORACOM 0.033 -0.026 0.035 -0.091 0.000
## NUMREV -0.115 -0.014 0.028 -0.004 0.004 0.000
## AUDWKMEM -0.017 -0.028 -0.026 -0.029 0.006 -0.007 0.000
## MEMWRD -0.058 -0.067 -0.093 -0.095 0.064 0.081 -0.013 0.000
## VISMAT -0.025 0.087 -0.081 -0.029 0.016 0.059 0.051 0.053 0.000
## PICREC 0.055 0.037 0.049 -0.042 0.074 0.003 -0.017 -0.003 -0.044 0.000
## DECSP 0.014 -0.009 -0.079 -0.076 -0.040 -0.021 -0.008 0.015 0.012 0.005
## BLEN 0.014 0.029 0.025 -0.095 0.084 0.181 0.165 0.161 0.089 0.091
## INCWOR 0.021 0.058 -0.063 -0.087 0.120 0.111 0.109 0.192 0.110 0.022
## VAL 0.049 0.108 0.097 0.009 0.033 0.101 0.178 0.134 0.022 0.139
## RETFLU -0.008 -0.035 -0.056 -0.054 0.021 -0.026 -0.019 0.036 0.007 0.169
## RAPPIC -0.007 -0.083 -0.171 -0.169 -0.108 -0.014 0.023 0.018 0.146 -0.031
## STRYREC 0.041 -0.069 -0.058 -0.032 -0.001 -0.094 0.019 -0.040 -0.010 0.026
## VOCAB 0.170 -0.082 0.022 0.021 0.037 -0.110 -0.019 -0.023 -0.104 -0.021
## SIMIL 0.055 0.035 0.048 0.108 0.027 -0.077 -0.074 -0.008 -0.199 -0.018
## INFO 0.159 -0.030 0.047 0.054 0.051 -0.115 -0.131 -0.176 -0.110 -0.140
## COMP 0.127 -0.079 -0.010 0.117 -0.070 -0.132 -0.074 -0.165 -0.162 -0.005
## PICCOM -0.002 0.168 0.013 0.062 -0.028 -0.148 -0.091 -0.085 -0.081 0.115
## BD 0.017 0.180 0.082 0.122 -0.016 -0.024 -0.042 -0.143 -0.147 0.086
## MATR -0.075 0.026 -0.007 0.132 -0.043 -0.034 -0.052 -0.059 -0.039 0.056
## PICARR 0.046 0.072 -0.031 0.055 -0.094 -0.107 -0.051 -0.264 -0.044 0.095
## DSC -0.114 -0.013 -0.189 -0.066 -0.125 -0.035 0.046 -0.008 0.297 0.027
## SYMS -0.048 -0.073 -0.065 -0.036 -0.142 -0.001 0.022 0.057 0.285 0.063
## ARI -0.081 -0.127 0.002 0.029 0.004 0.052 0.055 -0.011 0.008 -0.074
## LNS -0.067 -0.029 -0.002 -0.088 0.078 0.187 0.188 0.198 0.179 -0.034
## DECSP BLEN INCWOR VAL RETFLU RAPPIC STRYRE VOCAB SIMIL INFO
## VERCO
## SPAR
## CONCF
## ANALSYN
## ORACOM
## NUMREV
## AUDWKMEM
## MEMWRD
## VISMAT
## PICREC
## DECSP 0.000
## BLEN -0.138 0.000
## INCWOR -0.074 0.260 0.000
## VAL 0.008 0.118 0.162 0.000
## RETFLU 0.114 0.059 0.084 -0.077 0.000
## RAPPIC 0.312 0.044 -0.007 0.031 0.093 0.000
## STRYREC 0.068 -0.028 -0.059 -0.013 0.029 0.001 0.000
## VOCAB -0.094 0.076 -0.005 -0.027 -0.029 -0.033 0.119 0.000
## SIMIL -0.106 0.044 -0.140 -0.145 0.044 -0.122 -0.006 -0.017 0.000
## INFO -0.085 0.021 -0.055 -0.166 0.006 -0.190 0.052 -0.023 0.052 0.000
## COMP -0.048 -0.055 -0.226 -0.119 0.003 -0.019 0.064 0.015 -0.009 0.007
## PICCOM 0.113 -0.144 -0.168 0.003 0.037 -0.066 -0.146 -0.075 0.099 -0.013
## BD -0.010 -0.119 -0.095 0.068 -0.029 -0.122 -0.153 -0.062 0.015 0.044
## MATR -0.049 0.013 0.032 0.011 -0.078 -0.163 0.014 -0.017 0.039 0.001
## PICARR 0.041 -0.126 -0.053 -0.061 -0.050 0.042 -0.100 0.007 -0.003 0.049
## DSC 0.284 0.163 0.042 -0.026 0.029 0.301 0.026 -0.049 -0.076 -0.066
## SYMS 0.201 0.121 -0.088 -0.005 -0.006 0.142 -0.001 -0.044 -0.070 -0.031
## ARI -0.081 -0.010 -0.013 -0.027 0.050 -0.027 0.065 0.031 0.010 0.096
## LNS 0.025 0.130 0.002 -0.022 -0.027 -0.058 -0.058 -0.078 -0.003 -0.017
## COMP PICCOM BD MATR PICARR DSC SYMS ARI LNS
## VERCO
## SPAR
## CONCF
## ANALSYN
## ORACOM
## NUMREV
## AUDWKMEM
## MEMWRD
## VISMAT
## PICREC
## DECSP
## BLEN
## INCWOR
## VAL
## RETFLU
## RAPPIC
## STRYREC
## VOCAB
## SIMIL
## INFO
## COMP 0.000
## PICCOM -0.055 0.000
## BD -0.033 0.133 0.000
## MATR 0.004 0.003 -0.002 0.000
## PICARR 0.156 0.136 0.084 0.007 0.000
## DSC -0.064 0.014 -0.015 0.059 0.068 0.000
## SYMS -0.086 -0.047 0.036 -0.025 -0.065 0.000 0.000
## ARI 0.004 -0.077 0.018 0.161 -0.064 0.092 0.022 0.000
## LNS -0.122 -0.131 -0.083 -0.012 -0.199 0.017 0.103 0.020 0.000
length(which(resid(WJWA.fit, "cor")$cov > 0.161)); length(which(resid(WJWA.fit, "cor")$cov > 0.262))
## [1] 44
## [1] 10
WJKANo.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WJg ~~ 0*Kg'
WJKA.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WJg ~~ Kg'
WJKAID.model <- '
Gf =~ VERCO + SPAR + CONCF + ANALSYN + ORACOM
Gm =~ NUMREV + AUDWKMEM + MEMWRD
Gsp =~ VISMAT + PICREC + DECSP
Gv =~ BLEN + INCWOR
Glr =~ VAL + RETFLU + RAPPIC + STRYREC
WJg =~ Gf + Gm + Gsp + Gv + Glr
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WJg ~~ 1*Kg'
WJKANo.fit <- cfa(WJKANo.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = 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"
WJKA.fit <- cfa(WJKA.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = 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"
WJKAID.fit <- cfa(WJKAID.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T)
round(cbind("No Relationship" = fitMeasures(WJKANo.fit, FITM),
"Free Relationship" = fitMeasures(WJKA.fit, FITM),
"Identical" = fitMeasures(WJKAID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 574.977 397.811 405.708
## df 223.000 222.000 223.000
## npar 53.000 54.000 53.000
## cfi 0.690 0.845 0.839
## rmsea 0.103 0.073 0.074
## rmsea.ci.lower 0.093 0.061 0.063
## rmsea.ci.upper 0.113 0.084 0.086
## aic 8995.685 8820.519 8826.416
## bic 9154.894 8982.732 8985.625
summary(WJKA.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 59 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 54
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 397.811
## Degrees of freedom 222
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1387.619
## Degrees of freedom 253
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.845
## Tucker-Lewis Index (TLI) 0.823
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -4356.260
## Loglikelihood unrestricted model (H1) -4157.354
##
## Akaike (AIC) 8820.519
## Bayesian (BIC) 8982.732
## Sample-size adjusted Bayesian (BIC) 8811.837
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.073
## 90 Percent confidence interval - lower 0.061
## 90 Percent confidence interval - upper 0.084
## P-value RMSEA <= 0.05 0.001
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.072
##
## 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
## Gf =~
## VERCO 0.382 0.064 5.942 0.000 0.775 0.777
## SPAR 0.268 0.054 4.998 0.000 0.545 0.546
## CONCF 0.332 0.059 5.648 0.000 0.673 0.675
## ANALSYN 0.238 0.052 4.613 0.000 0.484 0.485
## ORACOM 0.273 0.054 5.057 0.000 0.555 0.556
## Gm =~
## NUMREV 0.440 0.060 7.370 0.000 0.651 0.653
## AUDWKMEM 0.592 0.074 8.036 0.000 0.875 0.878
## MEMWRD 0.337 0.060 5.627 0.000 0.498 0.500
## Gsp =~
## VISMAT 0.472 0.082 5.771 0.000 0.632 0.634
## PICREC 0.342 0.076 4.526 0.000 0.459 0.460
## DECSP 0.482 0.083 5.818 0.000 0.646 0.648
## Gv =~
## BLEN 0.529 0.101 5.245 0.000 0.728 0.731
## INCWOR 0.417 0.078 5.341 0.000 0.574 0.576
## Glr =~
## VAL 0.330 0.082 4.031 0.000 0.685 0.688
## RETFLU 0.190 0.058 3.294 0.001 0.395 0.396
## RAPPIC 0.136 0.051 2.657 0.008 0.283 0.284
## STRYREC 0.316 0.079 4.018 0.000 0.655 0.658
## WJg =~
## Gf 1.766 0.339 5.212 0.000 0.870 0.870
## Gm 1.090 0.181 6.025 0.000 0.737 0.737
## Gsp 0.891 0.186 4.802 0.000 0.665 0.665
## Gv 0.948 0.213 4.454 0.000 0.688 0.688
## Glr 1.820 0.484 3.763 0.000 0.876 0.876
## VERB =~
## DEFS 0.477 0.065 7.308 0.000 0.777 0.780
## AUDCOM 0.377 0.060 6.256 0.000 0.614 0.616
## DOUME 0.461 0.064 7.213 0.000 0.752 0.755
## LEAR =~
## REBL 0.254 0.094 2.705 0.007 0.707 0.709
## LOGST 0.232 0.086 2.687 0.007 0.647 0.649
## MYSCO 0.225 0.084 2.678 0.007 0.627 0.629
## Kg =~
## VERB 1.288 0.224 5.745 0.000 0.790 0.790
## LEAR 2.599 1.026 2.533 0.011 0.933 0.933
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## WJg ~~
## Kg 1.110 0.042 26.670 0.000 1.110 1.110
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VERCO 0.393 0.064 6.178 0.000 0.393 0.396
## .SPAR 0.697 0.087 7.983 0.000 0.697 0.701
## .CONCF 0.540 0.074 7.330 0.000 0.540 0.544
## .ANALSYN 0.759 0.093 8.164 0.000 0.759 0.765
## .ORACOM 0.686 0.086 7.947 0.000 0.686 0.690
## .NUMREV 0.569 0.079 7.179 0.000 0.569 0.573
## .AUDWKMEM 0.227 0.078 2.926 0.003 0.227 0.228
## .MEMWRD 0.745 0.093 8.054 0.000 0.745 0.750
## .VISMAT 0.594 0.099 6.002 0.000 0.594 0.598
## .PICREC 0.783 0.103 7.620 0.000 0.783 0.788
## .DECSP 0.576 0.099 5.793 0.000 0.576 0.580
## .BLEN 0.463 0.115 4.016 0.000 0.463 0.466
## .INCWOR 0.664 0.100 6.660 0.000 0.664 0.668
## .VAL 0.524 0.081 6.460 0.000 0.524 0.527
## .RETFLU 0.837 0.102 8.244 0.000 0.837 0.843
## .RAPPIC 0.913 0.108 8.452 0.000 0.913 0.919
## .STRYREC 0.564 0.082 6.844 0.000 0.564 0.568
## .DEFS 0.389 0.067 5.824 0.000 0.389 0.392
## .AUDCOM 0.616 0.081 7.568 0.000 0.616 0.620
## .DOUME 0.428 0.068 6.257 0.000 0.428 0.431
## .REBL 0.493 0.069 7.104 0.000 0.493 0.497
## .LOGST 0.575 0.075 7.638 0.000 0.575 0.579
## .MYSCO 0.601 0.077 7.763 0.000 0.601 0.605
## .Gf 1.000 0.243 0.243
## .Gm 1.000 0.457 0.457
## .Gsp 1.000 0.557 0.557
## .Gv 1.000 0.527 0.527
## .Glr 1.000 0.232 0.232
## WJg 1.000 1.000 1.000
## .VERB 1.000 0.376 0.376
## .LEAR 1.000 0.129 0.129
## Kg 1.000 1.000 1.000
resid(WJKA.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## VERCO SPAR CONCF ANALSY ORACOM NUMREV AUDWKM MEMWRD VISMAT PICREC
## VERCO 0.000
## SPAR -0.040 0.000
## CONCF -0.012 0.062 0.000
## ANALSYN 0.019 0.088 0.053 0.000
## ORACOM 0.003 -0.063 0.000 -0.084 0.000
## NUMREV -0.107 -0.021 0.028 0.023 -0.014 0.000
## AUDWKMEM -0.008 -0.039 -0.028 0.005 -0.020 -0.007 0.000
## MEMWRD -0.051 -0.073 -0.093 -0.075 0.051 0.083 -0.013 0.000
## VISMAT -0.029 0.074 -0.090 -0.013 -0.007 0.028 0.008 0.029 0.000
## PICREC 0.056 0.030 0.045 -0.028 0.060 -0.017 -0.045 -0.019 -0.083 0.000
## DECSP 0.074 0.020 -0.034 -0.016 -0.022 -0.014 0.000 0.021 0.030 0.024
## BLEN -0.011 -0.001 -0.002 -0.090 0.045 0.131 0.097 0.123 0.039 0.057
## INCWOR -0.026 0.017 -0.108 -0.101 0.071 0.056 0.033 0.149 0.057 -0.015
## VAL -0.006 0.056 0.042 -0.002 -0.031 0.026 0.075 0.077 -0.050 0.089
## RETFLU 0.012 -0.031 -0.043 -0.025 0.018 -0.037 -0.035 0.027 -0.008 0.160
## RAPPIC 0.042 -0.057 -0.134 -0.124 -0.089 -0.001 0.039 0.028 0.153 -0.025
## STRYREC 0.054 -0.076 -0.055 0.002 -0.021 -0.126 -0.026 -0.064 -0.046 0.002
## DEFS 0.022 -0.022 -0.086 -0.083 0.112 0.035 0.079 0.048 0.191 -0.022
## AUDCOM 0.227 -0.166 -0.056 -0.077 0.099 -0.227 -0.088 -0.093 -0.114 0.023
## DOUME 0.073 0.022 0.039 0.017 0.122 -0.008 -0.042 0.033 -0.063 0.086
## REBL -0.126 0.026 -0.106 -0.080 0.026 0.070 0.065 0.038 -0.015 -0.002
## LOGST 0.012 -0.081 0.089 0.055 -0.035 -0.051 0.043 -0.124 0.090 0.019
## MYSCO 0.034 0.144 0.082 0.007 -0.047 -0.049 -0.094 -0.138 -0.047 0.161
## DECSP BLEN INCWOR VAL RETFLU RAPPIC STRYRE DEFS AUDCOM DOUME
## VERCO
## SPAR
## CONCF
## ANALSYN
## ORACOM
## NUMREV
## AUDWKMEM
## MEMWRD
## VISMAT
## PICREC
## DECSP 0.000
## BLEN -0.151 0.000
## INCWOR -0.102 0.000 0.000
## VAL -0.025 0.019 0.066 0.000
## RETFLU 0.129 0.032 0.050 -0.081 0.000
## RAPPIC 0.345 0.044 -0.017 0.064 0.146 0.000
## STRYREC 0.079 -0.086 -0.124 -0.043 0.075 0.074 0.000
## DEFS -0.108 0.056 0.159 -0.064 0.024 -0.075 -0.057 0.000
## AUDCOM -0.043 -0.102 -0.052 -0.092 0.069 -0.062 0.203 -0.018 0.000
## DOUME -0.051 0.021 -0.006 -0.093 -0.059 -0.195 -0.023 -0.010 0.041 0.000
## REBL -0.077 0.014 0.059 0.133 0.011 -0.022 0.058 0.020 0.015 -0.012
## LOGST 0.010 -0.046 -0.107 0.004 -0.086 -0.144 -0.007 0.012 0.067 0.004
## MYSCO -0.025 -0.023 -0.053 0.054 -0.004 -0.089 -0.018 -0.075 0.023 -0.015
## REBL LOGST MYSCO
## VERCO
## SPAR
## CONCF
## ANALSYN
## ORACOM
## NUMREV
## AUDWKMEM
## MEMWRD
## VISMAT
## PICREC
## DECSP
## BLEN
## INCWOR
## VAL
## RETFLU
## RAPPIC
## STRYREC
## DEFS
## AUDCOM
## DOUME
## REBL 0.000
## LOGST -0.023 0.000
## MYSCO -0.031 0.071 0.000
length(which(resid(WJKA.fit, "cor")$cov > 0.161)); length(which(resid(WJKA.fit, "cor")$cov > 0.262))
## [1] 10
## [1] 2
WAKANo.model <- '
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WAg ~~ 0*Kg'
WAKA.model <- '
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WAg ~~ Kg'
WAKAID.model <- '
Gc =~ VOCAB + SIMIL + INFO + COMP
Gv =~ PICCOM + BD + MATR + PICARR
Gs =~ DSC + SYMS
Gsm =~ ARI + LNS
WAg =~ Gc + Gv + Gs + 1*Gsm
Gsm ~~ 0*Gsm
VERB =~ DEFS + AUDCOM + DOUME
LEAR =~ REBL + LOGST + MYSCO
Kg =~ VERB + LEAR
WAg ~~ 1*Kg'
WAKANo.fit <- cfa(WAKANo.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = 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"
WAKA.fit <- cfa(WAKA.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T)
WAKAID.fit <- cfa(WAKAID.model, sample.cov = MGONE.cor, sample.nobs = nMGONE, std.lv = T)
round(cbind("No Relationship" = fitMeasures(WAKANo.fit, FITM),
"Free Relationship" = fitMeasures(WAKA.fit, FITM),
"Identical" = fitMeasures(WAKAID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 408.283 310.071 310.634
## df 130.000 129.000 130.000
## npar 41.000 42.000 41.000
## cfi 0.713 0.813 0.814
## rmsea 0.120 0.097 0.097
## rmsea.ci.lower 0.107 0.083 0.083
## rmsea.ci.upper 0.133 0.111 0.110
## aic 6960.283 6864.071 6862.635
## bic 7083.445 6990.237 6985.797
summary(WAKA.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 48 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 42
##
## Number of observations 149
##
## Model Test User Model:
##
## Test statistic 310.071
## Degrees of freedom 129
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1123.125
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.813
## Tucker-Lewis Index (TLI) 0.779
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3390.036
## Loglikelihood unrestricted model (H1) -3235.000
##
## Akaike (AIC) 6864.071
## Bayesian (BIC) 6990.237
## Sample-size adjusted Bayesian (BIC) 6857.319
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.097
## 90 Percent confidence interval - lower 0.083
## 90 Percent confidence interval - upper 0.111
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.078
##
## 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 =~
## VOCAB 0.537 0.065 8.291 0.000 0.826 0.828
## SIMIL 0.391 0.060 6.486 0.000 0.601 0.603
## INFO 0.467 0.062 7.558 0.000 0.717 0.720
## COMP 0.463 0.062 7.508 0.000 0.712 0.714
## Gv =~
## PICCOM 0.201 0.059 3.400 0.001 0.434 0.436
## BD 0.308 0.078 3.974 0.000 0.665 0.667
## MATR 0.343 0.086 3.997 0.000 0.740 0.743
## PICARR 0.216 0.061 3.516 0.000 0.466 0.468
## Gs =~
## DSC 0.548 0.089 6.161 0.000 0.651 0.653
## SYMS 0.638 0.106 6.029 0.000 0.758 0.760
## Gsm =~
## ARI 0.644 0.079 8.161 0.000 0.644 0.647
## LNS 0.434 0.085 5.133 0.000 0.434 0.436
## WAg =~
## Gc 1.167 0.201 5.818 0.000 0.759 0.759
## Gv 1.913 0.537 3.562 0.000 0.886 0.886
## Gs 0.641 0.150 4.266 0.000 0.539 0.539
## Gsm 1.000 1.000 1.000
## VERB =~
## DEFS 0.416 0.073 5.697 0.000 0.743 0.746
## AUDCOM 0.359 0.067 5.353 0.000 0.643 0.645
## DOUME 0.429 0.075 5.730 0.000 0.767 0.770
## LEAR =~
## REBL 0.303 0.079 3.838 0.000 0.633 0.635
## LOGST 0.337 0.086 3.901 0.000 0.704 0.706
## MYSCO 0.315 0.081 3.871 0.000 0.658 0.661
## Kg =~
## VERB 1.482 0.325 4.565 0.000 0.829 0.829
## LEAR 1.834 0.538 3.407 0.001 0.878 0.878
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## WAg ~~
## Kg 0.959 0.053 18.234 0.000 0.959 0.959
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Gsm 0.000 0.000 0.000
## .VOCAB 0.312 0.060 5.214 0.000 0.312 0.314
## .SIMIL 0.632 0.081 7.752 0.000 0.632 0.636
## .INFO 0.479 0.069 6.943 0.000 0.479 0.482
## .COMP 0.487 0.070 7.001 0.000 0.487 0.490
## .PICCOM 0.805 0.099 8.144 0.000 0.805 0.810
## .BD 0.551 0.080 6.896 0.000 0.551 0.555
## .MATR 0.446 0.076 5.879 0.000 0.446 0.449
## .PICARR 0.776 0.096 8.049 0.000 0.776 0.781
## .DSC 0.570 0.116 4.933 0.000 0.570 0.574
## .SYMS 0.419 0.137 3.049 0.002 0.419 0.422
## .ARI 0.578 0.078 7.411 0.000 0.578 0.582
## .LNS 0.805 0.098 8.242 0.000 0.805 0.810
## .DEFS 0.441 0.072 6.143 0.000 0.441 0.444
## .AUDCOM 0.580 0.080 7.250 0.000 0.580 0.584
## .DOUME 0.405 0.071 5.737 0.000 0.405 0.407
## .REBL 0.593 0.084 7.094 0.000 0.593 0.597
## .LOGST 0.498 0.079 6.313 0.000 0.498 0.502
## .MYSCO 0.560 0.082 6.853 0.000 0.560 0.563
## .Gc 1.000 0.423 0.423
## .Gv 1.000 0.215 0.215
## .Gs 1.000 0.709 0.709
## WAg 1.000 1.000 1.000
## .VERB 1.000 0.313 0.313
## .LEAR 1.000 0.229 0.229
## Kg 1.000 1.000 1.000
resid(WAKA.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## VOCAB SIMIL INFO COMP PICCOM BD MATR PICARR DSC SYMS
## VOCAB 0.000
## SIMIL -0.026 0.000
## INFO -0.020 0.043 0.000
## COMP 0.021 -0.016 0.011 0.000
## PICCOM -0.087 0.086 -0.024 -0.065 0.000
## BD -0.054 0.013 0.049 -0.026 0.119 0.000
## MATR -0.052 0.007 -0.030 -0.025 -0.044 -0.043 0.000
## PICARR -0.004 -0.016 0.039 0.147 0.114 0.071 -0.041 0.000
## DSC -0.029 -0.065 -0.048 -0.046 0.011 -0.004 0.047 0.067 0.000
## SYMS -0.015 -0.054 -0.006 -0.060 -0.047 0.054 -0.034 -0.063 0.000 0.000
## ARI 0.023 -0.004 0.088 -0.002 -0.107 -0.003 0.098 -0.094 0.095 0.030
## LNS -0.027 0.028 0.027 -0.077 -0.120 -0.046 -0.004 -0.186 0.052 0.147
## DEFS 0.062 0.029 -0.055 -0.072 -0.184 -0.159 0.070 -0.041 -0.012 -0.056
## AUDCOM 0.299 0.160 0.232 0.197 -0.043 -0.096 -0.065 0.021 -0.091 -0.016
## DOUME 0.157 0.214 0.049 0.022 0.061 -0.005 0.042 0.020 -0.141 -0.123
## REBL -0.059 -0.143 -0.200 -0.218 0.022 0.049 0.145 -0.043 -0.029 -0.061
## LOGST 0.025 -0.110 -0.043 -0.055 -0.010 0.015 -0.012 0.009 0.038 0.133
## MYSCO -0.035 0.045 -0.148 -0.056 0.102 0.089 0.095 0.006 -0.032 0.042
## ARI LNS DEFS AUDCOM DOUME REBL LOGST MYSCO
## VOCAB
## SIMIL
## INFO
## COMP
## PICCOM
## BD
## MATR
## PICARR
## DSC
## SYMS
## ARI 0.000
## LNS 0.048 0.000
## DEFS 0.109 0.091 0.000
## AUDCOM -0.143 -0.154 -0.019 0.000
## DOUME -0.155 -0.015 0.005 0.009 0.000
## REBL -0.003 0.049 0.084 0.039 0.027 0.000
## LOGST -0.045 0.061 0.002 0.031 -0.030 -0.010 0.000
## MYSCO -0.030 -0.015 -0.072 -0.002 -0.035 -0.005 0.013 0.000
length(which(resid(WAKA.fit, "cor")$cov > 0.161)); length(which(resid(WAKA.fit, "cor")$cov > 0.262))
## [1] 8
## [1] 2
lowerMGTWO <- '
1
0.535652809 1
0.252265609 0.187793506 1
0.22740774 0.16421346 0.044433429 1
0.472714271 0.367660534 0.29553444 0.186628455 1
0.253308758 0.157274544 0.113824137 0.12495703 0.247269424 1
0.353733066 0.299465896 0.069215826 0.050047188 0.347213631 0.314374338 1
0.200552887 0.084520247 0.134562911 0.486552203 0.316923 0.084264875 0.082870413 1
0.325356581 0.292231906 0.074539297 0.202628119 0.331830132 0.236639408 0.366483083 0.206803448 1
0.619247848 0.285437159 0.210306366 0.168449258 0.328579857 0.202061477 0.220680703 0.176839769 0.23189466 1
0.143927203 -0.02751458 0.061380442 0.020962465 0.19188281 0.163361699 0.062553422 0.053831023 0.088278926 0.267313497 1
0.069637946 0.063336093 0.115741286 0.139582602 0.087675635 0.036878901 -0.035593191 0.088843384 0.096892265 0.118759529 0.057285843 1
0.126553255 0.059563933 0.13378963 0.247110633 0.164492402 0.151751959 0.135726163 0.255241018 0.217784337 0.147067693 0.071096279 0.157009936 1
0.45221464 0.345289433 0.284758607 0.225107778 0.399969048 0.195535802 0.302959722 0.234071329 0.346685478 0.345435119 0.078154065 0.17110259 0.194556795 1
0.204460871 0.181911458 0.111073065 0.040068661 0.201416341 0.500083771 0.184745841 0.103110708 0.161891085 0.262172688 0.118739426 0.121375859 0.181364311 0.119595884 1
0.322834003 0.241781764 0.162389152 0.282338485 0.250595985 0.091892941 0.28662449 0.325177975 0.349462793 0.335687312 0.250605126 0.031648573 0.176942308 0.312342035 0.052626517 1
0.176064338 0.060434961 0.067774651 0.1316876 0.194939159 0.291272627 0.062048299 0.192384453 0.192032895 0.183124241 0.335689611 0.054997564 0.101354209 0.007829457 0.296751378 0.097447447 1
0.191740045 0.226572544 0.119693169 0.163371211 0.153948437 0.216292762 0.204376059 0.077537736 0.311925186 0.189554536 0.112104337 0.031843227 0.160645856 0.220044173 0.162692253 0.235225198 0.017969648 1
0.229345829 0.140152414 0.095028476 0.085444071 0.207900194 0.722392444 0.301772226 0.134411781 0.267072275 0.235616265 0.165389016 0.038110028 0.181632925 0.066118645 0.653053132 0.123540865 0.273276458 0.129964998 1
0.319857459 0.2715127 0.146237251 0.064769396 0.167154319 0.058395083 0.00847756 0.069945588 0.14141236 0.304580431 -0.045891738 -0.01943789 0.018180315 0.250749061 0.131759353 0.089345974 -0.057152304 0.134212772 0.087258378 1
0.613054674 0.408215735 0.171771364 0.132724464 0.313913048 0.22877099 0.22446635 0.195902821 0.289837067 0.632284733 0.2230419 -0.074341023 0.085969984 0.337729068 0.153415923 0.351051241 0.160835794 0.267788957 0.170203897 0.363862332 1
0.133080192 0.029293608 0.056109872 0.078417473 0.216475854 0.55652057 0.206825905 0.128665872 0.293372682 0.196995699 0.147231166 0.040129436 0.161368599 0.041825433 0.392263532 0.108879894 0.292371631 0.207003489 0.490152624 0.049482739 0.229362333 1
0.60086456 0.430307369 0.278118094 0.196182376 0.411488869 0.221051652 0.173121681 0.226568759 0.327339724 0.570533356 0.233429485 0.006841367 0.054193386 0.361777958 0.246067021 0.28547625 0.158374092 0.283772516 0.184253615 0.292380439 0.630550798 0.241352921 1
0.213705744 0.237061648 0.134397142 0.112435475 0.204849329 0.144966555 0.114786299 -0.042971158 0.046737306 0.141008921 -0.031711847 -0.026182421 0.113380792 0.078568478 0.221104872 0.093765686 0.102955899 0.058132644 0.12105761 0.229077215 0.241380628 0.137014125 0.155215853 1
0.471314242 0.399492685 0.324235195 0.212149229 0.388310363 0.403573077 0.354862575 0.142598434 0.299655301 0.419824623 0.099189277 0.008535041 0.213539515 0.34763468 0.259284724 0.245676385 0.161704277 0.231953535 0.314983003 0.21966667 0.471339608 0.28858095 0.449236433 0.122040591 1
0.37308789 0.422388152 0.341865174 0.18377192 0.417221166 0.358180386 0.253101433 0.040997599 0.235581116 0.315547697 0.019932943 0.003045741 0.15840762 0.43034288 0.233333336 0.232405263 -0.021797805 0.23083707 0.188687644 0.370287239 0.308432377 0.193035378 0.276394988 0.337527493 0.404557448 1
0.673702192 0.381798567 0.241437371 0.164141413 0.411072526 0.171179742 0.243277157 0.136073341 0.328793075 0.638824738 0.179871061 -0.050405184 0.027673644 0.380938839 0.112579625 0.416638289 0.174955464 0.306769218 0.109408328 0.344928637 0.653900637 0.203838008 0.695189549 0.241581097 0.412965323 0.373230199 1
0.235244002 0.259480893 0.384369939 0.031664447 0.33933273 0.268463937 0.149378951 -0.004340432 0.11885517 0.252189888 -0.012662479 0.032356315 0.239151381 0.276954629 0.223471133 0.053414918 -0.019209271 0.197368673 0.256406117 0.37650037 0.248125464 0.2162129 0.226205723 0.240990423 0.304894822 0.492338202 0.183099581 1
0.530249548 0.207428717 0.028207783 0.074290907 0.26219717 0.188422404 0.107769971 0.031410296 0.174757223 0.488509565 0.214287882 -0.057296316 0.013069325 0.303758863 0.064304656 0.302797444 0.119115212 0.278931476 0.064540246 0.194833971 0.487929429 0.168552013 0.525767218 0.11558593 0.379477785 0.096377166 0.575089093 0.05988722 1
0.328513913 0.223790689 0.23453979 0.195844914 0.249373315 0.506053983 0.269702891 0.056923004 0.218917605 0.254748536 0.069143129 0.027368591 0.188780622 0.208668126 0.426138932 0.068705329 0.208891107 0.192850937 0.482721177 0.219891132 0.351793472 0.478761417 0.330103282 0.129769185 0.396652861 0.304604532 0.274770062 0.292983011 0.162146438 1
0.258580476 0.226565639 0.191120579 0.131945756 0.345982364 0.258445034 0.499642807 0.303238315 0.364117662 0.189907238 0.080463813 -0.059727748 0.270386463 0.326039216 0.127638395 0.409724467 0.189777319 0.278120909 0.198205696 0.026821901 0.24419945 0.327782131 0.299042481 0.080266917 0.404579503 0.263628345 0.311334878 0.184765175 0.193346288 0.208998532 1
'
lowerMGTWOWJ <- '1
0.535652809 1
0.252265609 0.187793506 1
0.22740774 0.16421346 0.044433429 1
0.472714271 0.367660534 0.29553444 0.186628455 1
0.253308758 0.157274544 0.113824137 0.12495703 0.247269424 1
0.353733066 0.299465896 0.069215826 0.050047188 0.347213631 0.314374338 1
0.200552887 0.084520247 0.134562911 0.486552203 0.316923 0.084264875 0.082870413 1
0.325356581 0.292231906 0.074539297 0.202628119 0.331830132 0.236639408 0.366483083 0.206803448 1
0.619247848 0.285437159 0.210306366 0.168449258 0.328579857 0.202061477 0.220680703 0.176839769 0.23189466 1
0.143927203 -0.02751458 0.061380442 0.020962465 0.19188281 0.163361699 0.062553422 0.053831023 0.088278926 0.267313497 1
0.069637946 0.063336093 0.115741286 0.139582602 0.087675635 0.036878901 -0.035593191 0.088843384 0.096892265 0.118759529 0.057285843 1
0.126553255 0.059563933 0.13378963 0.247110633 0.164492402 0.151751959 0.135726163 0.255241018 0.217784337 0.147067693 0.071096279 0.157009936 1
0.45221464 0.345289433 0.284758607 0.225107778 0.399969048 0.195535802 0.302959722 0.234071329 0.346685478 0.345435119 0.078154065 0.17110259 0.194556795 1
0.204460871 0.181911458 0.111073065 0.040068661 0.201416341 0.500083771 0.184745841 0.103110708 0.161891085 0.262172688 0.118739426 0.121375859 0.181364311 0.119595884 1
0.322834003 0.241781764 0.162389152 0.282338485 0.250595985 0.091892941 0.28662449 0.325177975 0.349462793 0.335687312 0.250605126 0.031648573 0.176942308 0.312342035 0.052626517 1
0.176064338 0.060434961 0.067774651 0.1316876 0.194939159 0.291272627 0.062048299 0.192384453 0.192032895 0.183124241 0.335689611 0.054997564 0.101354209 0.007829457 0.296751378 0.097447447 1
0.191740045 0.226572544 0.119693169 0.163371211 0.153948437 0.216292762 0.204376059 0.077537736 0.311925186 0.189554536 0.112104337 0.031843227 0.160645856 0.220044173 0.162692253 0.235225198 0.017969648 1
0.229345829 0.140152414 0.095028476 0.085444071 0.207900194 0.722392444 0.301772226 0.134411781 0.267072275 0.235616265 0.165389016 0.038110028 0.181632925 0.066118645 0.653053132 0.123540865 0.273276458 0.129964998 1'
lowerMGTWOWI <- '1
0.363862332 1
0.049482739 0.229362333 1
0.292380439 0.630550798 0.241352921 1
0.229077215 0.241380628 0.137014125 0.155215853 1
0.21966667 0.471339608 0.28858095 0.449236433 0.122040591 1
0.370287239 0.308432377 0.193035378 0.276394988 0.337527493 0.404557448 1
0.344928637 0.653900637 0.203838008 0.695189549 0.241581097 0.412965323 0.373230199 1
0.37650037 0.248125464 0.2162129 0.226205723 0.240990423 0.304894822 0.492338202 0.183099581 1
0.194833971 0.487929429 0.168552013 0.525767218 0.11558593 0.379477785 0.096377166 0.575089093 0.05988722 1
0.219891132 0.351793472 0.478761417 0.330103282 0.129769185 0.396652861 0.304604532 0.274770062 0.292983011 0.162146438 1
0.026821901 0.24419945 0.327782131 0.299042481 0.080266917 0.404579503 0.263628345 0.311334878 0.184765175 0.193346288 0.208998532 1'
nMGTWO <- 148
MGTWO.cor = getCov(lowerMGTWO, names = c("VCOMP" ,"VAL" ,"SPAR" ,"BLEN" ,"CONCF" ,"VISM" ,"NUMREV" ,"INCWRD" ,"AWKMEM" ,"GINFO" ,"RETFLU" ,"PICREC" ,"AUDAT" ,"ANALSYN" ,"DECSP" ,"MEMWRD" ,"MEMNAM" ,"PLAN" ,"PAIRCAN" ,"PICCOMP" ,"INFO" ,"DSC" ,"SIM" ,"PASSCOMP" ,"ARI" ,"BD" ,"VOCAB" ,"OBJASS" ,"COMP" ,"SYMS" ,"DIGSPA"))
MGTWOWJ.cor = getCov(lowerMGTWOWJ, names = c("VCOMP" ,"VAL" ,"SPAR" ,"BLEN" ,"CONCF" ,"VISM" ,"NUMREV" ,"INCWRD" ,"AWKMEM" ,"GINFO" ,"RETFLU" ,"PICREC" ,"AUDAT" ,"ANALSYN" ,"DECSP" ,"MEMWRD" ,"MEMNAM" ,"PLAN" ,"PAIRCAN"))
MGTWOWI.cor = getCov(lowerMGTWOWI, names = c("PICCOMP" ,"INFO" ,"DSC" ,"SIM" ,"PASSCOMP" ,"ARI" ,"BD" ,"VOCAB" ,"OBJASS" ,"COMP" ,"SYMS" ,"DIGSPA"))
fa.parallel(MGTWO.cor, n.obs = nMGTWO)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 4
fa.parallel(MGTWOWJ.cor, n.obs = nMGTWO)
## Parallel analysis suggests that the number of factors = 3 and the number of components = 2
fa.parallel(MGTWOWI.cor, n.obs = nMGTWO)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## 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 = 3 and the number of components = 2
FATOT <- fa(MGTWO.cor, n.obs = nMGTWO, nfactors = 4)
FATOT1 <- fa(MGTWO.cor, n.obs = nMGTWO, nfactors = 1)
FAWA <- fa(MGTWOWJ.cor, n.obs = nMGTWO, nfactors = 3)
FAWA1 <- fa(MGTWOWJ.cor, n.obs = nMGTWO, nfactors = 1)
FAOTH <- fa(MGTWOWI.cor, n.obs = nMGTWO, nfactors = 3)
FAOTH1 <- fa(MGTWOWI.cor, n.obs = nMGTWO, nfactors = 1)
print(FATOT$loadings)
##
## Loadings:
## MR1 MR2 MR4 MR3
## VCOMP 0.671 0.112 0.156
## VAL 0.290 0.131 0.375
## SPAR 0.130 0.380
## BLEN 0.474
## CONCF 0.186 0.349 0.251
## VISM 0.790
## NUMREV 0.189 0.348 0.125
## INCWRD 0.619 -0.109
## AWKMEM 0.106 0.135 0.448
## GINFO 0.701
## RETFLU 0.290 0.186 -0.300
## PICREC -0.112 0.180
## AUDAT -0.201 0.137 0.415 0.127
## ANALSYN 0.180 -0.126 0.392 0.335
## DECSP 0.671
## MEMWRD 0.244 0.528
## MEMNAM 0.147 0.387 0.144 -0.300
## PLAN 0.171 0.200
## PAIRCAN 0.857
## PICCOMP 0.317 -0.173 0.422
## INFO 0.773
## DSC 0.652
## SIM 0.739
## PASSCOMP 0.130 0.298
## ARI 0.302 0.224 0.189 0.226
## BD 0.103 0.689
## VOCAB 0.851
## OBJASS 0.164 0.648
## COMP 0.777 -0.181
## SYMS 0.135 0.540 0.177
## DIGSPA 0.124 0.568
##
## MR1 MR2 MR4 MR3
## SS loadings 4.066 2.950 2.229 2.025
## Proportion Var 0.131 0.095 0.072 0.065
## Cumulative Var 0.131 0.226 0.298 0.364
print(FAWA$loadings)
##
## Loadings:
## MR1 MR2 MR3
## VCOMP 0.806
## VAL 0.658 -0.111
## SPAR 0.311
## BLEN 0.611
## CONCF 0.528 0.137
## VISM 0.735
## NUMREV 0.471 0.172
## INCWRD 0.732
## AWKMEM 0.397 0.127 0.163
## GINFO 0.536
## RETFLU 0.184 0.108
## PICREC 0.169
## AUDAT 0.137 0.344
## ANALSYN 0.609 0.125
## DECSP 0.679
## MEMWRD 0.380 0.305
## MEMNAM 0.355 0.200
## PLAN 0.291
## PAIRCAN 0.934
##
## MR1 MR2 MR3
## SS loadings 2.749 2.135 1.295
## Proportion Var 0.145 0.112 0.068
## Cumulative Var 0.145 0.257 0.325
print(FAOTH$loadings)
##
## Loadings:
## MR1 MR2 MR3
## PICCOMP 0.231 0.537 -0.212
## INFO 0.704 0.127
## DSC 0.690
## SIM 0.769
## PASSCOMP 0.377
## ARI 0.352 0.154 0.351
## BD 0.699
## VOCAB 0.846
## OBJASS 0.667 0.115
## COMP 0.747 -0.184
## SYMS 0.185 0.498
## DIGSPA 0.182 0.408
##
## MR1 MR2 MR3
## SS loadings 2.596 1.476 1.091
## Proportion Var 0.216 0.123 0.091
## Cumulative Var 0.216 0.339 0.430
print(FATOT1$loadings)
##
## Loadings:
## MR1
## VCOMP 0.746
## VAL 0.534
## SPAR 0.358
## BLEN 0.299
## CONCF 0.599
## VISM 0.504
## NUMREV 0.452
## INCWRD 0.297
## AWKMEM 0.497
## GINFO 0.661
## RETFLU 0.237
## PICREC
## AUDAT 0.273
## ANALSYN 0.547
## DECSP 0.411
## MEMWRD 0.462
## MEMNAM 0.274
## PLAN 0.394
## PAIRCAN 0.445
## PICCOMP 0.369
## INFO 0.693
## DSC 0.423
## SIM 0.706
## PASSCOMP 0.290
## ARI 0.668
## BD 0.561
## VOCAB 0.715
## OBJASS 0.428
## COMP 0.500
## SYMS 0.527
## DIGSPA 0.499
##
## MR1
## SS loadings 7.504
## Proportion Var 0.242
print(FAWA1$loadings)
##
## Loadings:
## MR1
## VCOMP 0.692
## VAL 0.496
## SPAR 0.317
## BLEN 0.354
## CONCF 0.609
## VISM 0.510
## NUMREV 0.488
## INCWRD 0.383
## AWKMEM 0.544
## GINFO 0.583
## RETFLU 0.265
## PICREC 0.164
## AUDAT 0.329
## ANALSYN 0.552
## DECSP 0.447
## MEMWRD 0.487
## MEMNAM 0.321
## PLAN 0.364
## PAIRCAN 0.502
##
## MR1
## SS loadings 4.037
## Proportion Var 0.212
print(FAOTH1$loadings)
##
## Loadings:
## MR1
## PICCOMP 0.441
## INFO 0.755
## DSC 0.394
## SIM 0.744
## PASSCOMP 0.317
## ARI 0.650
## BD 0.534
## VOCAB 0.768
## OBJASS 0.430
## COMP 0.539
## SYMS 0.503
## DIGSPA 0.418
##
## MR1
## SS loadings 3.772
## Proportion Var 0.314
EFATOGMGTWO <- c(0.746, 0.534, 0.358, 0.299, 0.599, 0.504, 0.452, 0.297, 0.497, 0.661, 0.237, 0.001, 0.273, 0.547, 0.411, 0.462, 0.274, 0.394, 0.445, 0.369, 0.693, 0.423, 0.706, 0.290, 0.668, 0.561, 0.715, 0.428, 0.500, 0.527, 0.499)
EFATOGMGTWOPsy <- c(0.746, 0.534, 0.358, 0.299, 0.599, 0.504, 0.452, 0.297, 0.497, 0.661, 0.237, 0.001, 0.273, 0.547, 0.411, 0.462, 0.274, 0.394, 0.445); EFATOGMGTWOPsy2 <- c(0.369, 0.693, 0.423, 0.706, 0.290, 0.668, 0.561, 0.715, 0.428, 0.500, 0.527, 0.499)
EFASEPMGTWO <- c(0.692, 0.496, 0.317, 0.354, 0.609, 0.510, 0.488, 0.383, 0.544, 0.583, 0.265, 0.164, 0.329, 0.552, 0.447, 0.487, 0.321, 0.364, 0.502, 0.441, 0.755, 0.394, 0.744, 0.317, 0.650, 0.534, 0.768, 0.430, 0.539, 0.503, 0.418)
EFASEPMGTWOPsy <- c(0.692, 0.496, 0.317, 0.354, 0.609, 0.510, 0.488, 0.383, 0.544, 0.583, 0.265, 0.164, 0.329, 0.552, 0.447, 0.487, 0.321, 0.364, 0.502); EFASEPMGTWOPsy2 <- c(0.441, 0.755, 0.394, 0.744, 0.317, 0.650, 0.534, 0.768, 0.430, 0.539, 0.503, 0.418)
cor(EFATOGMGTWO, EFASEPMGTWO, method = "pearson"); cor(EFATOGMGTWO, EFASEPMGTWO, method = "spearman"); CONGO(EFATOGMGTWO, EFASEPMGTWO)
## [1] 0.9535556
## [1] 0.9511039
## [1] 0.9943581
cor(EFATOGMGTWOPsy, EFASEPMGTWOPsy, method = "pearson"); cor(EFATOGMGTWOPsy, EFASEPMGTWOPsy, method = "spearman"); CONGO(EFATOGMGTWOPsy, EFASEPMGTWOPsy)
## [1] 0.9645013
## [1] 0.9491228
## [1] 0.9919742
cor(EFATOGMGTWOPsy2, EFASEPMGTWOPsy2, method = "pearson"); cor(EFATOGMGTWOPsy2, EFASEPMGTWOPsy2, method = "spearman"); CONGO(EFATOGMGTWOPsy2, EFASEPMGTWOPsy2)
## [1] 0.9547785
## [1] 0.9230769
## [1] 0.9969205
WJSO.model <- '
Gf =~ VCOMP + VAL + SPAR + CONCF + NUMREV + AWKMEM + GINFO + ANALSYN + MEMWRD + PLAN
Gv =~ VISM + DECSP + MEMNAM + PAIRCAN
Gsm =~ BLEN + INCWRD + AUDAT + MEMWRD
Glr =~ RETFLU + MEMNAM
gWJ =~ Gf + Gv + Gsm + Glr'
WJSO.fit <- cfa(WJSO.model, sample.cov = MGTWOWJ.cor, sample.nobs = nMGTWO, std.lv = T, orthogonal = T, check.gradient = F)
summary(WJSO.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 40 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 42
##
## Number of observations 148
##
## Model Test User Model:
##
## Test statistic 153.539
## Degrees of freedom 129
## P-value (Chi-square) 0.069
##
## Model Test Baseline Model:
##
## Test statistic 785.258
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.961
## Tucker-Lewis Index (TLI) 0.954
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3455.162
## Loglikelihood unrestricted model (H1) -3378.393
##
## Akaike (AIC) 6994.324
## Bayesian (BIC) 7120.207
## Sample-size adjusted Bayesian (BIC) 6987.293
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.036
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.056
## P-value RMSEA <= 0.05 0.865
##
## 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
## Gf =~
## VCOMP 0.450 0.164 2.750 0.006 0.787 0.789
## VAL 0.333 0.126 2.652 0.008 0.581 0.583
## SPAR 0.192 0.083 2.298 0.022 0.335 0.336
## CONCF 0.354 0.132 2.677 0.007 0.618 0.620
## NUMREV 0.280 0.109 2.567 0.010 0.489 0.491
## AWKMEM 0.290 0.112 2.586 0.010 0.507 0.509
## GINFO 0.362 0.135 2.686 0.007 0.632 0.634
## ANALSYN 0.341 0.128 2.662 0.008 0.596 0.598
## MEMWRD 0.201 0.089 2.258 0.024 0.350 0.352
## PLAN 0.192 0.083 2.299 0.022 0.335 0.336
## Gv =~
## VISM 0.689 0.073 9.391 0.000 0.773 0.775
## DECSP 0.619 0.074 8.410 0.000 0.694 0.697
## MEMNAM 0.199 0.089 2.244 0.025 0.223 0.224
## PAIRCAN 0.824 0.076 10.875 0.000 0.924 0.927
## Gsm =~
## BLEN 0.561 0.094 5.981 0.000 0.660 0.662
## INCWRD 0.610 0.100 6.114 0.000 0.718 0.721
## AUDAT 0.324 0.085 3.820 0.000 0.381 0.382
## MEMWRD 0.244 0.089 2.750 0.006 0.287 0.288
## Glr =~
## RETFLU 0.599 0.227 2.634 0.008 0.656 0.659
## MEMNAM 0.409 0.144 2.843 0.004 0.449 0.452
## gWJ =~
## Gf 1.432 0.759 1.887 0.059 0.820 0.820
## Gv 0.507 0.151 3.353 0.001 0.452 0.452
## Gsm 0.620 0.200 3.095 0.002 0.527 0.527
## Glr 0.450 0.217 2.072 0.038 0.410 0.410
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VCOMP 0.374 0.063 5.959 0.000 0.374 0.377
## .VAL 0.655 0.084 7.782 0.000 0.655 0.660
## .SPAR 0.881 0.105 8.402 0.000 0.881 0.887
## .CONCF 0.612 0.080 7.606 0.000 0.612 0.616
## .NUMREV 0.754 0.093 8.099 0.000 0.754 0.759
## .AWKMEM 0.736 0.091 8.048 0.000 0.736 0.741
## .GINFO 0.594 0.079 7.530 0.000 0.594 0.598
## .ANALSYN 0.638 0.083 7.717 0.000 0.638 0.643
## .MEMWRD 0.700 0.089 7.877 0.000 0.700 0.706
## .PLAN 0.881 0.105 8.401 0.000 0.881 0.887
## .VISM 0.396 0.064 6.223 0.000 0.396 0.399
## .DECSP 0.511 0.070 7.324 0.000 0.511 0.515
## .MEMNAM 0.699 0.150 4.650 0.000 0.699 0.708
## .PAIRCAN 0.139 0.064 2.185 0.029 0.139 0.140
## .BLEN 0.558 0.106 5.264 0.000 0.558 0.561
## .INCWRD 0.477 0.113 4.244 0.000 0.477 0.481
## .AUDAT 0.848 0.106 7.966 0.000 0.848 0.854
## .RETFLU 0.562 0.280 2.009 0.045 0.562 0.566
## .Gf 1.000 0.328 0.328
## .Gv 1.000 0.796 0.796
## .Gsm 1.000 0.722 0.722
## .Glr 1.000 0.832 0.832
## gWJ 1.000 1.000 1.000
WISO.model <- '
Gc =~ INFO + SIM + ARI + VOCAB + COMP
Gf =~ PICCOMP + PASSCOMP + BD + OBJASS
Gwm =~ DSC + ARI + SYMS + DIGSPA
gWI =~ Gc + Gf + Gwm'
WISO.fit <- cfa(WISO.model, sample.cov = MGTWOWI.cor, sample.nobs = nMGTWO, std.lv = T, orthogonal = T, check.gradient = F)
summary(WISO.fit, stand = T, fit = T, modindices = F)
## lavaan 0.6-7 ended normally after 33 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 28
##
## Number of observations 148
##
## Model Test User Model:
##
## Test statistic 69.023
## Degrees of freedom 50
## P-value (Chi-square) 0.038
##
## Model Test Baseline Model:
##
## Test statistic 602.196
## Degrees of freedom 66
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.965
## Tucker-Lewis Index (TLI) 0.953
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2247.428
## Loglikelihood unrestricted model (H1) -2212.916
##
## Akaike (AIC) 4550.855
## Bayesian (BIC) 4634.777
## Sample-size adjusted Bayesian (BIC) 4546.168
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.051
## 90 Percent confidence interval - lower 0.012
## 90 Percent confidence interval - upper 0.078
## P-value RMSEA <= 0.05 0.460
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.057
##
## 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 =~
## INFO 0.558 0.078 7.154 0.000 0.778 0.781
## SIM 0.583 0.079 7.339 0.000 0.813 0.816
## ARI 0.209 0.079 2.641 0.008 0.291 0.292
## VOCAB 0.606 0.081 7.483 0.000 0.844 0.847
## COMP 0.462 0.073 6.293 0.000 0.643 0.646
## Gf =~
## PICCOMP 0.360 0.078 4.618 0.000 0.530 0.532
## PASSCOMP 0.284 0.073 3.900 0.000 0.418 0.420
## BD 0.512 0.095 5.366 0.000 0.753 0.756
## OBJASS 0.436 0.084 5.163 0.000 0.642 0.645
## Gwm =~
## DSC 0.362 0.096 3.793 0.000 0.590 0.592
## ARI 0.282 0.082 3.426 0.001 0.459 0.461
## SYMS 0.407 0.105 3.863 0.000 0.662 0.665
## DIGSPA 0.301 0.085 3.535 0.000 0.490 0.492
## gWI =~
## Gc 0.971 0.237 4.092 0.000 0.697 0.697
## Gf 1.081 0.300 3.609 0.000 0.734 0.734
## Gwm 1.286 0.441 2.915 0.004 0.789 0.789
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .INFO 0.388 0.058 6.707 0.000 0.388 0.390
## .SIM 0.332 0.054 6.163 0.000 0.332 0.335
## .ARI 0.550 0.079 6.961 0.000 0.550 0.554
## .VOCAB 0.280 0.051 5.499 0.000 0.280 0.282
## .COMP 0.579 0.075 7.758 0.000 0.579 0.583
## .PICCOMP 0.712 0.095 7.473 0.000 0.712 0.717
## .PASSCOMP 0.818 0.102 8.002 0.000 0.818 0.824
## .BD 0.425 0.090 4.747 0.000 0.425 0.428
## .OBJASS 0.581 0.090 6.484 0.000 0.581 0.585
## .DSC 0.645 0.096 6.748 0.000 0.645 0.649
## .SYMS 0.555 0.095 5.843 0.000 0.555 0.558
## .DIGSPA 0.753 0.100 7.531 0.000 0.753 0.758
## .Gc 1.000 0.515 0.515
## .Gf 1.000 0.461 0.461
## .Gwm 1.000 0.377 0.377
## gWI 1.000 1.000 1.000
WJWISONO.model <- '
Gf =~ VCOMP + VAL + SPAR + CONCF + NUMREV + AWKMEM + GINFO + ANALSYN + MEMWRD + PLAN
Gv =~ VISM + DECSP + MEMNAM + PAIRCAN
Gsm =~ BLEN + INCWRD + AUDAT + MEMWRD
Glr =~ RETFLU + MEMNAM
gWJ =~ Gf + Gv + Gsm + Glr
Gc =~ INFO + SIM + ARI + VOCAB + COMP
GfWI =~ PICCOMP + PASSCOMP + BD + OBJASS
Gwm =~ DSC + ARI + SYMS + DIGSPA
gWI =~ Gc + GfWI + Gwm
gWJ ~~ 0*gWI'
WJWISO.model <- '
Gf =~ VCOMP + VAL + SPAR + CONCF + NUMREV + AWKMEM + GINFO + ANALSYN + MEMWRD + PLAN
Gv =~ VISM + DECSP + MEMNAM + PAIRCAN
Gsm =~ BLEN + INCWRD + AUDAT + MEMWRD
Glr =~ RETFLU + MEMNAM
gWJ =~ Gf + Gv + Gsm + Glr
Gc =~ INFO + SIM + ARI + VOCAB + COMP
GfWI =~ PICCOMP + PASSCOMP + BD + OBJASS
Gwm =~ DSC + ARI + SYMS + DIGSPA
gWI =~ Gc + GfWI + Gwm
gWJ ~~ gWI'
WJWISOID.model <- '
Gf =~ VCOMP + VAL + SPAR + CONCF + NUMREV + AWKMEM + GINFO + ANALSYN + MEMWRD + PLAN
Gv =~ VISM + DECSP + MEMNAM + PAIRCAN
Gsm =~ BLEN + INCWRD + AUDAT + MEMWRD
Glr =~ RETFLU + MEMNAM
gWJ =~ Gf + Gv + Gsm + Glr
Gc =~ INFO + SIM + ARI + VOCAB + COMP
GfWI =~ PICCOMP + PASSCOMP + BD + OBJASS
Gwm =~ DSC + ARI + SYMS + DIGSPA
gWI =~ Gc + GfWI + Gwm
gWJ ~~ 1*gWI'
WJWINO.fit <- cfa(WJWISONO.model, sample.cov = MGTWO.cor, sample.nobs = nMGTWO, std.lv = T, orthogonal = T, check.gradient = F)
WJWI.fit <- cfa(WJWISO.model, sample.cov = MGTWO.cor, sample.nobs = nMGTWO, std.lv = T, orthogonal = T, check.gradient = F); "\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"
WJWIID.fit <- cfa(WJWISOID.model, sample.cov = MGTWO.cor, sample.nobs = nMGTWO, std.lv = T, orthogonal = T, check.gradient = F)
## 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.
round(cbind("No Relationship" = fitMeasures(WJWINO.fit, FITM),
"Free Relationship" = fitMeasures(WJWI.fit, FITM),
"Identical" = fitMeasures(WJWIID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 813.459 647.902 650.986
## df 395.000 394.000 395.000
## npar 70.000 71.000 70.000
## cfi 0.729 0.835 0.834
## rmsea 0.085 0.066 0.066
## rmsea.ci.lower 0.076 0.057 0.057
## rmsea.ci.upper 0.093 0.075 0.075
## aic 11545.180 11381.623 11382.707
## bic 11754.985 11594.425 11592.512
summary(WJWI.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 267 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 71
##
## Number of observations 148
##
## Model Test User Model:
##
## Test statistic 647.902
## Degrees of freedom 394
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1978.351
## Degrees of freedom 435
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.835
## Tucker-Lewis Index (TLI) 0.818
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -5619.812
## Loglikelihood unrestricted model (H1) -5295.860
##
## Akaike (AIC) 11381.623
## Bayesian (BIC) 11594.425
## Sample-size adjusted Bayesian (BIC) 11369.737
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.066
## 90 Percent confidence interval - lower 0.057
## 90 Percent confidence interval - upper 0.075
## P-value RMSEA <= 0.05 0.003
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.084
##
## 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
## Gf =~
## VCOMP 0.038 0.778 0.049 0.961 0.792 0.795
## VAL 0.027 0.557 0.049 0.961 0.567 0.569
## SPAR 0.017 0.353 0.049 0.961 0.360 0.361
## CONCF 0.028 0.585 0.049 0.961 0.595 0.597
## NUMREV 0.021 0.432 0.049 0.961 0.440 0.441
## AWKMEM 0.023 0.467 0.049 0.961 0.475 0.477
## GINFO 0.033 0.682 0.049 0.961 0.694 0.696
## ANALSYN 0.027 0.553 0.049 0.961 0.563 0.565
## MEMWRD 0.016 0.335 0.049 0.961 0.341 0.342
## PLAN 0.018 0.364 0.049 0.961 0.371 0.372
## Gv =~
## VISM 0.712 0.068 10.459 0.000 0.782 0.785
## DECSP 0.636 0.070 9.105 0.000 0.699 0.701
## MEMNAM 0.232 0.081 2.850 0.004 0.255 0.257
## PAIRCAN 0.830 0.067 12.361 0.000 0.911 0.914
## Gsm =~
## BLEN 0.616 0.092 6.685 0.000 0.672 0.674
## INCWRD 0.651 0.095 6.872 0.000 0.710 0.713
## AUDAT 0.343 0.088 3.900 0.000 0.374 0.375
## MEMWRD 0.279 0.091 3.062 0.002 0.304 0.305
## Glr =~
## RETFLU 0.715 0.298 2.402 0.016 0.750 0.752
## MEMNAM 0.368 0.151 2.431 0.015 0.386 0.390
## gWJ =~
## Gf 20.884 429.890 0.049 0.961 0.999 0.999
## Gv 0.454 0.103 4.392 0.000 0.414 0.414
## Gsm 0.437 0.122 3.592 0.000 0.400 0.400
## Glr 0.315 0.159 1.986 0.047 0.301 0.301
## Gc =~
## INFO 0.418 0.057 7.276 0.000 0.776 0.779
## SIM 0.435 0.058 7.450 0.000 0.808 0.810
## ARI 0.126 0.064 1.977 0.048 0.234 0.235
## VOCAB 0.458 0.060 7.641 0.000 0.850 0.853
## COMP 0.346 0.054 6.387 0.000 0.641 0.644
## GfWI =~
## PICCOMP 0.393 0.070 5.624 0.000 0.514 0.516
## PASSCOMP 0.313 0.070 4.466 0.000 0.410 0.411
## BD 0.601 0.076 7.885 0.000 0.787 0.790
## OBJASS 0.473 0.070 6.775 0.000 0.619 0.622
## Gwm =~
## DSC 0.369 0.075 4.950 0.000 0.523 0.525
## ARI 0.377 0.083 4.565 0.000 0.534 0.536
## SYMS 0.421 0.078 5.402 0.000 0.596 0.598
## DIGSPA 0.396 0.076 5.200 0.000 0.560 0.562
## gWI =~
## Gc 1.564 0.268 5.828 0.000 0.842 0.842
## GfWI 0.844 0.153 5.521 0.000 0.645 0.645
## Gwm 1.003 0.213 4.717 0.000 0.708 0.708
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## gWJ ~~
## gWI 1.064 0.057 18.796 0.000 1.064 1.064
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .VCOMP 0.366 0.052 7.000 0.000 0.366 0.368
## .VAL 0.672 0.082 8.184 0.000 0.672 0.676
## .SPAR 0.864 0.102 8.474 0.000 0.864 0.870
## .CONCF 0.639 0.079 8.117 0.000 0.639 0.644
## .NUMREV 0.800 0.095 8.393 0.000 0.800 0.805
## .AWKMEM 0.767 0.092 8.347 0.000 0.767 0.772
## .GINFO 0.512 0.066 7.760 0.000 0.512 0.515
## .ANALSYN 0.676 0.083 8.193 0.000 0.676 0.681
## .MEMWRD 0.701 0.088 7.937 0.000 0.701 0.706
## .PLAN 0.856 0.101 8.464 0.000 0.856 0.862
## .VISM 0.381 0.063 6.081 0.000 0.381 0.384
## .DECSP 0.505 0.069 7.287 0.000 0.505 0.508
## .MEMNAM 0.743 0.140 5.292 0.000 0.743 0.757
## .PAIRCAN 0.163 0.062 2.635 0.008 0.163 0.164
## .BLEN 0.542 0.109 4.986 0.000 0.542 0.546
## .INCWRD 0.489 0.113 4.309 0.000 0.489 0.492
## .AUDAT 0.853 0.107 7.984 0.000 0.853 0.859
## .RETFLU 0.431 0.425 1.013 0.311 0.431 0.434
## .INFO 0.391 0.055 7.100 0.000 0.391 0.393
## .SIM 0.341 0.051 6.726 0.000 0.341 0.343
## .ARI 0.505 0.078 6.477 0.000 0.505 0.508
## .VOCAB 0.270 0.045 5.963 0.000 0.270 0.272
## .COMP 0.582 0.073 7.925 0.000 0.582 0.586
## .PICCOMP 0.729 0.095 7.675 0.000 0.729 0.734
## .PASSCOMP 0.825 0.102 8.092 0.000 0.825 0.831
## .BD 0.374 0.086 4.350 0.000 0.374 0.377
## .OBJASS 0.609 0.088 6.929 0.000 0.609 0.614
## .DSC 0.720 0.097 7.413 0.000 0.720 0.725
## .SYMS 0.638 0.094 6.808 0.000 0.638 0.642
## .DIGSPA 0.679 0.095 7.136 0.000 0.679 0.684
## .Gf 1.000 0.002 0.002
## .Gv 1.000 0.829 0.829
## .Gsm 1.000 0.840 0.840
## .Glr 1.000 0.910 0.910
## gWJ 1.000 1.000 1.000
## .Gc 1.000 0.290 0.290
## .GfWI 1.000 0.584 0.584
## .Gwm 1.000 0.498 0.498
## gWI 1.000 1.000 1.000
CRITR(148); CRITR(148, NP(148))
## [1] 0.1614186
## [1] 0.2629412
resid(WJWI.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## VCOMP VAL SPAR CONCF NUMREV AWKMEM GINFO ANALSY MEMWRD PLAN
## VCOMP 0.000
## VAL 0.084 0.000
## SPAR -0.034 -0.017 0.000
## CONCF -0.002 0.028 0.080 0.000
## NUMREV 0.003 0.048 -0.090 0.084 0.000
## AWKMEM -0.054 0.021 -0.098 0.047 0.156 0.000
## GINFO 0.066 -0.111 -0.041 -0.087 -0.087 -0.100 0.000
## ANALSYN 0.003 0.024 0.081 0.063 0.054 0.077 -0.048 0.000
## MEMWRD -0.046 -0.022 -0.005 -0.027 0.082 0.128 0.012 0.050 0.000
## PLAN -0.104 0.015 -0.015 -0.068 0.040 0.134 -0.069 0.010 0.062 0.000
## VISM -0.004 -0.027 -0.003 0.054 0.171 0.082 -0.024 0.012 -0.059 0.096
## DECSP -0.026 0.017 0.007 0.029 0.057 0.024 0.061 -0.044 -0.082 0.055
## MEMNAM -0.001 -0.067 -0.013 0.062 -0.036 0.086 0.028 -0.118 -0.006 -0.065
## PAIRCAN -0.071 -0.075 -0.041 -0.018 0.135 0.087 -0.027 -0.147 -0.052 -0.011
## BLEN 0.013 0.011 -0.053 0.026 -0.069 0.074 -0.019 0.073 -0.016 0.063
## INCWRD -0.026 -0.078 0.032 0.147 -0.043 0.071 -0.021 0.073 0.010 -0.028
## AUDAT 0.007 -0.026 0.080 0.075 0.070 0.146 0.043 0.110 0.011 0.105
## RETFLU -0.036 -0.156 -0.020 0.057 -0.037 -0.020 0.110 -0.049 0.146 0.028
## INFO 0.059 0.011 -0.080 -0.102 -0.083 -0.043 0.147 -0.056 0.027 0.008
## SIM 0.024 0.017 0.016 -0.022 -0.147 -0.019 0.065 -0.048 -0.052 0.014
## ARI -0.016 0.050 0.103 0.022 0.084 0.007 -0.008 0.001 -0.040 0.004
## VOCAB 0.066 -0.053 -0.034 -0.045 -0.094 -0.036 0.107 -0.051 0.062 0.022
## COMP 0.072 -0.120 -0.180 -0.082 -0.147 -0.100 0.087 -0.022 0.035 0.065
## PICCOMP 0.039 0.070 0.019 -0.044 -0.148 -0.027 0.058 0.051 -0.075 0.003
## PASSCOMP -0.010 0.077 0.033 0.036 -0.010 -0.088 -0.055 -0.081 -0.037 -0.047
## BD -0.057 0.114 0.147 0.094 0.014 -0.023 -0.061 0.125 -0.019 0.029
## OBJASS -0.103 0.017 0.231 0.085 -0.039 -0.084 -0.045 0.036 -0.145 0.039
## DSC -0.181 -0.195 -0.086 -0.019 0.033 0.105 -0.078 -0.181 -0.075 0.060
## SYMS -0.029 -0.032 0.072 -0.019 0.071 0.004 -0.059 -0.046 -0.140 0.025
## DIGSPA -0.078 -0.014 0.038 0.093 0.313 0.162 -0.105 0.087 0.213 0.121
## VISM DECSP MEMNAM PAIRCA BLEN INCWRD AUDAT RETFLU INFO SIM
## VCOMP
## VAL
## SPAR
## CONCF
## NUMREV
## AWKMEM
## GINFO
## ANALSYN
## MEMWRD
## PLAN
## VISM 0.000
## DECSP -0.050 0.000
## MEMNAM 0.051 0.082 0.000
## PAIRCAN 0.004 0.012 -0.006 0.000
## BLEN 0.037 -0.038 0.071 -0.017 0.000
## INCWRD -0.008 0.020 0.129 0.027 0.006 0.000
## AUDAT 0.103 0.138 0.068 0.125 -0.006 -0.012 0.000
## RETFLU 0.090 0.053 0.018 0.080 -0.040 -0.011 0.037 0.000
## INFO 0.002 -0.049 0.005 -0.094 -0.056 -0.003 -0.019 0.065 0.000
## SIM -0.015 0.035 -0.004 -0.091 0.000 0.019 -0.055 0.069 -0.001 0.000
## ARI 0.204 0.081 0.024 0.083 0.046 -0.033 0.121 -0.040 0.039 0.000
## VOCAB -0.077 -0.109 0.004 -0.180 -0.042 -0.082 -0.087 0.007 -0.011 0.004
## COMP 0.001 -0.103 -0.010 -0.154 -0.081 -0.133 -0.074 0.084 -0.013 0.004
## PICCOMP -0.057 0.029 -0.136 -0.047 -0.031 -0.031 -0.035 -0.126 0.146 0.065
## PASSCOMP 0.053 0.139 0.040 0.014 0.036 -0.123 0.071 -0.096 0.067 -0.026
## BD 0.182 0.076 -0.143 -0.016 0.038 -0.114 0.077 -0.103 -0.026 -0.071
## OBJASS 0.130 0.100 -0.115 0.095 -0.083 -0.126 0.175 -0.109 -0.015 -0.047
## DSC 0.428 0.278 0.204 0.341 -0.028 0.016 0.102 0.058 -0.014 -0.012
## SYMS 0.360 0.295 0.108 0.312 0.074 -0.072 0.121 -0.033 0.074 0.041
## DIGSPA 0.121 0.005 0.095 0.038 0.018 0.182 0.207 -0.015 -0.017 0.027
## ARI VOCAB COMP PICCOM PASSCO BD OBJASS DSC SYMS DIGSPA
## VCOMP
## VAL
## SPAR
## CONCF
## NUMREV
## AWKMEM
## GINFO
## ANALSYN
## MEMWRD
## PLAN
## VISM
## DECSP
## MEMNAM
## PAIRCAN
## BLEN
## INCWRD
## AUDAT
## RETFLU
## INFO
## SIM
## ARI 0.000
## VOCAB -0.060 0.000
## COMP 0.023 0.026 0.000
## PICCOMP 0.028 0.106 0.014 0.000
## PASSCOMP -0.031 0.051 -0.028 0.017 0.000
## BD 0.111 0.007 -0.180 -0.037 0.013 0.000
## OBJASS 0.073 -0.105 -0.157 0.056 -0.015 0.002 0.000
## DSC -0.066 -0.063 -0.033 -0.074 0.038 0.004 0.067 0.000
## SYMS -0.008 -0.030 -0.067 0.079 0.017 0.089 0.123 0.165 0.000
## DIGSPA 0.025 0.025 -0.023 -0.106 -0.025 0.061 0.025 0.033 -0.127 0.000
length(which(resid(WJWI.fit, "cor")$cov > 0.161)); length(which(resid(WJWI.fit, "cor")$cov > 0.263))
## [1] 36
## [1] 14
lowerMGTHREE <- '
1
0.308731678 1
0.645545114 0.230453605 1
0.698263673 0.381977368 0.579519845 1
0.549587249 0.456076539 0.483341164 0.624492375 1
0.346644002 0.212759307 0.438496071 0.403783097 0.370202352 1
0.502915462 0.465525511 0.218013225 0.431732575 0.567225732 0.30748068 1
0.229846334 0.326130466 0.149764849 0.201174012 0.385994138 0.223842511 0.420266158 1
0.476349715 0.234317503 0.388764326 0.345380223 0.324460076 0.358219168 0.423710069 0.312790029 1
0.420292298 0.233203696 0.280332852 0.462226686 0.203089937 0.135352137 0.34542386 0.134487539 0.547820501 1
0.259823121 0.259407527 0.130931604 0.239625252 0.266360294 0.307431473 0.241618841 0.234242915 0.301154061 0.227253449 1
0.71045915 0.321553687 0.409410574 0.761138916 0.503906864 0.237510019 0.380355744 0.127504304 0.319002256 0.479414125 0.102097065 1
0.442621013 0.387265312 0.289258253 0.434733294 0.403802543 0.353110893 0.381560813 0.235463321 0.445574053 0.50310037 0.431958212 0.385718027 1
0.384817128 0.13084541 0.483436975 0.552824676 0.407543255 0.450389822 0.272300986 0.171351385 0.234011971 0.26350779 0.144963083 0.34189593 0.249850222 1
0.242557014 -0.03378249 0.080889009 0.372666911 0.178209999 0.309292621 0.218131692 0.096587852 0.258823056 0.214948684 0.218221687 0.197777787 0.288329991 0.46156211 1
0.23455796 0.070297366 0.058616796 0.341536915 0.097839292 0.190959825 0.25768478 -0.057790436 0.20654161 0.352269697 0.3043798 0.341727006 0.272456629 0.345256591 0.416263788 1
0.766813365 0.325991087 0.734750257 0.691489171 0.532165658 0.451451371 0.511204962 0.242065973 0.530528062 0.427056348 0.309633512 0.574633625 0.495971524 0.500549297 0.232921086 0.312302948 1
0.113432091 0.133644625 0.296481692 0.135409529 0.076307093 0.259922667 0.007220518 -0.125246364 0.268856419 0.248311265 0.263430546 -0.000564397 0.312076773 0.049183462 -0.00738988 0.100412764 0.245425015 1
0.581278801 0.322612713 0.527264741 0.770115195 0.553805399 0.338848906 0.301102912 0.195528913 0.43743024 0.43585729 0.206201842 0.57167711 0.41909857 0.502851836 0.393233093 0.241034395 0.545382989 0.159594674 1
0.374099998 0.100150654 0.454015102 0.465329339 0.257931168 0.422538258 0.344683675 0.190262078 0.288578967 0.323541782 0.232996499 0.273734863 0.455610561 0.473336984 0.359891464 0.194561048 0.503534773 0.180437207 0.344143347 1
0.409417214 0.192638909 0.474613015 0.352353691 0.31779026 0.60014478 0.33144401 0.272059915 0.394433333 0.086100748 0.293222376 0.222808993 0.213939843 0.490232649 0.228903211 0.274209139 0.54127255 0.170835603 0.298195143 0.322786621 1
0.399396752 0.189779921 0.372221884 0.36553352 0.245004837 0.392169867 0.304225664 0.301318779 0.343215859 0.228408234 0.136935409 0.335531939 0.41779803 0.311093947 0.229296573 0.151459382 0.448265448 0.142904172 0.410686585 0.352312882 0.438655631 1
0.596100586 0.43686092 0.493545596 0.677073751 0.495417262 0.513316297 0.51141252 0.303162264 0.438129542 0.376035243 0.241728235 0.488084481 0.477701347 0.516950523 0.327164894 0.316018306 0.662798982 0.184906312 0.624797217 0.543922851 0.577855851 0.549872594 1
'
lowerMGTHREEWJ <- '1
0.385718027 1
0.34189593 0.249850222 1
0.197777787 0.288329991 0.46156211 1
0.341727006 0.272456629 0.345256591 0.416263788 1
0.574633625 0.495971524 0.500549297 0.232921086 0.312302948 1
-0.000564397 0.312076773 0.049183462 -0.00738988 0.100412764 0.245425015 1
0.57167711 0.41909857 0.502851836 0.393233093 0.241034395 0.545382989 0.159594674 1
0.273734863 0.455610561 0.473336984 0.359891464 0.194561048 0.503534773 0.180437207 0.344143347 1
0.222808993 0.213939843 0.490232649 0.228903211 0.274209139 0.54127255 0.170835603 0.298195143 0.322786621 1
0.335531939 0.41779803 0.311093947 0.229296573 0.151459382 0.448265448 0.142904172 0.410686585 0.352312882 0.438655631 1
0.488084481 0.477701347 0.516950523 0.327164894 0.316018306 0.662798982 0.184906312 0.624797217 0.543922851 0.577855851 0.549872594 1'
lowerMGTHREEWI <- '1
0.308731678 1
0.645545114 0.230453605 1
0.698263673 0.381977368 0.579519845 1
0.549587249 0.456076539 0.483341164 0.624492375 1
0.346644002 0.212759307 0.438496071 0.403783097 0.370202352 1
0.502915462 0.465525511 0.218013225 0.431732575 0.567225732 0.30748068 1
0.229846334 0.326130466 0.149764849 0.201174012 0.385994138 0.223842511 0.420266158 1
0.476349715 0.234317503 0.388764326 0.345380223 0.324460076 0.358219168 0.423710069 0.312790029 1
0.420292298 0.233203696 0.280332852 0.462226686 0.203089937 0.135352137 0.34542386 0.134487539 0.547820501 1
0.259823121 0.259407527 0.130931604 0.239625252 0.266360294 0.307431473 0.241618841 0.234242915 0.301154061 0.227253449 1'
nMGTHREE <- 167
MGTHREE.cor = getCov(lowerMGTHREE, names = c("INFO", "SIM", "ARI", "VOCAB", "COMP", "DIG", "PCOMP", "PARR", "BD", "OA", "DSC", "PVOCAB", "SPAR", "MEMSEN", "VAL", "BLEN", "QCON", "VISMAT", "ANTSYN", "ANALSYN", "NUMREV", "CONCF", "ANALO"))
MGTHREEWJ.cor = getCov(lowerMGTHREEWJ, names = c("PVOCAB", "SPAR", "MEMSEN", "VAL", "BLEN", "QCON", "VISMAT", "ANTSYN", "ANALSYN", "NUMREV", "CONCF", "ANALO"))
MGTHREEWI.cor = getCov(lowerMGTHREEWI, names = c("INFO", "SIM", "ARI", "VOCAB", "COMP", "DIG", "PCOMP", "PARR", "BD", "OA", "DSC"))
fa.parallel(MGTHREE.cor, n.obs = nMGTHREE)
## Parallel analysis suggests that the number of factors = 5 and the number of components = 1
fa.parallel(MGTHREEWJ.cor, n.obs = nMGTHREE)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 1
fa.parallel(MGTHREEWI.cor, n.obs = nMGTHREE)
## 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.
## 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.
## 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.
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
FATOT <- fa(MGTHREE.cor, n.obs = nMGTHREE, nfactors = 5)
FATOT1 <- fa(MGTHREE.cor, n.obs = nMGTHREE, nfactors = 1)
FAWJ <- fa(MGTHREEWJ.cor, n.obs = nMGTHREE, nfactors = 3)
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
FAWJ1 <- fa(MGTHREEWJ.cor, n.obs = nMGTHREE, nfactors = 1)
FAWI <- fa(MGTHREEWI.cor, n.obs = nMGTHREE, nfactors = 3)
FAWI1 <- fa(MGTHREEWI.cor, n.obs = nMGTHREE, nfactors = 1)
print(FATOT$loadings)
##
## Loadings:
## MR1 MR3 MR5 MR2 MR4
## INFO 0.508 0.204 0.304 0.122
## SIM 0.141 0.566 -0.231 0.165
## ARI 0.242 0.844
## VOCAB 0.678 0.100 0.191 0.230
## COMP 0.339 0.539 0.158
## DIG -0.218 0.232 0.390 0.383 0.108
## PCOMP 0.150 0.662 -0.123 0.111
## PARR -0.103 0.710
## BD 0.243 0.125 0.457
## OA 0.366 -0.120 0.591
## DSC -0.173 0.256 0.150 0.418
## PVOCAB 0.771
## SPAR 0.255 0.586
## MEMSEN 0.187 0.261 0.599 -0.133
## VAL -0.203 0.742
## BLEN 0.168 -0.112 -0.204 0.495 0.264
## QCON 0.292 0.182 0.456 0.109 0.224
## VISMAT -0.206 -0.182 0.340 0.585
## ANTSYN 0.501 0.185 0.211 0.101
## ANALSYN 0.234 0.366 0.188
## NUMREV -0.242 0.281 0.461 0.396
## CONCF 0.230 0.242 0.212 0.123
## ANALO 0.180 0.335 0.259 0.310 0.119
##
## MR1 MR3 MR5 MR2 MR4
## SS loadings 2.301 2.193 1.972 1.946 1.714
## Proportion Var 0.100 0.095 0.086 0.085 0.075
## Cumulative Var 0.100 0.195 0.281 0.366 0.440
print(FAWJ$loadings)
##
## Loadings:
## MR1 MR3 MR2
## PVOCAB 0.992
## SPAR 0.531
## MEMSEN 0.443 0.366
## VAL 0.902
## BLEN 0.131 0.157 0.347
## QCON 0.763 0.170
## VISMAT 0.445 -0.164 -0.161
## ANTSYN 0.412 0.313 0.167
## ANALSYN 0.602 0.148
## NUMREV 0.696 -0.161
## CONCF 0.628
## ANALO 0.822
##
## MR1 MR3 MR2
## SS loadings 3.363 1.208 1.153
## Proportion Var 0.280 0.101 0.096
## Cumulative Var 0.280 0.381 0.477
print(FAWI$loadings)
##
## Loadings:
## MR1 MR2 MR3
## INFO 0.654 0.110 0.206
## SIM 0.568
## ARI 0.849 -0.109
## VOCAB 0.673 0.167
## COMP 0.405 0.635 -0.174
## DIG 0.329 0.211
## PCOMP 0.684 0.210
## PARR -0.154 0.594 0.102
## BD 0.128 0.670
## OA 0.126 0.675
## DSC 0.296 0.217
##
## MR1 MR2 MR3
## SS loadings 1.924 1.749 1.094
## Proportion Var 0.175 0.159 0.099
## Cumulative Var 0.175 0.334 0.433
print(FATOT1$loadings)
##
## Loadings:
## MR1
## INFO 0.785
## SIM 0.440
## ARI 0.665
## VOCAB 0.831
## COMP 0.658
## DIG 0.578
## PCOMP 0.596
## PARR 0.352
## BD 0.596
## OA 0.529
## DSC 0.383
## PVOCAB 0.659
## SPAR 0.621
## MEMSEN 0.606
## VAL 0.402
## BLEN 0.377
## QCON 0.848
## VISMAT 0.243
## ANTSYN 0.732
## ANALSYN 0.577
## NUMREV 0.575
## CONCF 0.548
## ANALO 0.818
##
## MR1
## SS loadings 8.408
## Proportion Var 0.366
print(FAWJ1$loadings)
##
## Loadings:
## MR1
## PVOCAB 0.593
## SPAR 0.592
## MEMSEN 0.657
## VAL 0.466
## BLEN 0.431
## QCON 0.801
## VISMAT 0.228
## ANTSYN 0.707
## ANALSYN 0.614
## NUMREV 0.584
## CONCF 0.587
## ANALO 0.846
##
## MR1
## SS loadings 4.509
## Proportion Var 0.376
print(FAWI1$loadings)
##
## Loadings:
## MR1
## INFO 0.791
## SIM 0.509
## ARI 0.625
## VOCAB 0.776
## COMP 0.734
## DIG 0.512
## PCOMP 0.657
## PARR 0.418
## BD 0.605
## OA 0.502
## DSC 0.387
##
## MR1
## SS loadings 4.051
## Proportion Var 0.368
EFATOGMGTHREE <- c(0.785, 0.440, 0.665, 0.831, 0.658, 0.578, 0.596, 0.352, 0.596, 0.529, 0.383, 0.659, 0.621, 0.606, 0.402, 0.377, 0.848, 0.243, 0.732, 0.577, 0.575, 0.548, 0.818)
EFATOGMGTHREEPsy <- c(0.785, 0.440, 0.665, 0.831, 0.658, 0.578, 0.596, 0.352, 0.596, 0.529, 0.383); EFATOGMGTHREEPsy2 <- c(0.659, 0.621, 0.606, 0.402, 0.377, 0.848, 0.243, 0.732, 0.577, 0.575, 0.548, 0.818)
EFASEPMGTHREE <- c(0.791, 0.509, 0.625, 0.776, 0.734, 0.512, 0.657, 0.418, 0.605, 0.502, 0.387, 0.593, 0.592, 0.657, 0.466, 0.431, 0.801, 0.228, 0.707, 0.614, 0.584, 0.587, 0.846)
EFASEPMGTHREEPsy <- c(0.791, 0.509, 0.625, 0.776, 0.734, 0.512, 0.657, 0.418, 0.605, 0.502, 0.387); EFASEPMGTHREEPsy2 <- c(0.593, 0.592, 0.657, 0.466, 0.431, 0.801, 0.228, 0.707, 0.614, 0.584, 0.587, 0.846)
cor(EFATOGMGTHREE, EFASEPMGTHREE, method = "pearson"); cor(EFATOGMGTHREE, EFASEPMGTHREE, method = "spearman"); CONGO(EFATOGMGTHREE, EFASEPMGTHREE)
## [1] 0.9580595
## [1] 0.9359862
## [1] 0.9970891
cor(EFATOGMGTHREEPsy, EFASEPMGTHREEPsy, method = "pearson"); cor(EFATOGMGTHREEPsy, EFASEPMGTHREEPsy, method = "spearman"); CONGO(EFATOGMGTHREEPsy, EFASEPMGTHREEPsy)
## [1] 0.9392033
## [1] 0.938499
## [1] 0.9965053
cor(EFATOGMGTHREEPsy2, EFASEPMGTHREEPsy2, method = "pearson"); cor(EFATOGMGTHREEPsy2, EFASEPMGTHREEPsy2, method = "spearman"); CONGO(EFATOGMGTHREEPsy2, EFASEPMGTHREEPsy2)
## [1] 0.9704728
## [1] 0.9300699
## [1] 0.997614
WJSO.model <- '
Gf =~ MEMSEN + ANTSYN + ANALSYN + NUMREV + CONCF + ANALO
Gsp =~ SPAR + VISMAT + ANALSYN
Ga =~ MEMSEN + VAL + BLEN
gWJ =~ 1*Gf + Gsp + Ga
Gf ~~ 0*Gf'
WJSO.fit <- cfa(WJSO.model, sample.cov = MGTHREEWJ.cor, sample.nobs = nMGTHREE, std.lv = T, orthogonal = T, check.gradient = F)
summary(WJSO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 27 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 24
##
## Number of observations 167
##
## Model Test User Model:
##
## Test statistic 77.900
## Degrees of freedom 31
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 575.159
## Degrees of freedom 45
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.912
## Tucker-Lewis Index (TLI) 0.872
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2115.983
## Loglikelihood unrestricted model (H1) -2077.033
##
## Akaike (AIC) 4279.966
## Bayesian (BIC) 4354.797
## Sample-size adjusted Bayesian (BIC) 4278.810
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.095
## 90 Percent confidence interval - lower 0.069
## 90 Percent confidence interval - upper 0.122
## P-value RMSEA <= 0.05 0.003
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.054
##
## 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
## Gf =~
## MEMSEN 0.385 0.103 3.742 0.000 0.385 0.386
## ANTSYN 0.682 0.071 9.542 0.000 0.682 0.684
## ANALSYN 0.458 0.111 4.139 0.000 0.458 0.460
## NUMREV 0.616 0.073 8.391 0.000 0.616 0.618
## CONCF 0.614 0.074 8.345 0.000 0.614 0.615
## ANALO 0.892 0.064 13.890 0.000 0.892 0.895
## Gsp =~
## SPAR 0.717 0.171 4.197 0.000 0.893 0.895
## VISMAT 0.279 0.068 4.124 0.000 0.347 0.349
## ANALSYN 0.188 0.086 2.178 0.029 0.235 0.235
## Ga =~
## MEMSEN 0.321 0.089 3.614 0.000 0.397 0.398
## VAL 0.587 0.094 6.239 0.000 0.726 0.728
## BLEN 0.461 0.077 5.970 0.000 0.570 0.572
## gWJ =~
## Gf 1.000 1.000 1.000
## Gsp 0.742 0.204 3.633 0.000 0.596 0.596
## Ga 0.727 0.162 4.474 0.000 0.588 0.588
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Gf 0.000 0.000 0.000
## .MEMSEN 0.509 0.071 7.218 0.000 0.509 0.512
## .ANTSYN 0.529 0.066 8.003 0.000 0.529 0.532
## .ANALSYN 0.601 0.072 8.309 0.000 0.601 0.605
## .NUMREV 0.614 0.073 8.358 0.000 0.614 0.618
## .CONCF 0.617 0.074 8.370 0.000 0.617 0.621
## .ANALO 0.198 0.047 4.191 0.000 0.198 0.199
## .SPAR 0.197 0.238 0.829 0.407 0.197 0.198
## .VISMAT 0.873 0.102 8.556 0.000 0.873 0.879
## .VAL 0.467 0.109 4.297 0.000 0.467 0.470
## .BLEN 0.669 0.094 7.113 0.000 0.669 0.673
## .Gsp 1.000 0.645 0.645
## .Ga 1.000 0.654 0.654
## gWJ 1.000 1.000 1.000
WISO.model <- '
Gc =~ INFO + ARI + VOCAB + COMP
Gf =~ SIM + COMP + PCOMP + PARR + DSC
Gsp =~ BD + OA + DSC
gWI =~ Gc + Gf + Gsp'
WISO.fit <- cfa(WISO.model, sample.cov = MGTHREEWI.cor, sample.nobs = nMGTHREE, std.lv = T, orthogonal = T, check.gradient = F)
summary(WISO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 34 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 25
##
## Number of observations 167
##
## Model Test User Model:
##
## Test statistic 79.423
## Degrees of freedom 30
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 680.906
## Degrees of freedom 45
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.922
## Tucker-Lewis Index (TLI) 0.883
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2063.871
## Loglikelihood unrestricted model (H1) -2024.159
##
## Akaike (AIC) 4177.742
## Bayesian (BIC) 4255.692
## Sample-size adjusted Bayesian (BIC) 4176.538
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.099
## 90 Percent confidence interval - lower 0.073
## 90 Percent confidence interval - upper 0.126
## P-value RMSEA <= 0.05 0.002
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.050
##
## 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 =~
## INFO 0.461 0.099 4.672 0.000 0.862 0.865
## ARI 0.384 0.085 4.524 0.000 0.718 0.720
## VOCAB 0.439 0.094 4.659 0.000 0.822 0.824
## COMP 0.200 0.063 3.168 0.002 0.375 0.376
## Gf =~
## SIM 0.410 0.070 5.828 0.000 0.606 0.608
## COMP 0.321 0.068 4.714 0.000 0.474 0.476
## PCOMP 0.536 0.084 6.412 0.000 0.793 0.795
## PARR 0.359 0.068 5.311 0.000 0.531 0.532
## DSC 0.143 0.077 1.863 0.062 0.212 0.212
## Gsp =~
## BD 0.517 0.092 5.651 0.000 0.793 0.795
## OA 0.449 0.076 5.870 0.000 0.688 0.690
## DSC 0.156 0.075 2.076 0.038 0.240 0.240
## gWI =~
## Gc 1.581 0.461 3.434 0.001 0.845 0.845
## Gf 1.090 0.249 4.373 0.000 0.737 0.737
## Gsp 1.162 0.277 4.193 0.000 0.758 0.758
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .INFO 0.251 0.048 5.193 0.000 0.251 0.252
## .ARI 0.479 0.062 7.740 0.000 0.479 0.481
## .VOCAB 0.318 0.051 6.242 0.000 0.318 0.320
## .COMP 0.407 0.056 7.251 0.000 0.407 0.409
## .SIM 0.626 0.081 7.729 0.000 0.626 0.630
## .PCOMP 0.365 0.075 4.879 0.000 0.365 0.368
## .PARR 0.712 0.087 8.206 0.000 0.712 0.717
## .DSC 0.835 0.095 8.821 0.000 0.835 0.840
## .BD 0.366 0.091 4.022 0.000 0.366 0.368
## .OA 0.521 0.084 6.200 0.000 0.521 0.524
## .Gc 1.000 0.286 0.286
## .Gf 1.000 0.457 0.457
## .Gsp 1.000 0.426 0.426
## gWI 1.000 1.000 1.000
WJWINO.model <- '
Gf =~ MEMSEN + ANTSYN + ANALSYN + NUMREV + CONCF + ANALO
Gsp =~ SPAR + VISMAT + ANALSYN
Ga =~ MEMSEN + VAL + BLEN
gWJ =~ 1*Gf + Gsp + Ga
Gf ~~ 0*Gf
Gc =~ INFO + ARI + VOCAB + COMP
GfWI =~ SIM + COMP + PCOMP + PARR + DSC
GspWI =~ BD + OA + DSC
gWI =~ Gc + GfWI + GspWI
gWJ ~~ 0*gWI'
WJWI.model <- '
Gf =~ MEMSEN + ANTSYN + ANALSYN + NUMREV + CONCF + ANALO
Gsp =~ SPAR + VISMAT + ANALSYN
Ga =~ MEMSEN + VAL + BLEN
gWJ =~ 1*Gf + Gsp + Ga
Gf ~~ 0*Gf
Gc =~ INFO + ARI + VOCAB + COMP
GfWI =~ SIM + COMP + PCOMP + PARR + DSC
GspWI =~ BD + OA + DSC
gWI =~ Gc + GfWI + GspWI
gWJ ~~ gWI'
WJWIID.model <- '
Gf =~ MEMSEN + ANTSYN + ANALSYN + NUMREV + CONCF + ANALO
Gsp =~ SPAR + VISMAT + ANALSYN
Ga =~ MEMSEN + VAL + BLEN
gWJ =~ 1*Gf + Gsp + Ga
Gf ~~ 0*Gf
Gc =~ INFO + ARI + VOCAB + COMP
GfWI =~ SIM + COMP + PCOMP + PARR + DSC
GspWI =~ BD + OA + DSC
gWI =~ Gc + GfWI + GspWI
gWJ ~~ 1*gWI'
WJWINO.fit <- cfa(WJWINO.model, sample.cov = MGTHREE.cor, sample.nobs = nMGTHREE, std.lv = T, orthogonal = T, check.gradient = F)
WJWI.fit <- cfa(WJWI.model, sample.cov = MGTHREE.cor, sample.nobs = nMGTHREE, std.lv = T, orthogonal = T, check.gradient = F)
WJWIID.fit <- cfa(WJWIID.model, sample.cov = MGTHREE.cor, sample.nobs = nMGTHREE, std.lv = T, orthogonal = T, check.gradient = F)
round(cbind("No Relationship" = fitMeasures(WJWINO.fit, FITM),
"Free Relationship" = fitMeasures(WJWI.fit, FITM),
"Identical" = fitMeasures(WJWIID.fit, FITM)),3)
## No Relationship Free Relationship Identical
## chisq 711.186 541.840 542.282
## df 161.000 160.000 161.000
## npar 49.000 50.000 49.000
## cfi 0.660 0.764 0.765
## rmsea 0.143 0.120 0.119
## rmsea.ci.lower 0.132 0.109 0.108
## rmsea.ci.upper 0.154 0.131 0.130
## aic 8457.707 8290.361 8288.803
## bic 8610.489 8446.261 8441.585
summary(WJWI.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 46 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 50
##
## Number of observations 167
##
## Model Test User Model:
##
## Test statistic 541.840
## Degrees of freedom 160
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1809.928
## Degrees of freedom 190
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.764
## Tucker-Lewis Index (TLI) 0.720
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -4095.181
## Loglikelihood unrestricted model (H1) -3824.261
##
## Akaike (AIC) 8290.361
## Bayesian (BIC) 8446.261
## Sample-size adjusted Bayesian (BIC) 8287.953
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.120
## 90 Percent confidence interval - lower 0.109
## 90 Percent confidence interval - upper 0.131
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.077
##
## 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
## Gf =~
## MEMSEN 0.392 0.101 3.890 0.000 0.392 0.393
## ANTSYN 0.761 0.067 11.288 0.000 0.761 0.763
## ANALSYN 0.444 0.115 3.874 0.000 0.444 0.445
## NUMREV 0.576 0.073 7.836 0.000 0.576 0.577
## CONCF 0.578 0.073 7.869 0.000 0.578 0.579
## ANALO 0.852 0.064 13.359 0.000 0.852 0.854
## Gsp =~
## SPAR 0.694 0.167 4.155 0.000 0.902 0.905
## VISMAT 0.265 0.064 4.155 0.000 0.344 0.345
## ANALSYN 0.169 0.085 1.992 0.046 0.219 0.220
## Ga =~
## MEMSEN 0.318 0.087 3.649 0.000 0.393 0.394
## VAL 0.586 0.093 6.276 0.000 0.725 0.727
## BLEN 0.462 0.077 6.002 0.000 0.571 0.573
## gWJ =~
## Gf 1.000 1.000 1.000
## Gsp 0.830 0.224 3.705 0.000 0.639 0.639
## Ga 0.727 0.159 4.569 0.000 0.588 0.588
## Gc =~
## INFO 0.328 0.065 5.012 0.000 0.814 0.816
## ARI 0.286 0.059 4.841 0.000 0.709 0.711
## VOCAB 0.351 0.070 5.033 0.000 0.872 0.875
## COMP 0.147 0.045 3.294 0.001 0.366 0.367
## GfWI =~
## SIM 0.450 0.065 6.976 0.000 0.614 0.616
## COMP 0.354 0.068 5.187 0.000 0.483 0.485
## PCOMP 0.573 0.071 8.116 0.000 0.782 0.784
## PARR 0.392 0.064 6.130 0.000 0.535 0.537
## DSC 0.163 0.075 2.160 0.031 0.222 0.223
## GspWI =~
## BD 0.547 0.075 7.282 0.000 0.781 0.783
## OA 0.488 0.067 7.317 0.000 0.697 0.699
## DSC 0.171 0.073 2.343 0.019 0.245 0.246
## gWI =~
## Gc 2.272 0.524 4.335 0.000 0.915 0.915
## GfWI 0.928 0.162 5.723 0.000 0.680 0.680
## GspWI 1.019 0.180 5.654 0.000 0.714 0.714
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## gWJ ~~
## gWI 0.979 0.031 31.990 0.000 0.979 0.979
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Gf 0.000 0.000 0.000
## .MEMSEN 0.505 0.069 7.286 0.000 0.505 0.508
## .ANTSYN 0.415 0.053 7.818 0.000 0.415 0.417
## .ANALSYN 0.625 0.073 8.559 0.000 0.625 0.628
## .NUMREV 0.663 0.076 8.673 0.000 0.663 0.667
## .CONCF 0.660 0.076 8.668 0.000 0.660 0.664
## .ANALO 0.269 0.041 6.528 0.000 0.269 0.270
## .SPAR 0.181 0.225 0.803 0.422 0.181 0.182
## .VISMAT 0.876 0.101 8.650 0.000 0.876 0.881
## .VAL 0.469 0.108 4.330 0.000 0.469 0.472
## .BLEN 0.668 0.094 7.105 0.000 0.668 0.672
## .INFO 0.332 0.047 7.057 0.000 0.332 0.334
## .ARI 0.491 0.061 8.100 0.000 0.491 0.494
## .VOCAB 0.233 0.041 5.699 0.000 0.233 0.234
## .COMP 0.407 0.056 7.329 0.000 0.407 0.409
## .SIM 0.617 0.080 7.671 0.000 0.617 0.621
## .PCOMP 0.382 0.074 5.147 0.000 0.382 0.385
## .PARR 0.708 0.086 8.182 0.000 0.708 0.712
## .DSC 0.830 0.094 8.828 0.000 0.830 0.837
## .BD 0.385 0.085 4.512 0.000 0.385 0.387
## .OA 0.508 0.081 6.241 0.000 0.508 0.511
## .Gsp 1.000 0.592 0.592
## .Ga 1.000 0.654 0.654
## gWJ 1.000 1.000 1.000
## .Gc 1.000 0.162 0.162
## .GfWI 1.000 0.537 0.537
## .GspWI 1.000 0.491 0.491
## gWI 1.000 1.000 1.000
CRITR(167); CRITR(167, NP(167))
## [1] 0.1519261
## [1] 0.2508602
resid(WJWI.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## MEMSEN ANTSYN ANALSY NUMREV CONCF ANALO SPAR VISMAT VAL BLEN
## MEMSEN 0.000
## ANTSYN 0.026 0.000
## ANALSYN 0.108 -0.103 0.000
## NUMREV 0.130 -0.142 -0.015 0.000
## CONCF -0.051 -0.032 0.013 0.104 0.000
## ANALO -0.017 -0.027 0.044 0.085 0.055 0.000
## SPAR -0.111 -0.022 -0.001 -0.120 0.083 -0.016 0.000
## VISMAT -0.088 -0.009 0.006 0.044 0.015 -0.003 0.000 0.000
## VAL 0.007 0.067 0.110 -0.018 -0.018 -0.038 0.041 -0.102 0.000
## BLEN -0.013 -0.016 -0.003 0.080 -0.044 0.028 0.078 0.026 0.000 0.000
## INFO -0.072 0.023 -0.054 -0.013 -0.024 -0.029 0.020 -0.048 -0.070 -0.012
## ARI 0.085 0.041 0.081 0.107 0.003 -0.051 -0.079 0.156 -0.191 -0.156
## VOCAB 0.063 0.172 0.006 -0.100 -0.089 0.007 -0.018 -0.037 0.038 0.078
## COMP 0.001 0.057 -0.123 -0.058 -0.132 -0.061 0.028 -0.067 -0.100 -0.121
## SIM -0.125 0.010 -0.140 -0.044 -0.048 0.087 0.150 0.043 -0.209 -0.068
## PCOMP -0.054 -0.098 0.039 0.030 0.002 0.065 0.080 -0.108 -0.005 0.082
## PARR -0.052 -0.077 -0.019 0.066 0.094 -0.002 0.029 -0.204 -0.056 -0.178
## DSC -0.055 -0.038 0.046 0.108 -0.049 -0.032 0.247 0.193 0.081 0.197
## BD -0.108 0.020 -0.032 0.078 0.026 -0.029 0.129 0.148 0.025 0.022
## OA -0.042 0.063 0.037 -0.196 -0.055 -0.041 0.221 0.141 0.006 0.188
## INFO ARI VOCAB COMP SIM PCOMP PARR DSC BD OA
## MEMSEN
## ANTSYN
## ANALSYN
## NUMREV
## CONCF
## ANALO
## SPAR
## VISMAT
## VAL
## BLEN
## INFO 0.000
## ARI 0.065 0.000
## VOCAB -0.016 -0.043 0.000
## COMP 0.004 0.008 0.040 0.000
## SIM -0.004 -0.042 0.047 0.017 0.000
## PCOMP 0.104 -0.129 0.004 0.008 -0.017 0.000
## PARR -0.043 -0.088 -0.091 0.003 -0.004 -0.001 0.000
## DSC 0.016 -0.082 -0.022 -0.009 0.049 -0.027 0.051 0.000
## BD 0.059 0.025 -0.102 -0.047 0.000 0.125 0.109 0.024 0.000
## OA 0.047 -0.045 0.063 -0.129 0.024 0.079 -0.048 -0.020 0.000 0.000
length(which(resid(WJWI.fit, "cor")$cov > 0.152)); length(which(resid(WJWI.fit, "cor")$cov > 0.251))
## [1] 14
## [1] 0
Data found in Undheim & Gustafsson (1978).
lowerUG <- '
1
0.65 1
0.17 0.17 1
0.05 0.05 0.3 1
0.36 0.28 0.2 0.18 1
0.44 0.44 0.14 0.24 0.57 1
0.36 0.36 0 0.17 0.52 0.74 1
0.39 0.33 0.19 0.21 0.43 0.58 0.65 1
0.47 0.36 0.09 0.09 0.26 0.36 0.31 0.28 1
0.41 0.39 0.09 0.1 0.17 0.31 0.17 0.21 0.33 1
0.57 0.49 0.21 0.1 0.28 0.34 0.29 0.29 0.45 0.26 1
0.49 0.41 0.11 0.17 0.21 0.31 0.22 0.17 0.45 0.46 0.38 1
0.42 0.35 0.11 0.01 0.3 0.28 0.18 0.13 0.39 0.31 0.42 0.5 1
0.33 0.33 0.12 0.18 0.21 0.41 0.26 0.29 0.23 0.27 0.35 0.21 0.25 1
0.29 0.32 0.05 0.2 0.1 0.37 0.23 0.29 0.18 0.19 0.35 0.19 0.25 0.73 1
0.41 0.35 0.19 0.22 0.4 0.47 0.33 0.23 0.29 0.25 0.35 0.42 0.32 0.27 0.2 1
0.33 0.3 0.09 0.21 0.23 0.47 0.43 0.4 0.22 0.38 0.3 0.32 0.12 0.25 0.21 0.35 1
0.42 0.51 0.2 0.32 0.37 0.45 0.35 0.28 0.34 0.33 0.4 0.42 0.27 0.31 0.28 0.5 0.37 1
0.51 0.48 0.19 0.22 0.36 0.47 0.28 0.31 0.42 0.34 0.51 0.37 0.3 0.37 0.26 0.53 0.35 0.55 1
0.49 0.34 0.12 0.23 0.66 0.64 0.54 0.42 0.4 0.32 0.39 0.4 0.29 0.2 0.1 0.51 0.34 0.47 0.51 1
0.5 0.4 0.2 0.15 0.57 0.69 0.57 0.41 0.31 0.28 0.37 0.42 0.37 0.25 0.18 0.41 0.33 0.47 0.38 0.69 1
0.3 0.27 0.19 0.17 0.45 0.69 0.53 0.42 0.17 0.19 0.19 0.2 0.24 0.18 0.13 0.33 0.37 0.27 0.22 0.54 0.52 1
0.19 0.18 0.04 0.35 0.14 0.34 0.22 0.03 0.15 0.13 0.24 0.24 0.16 0.14 0.18 0.23 0.22 0.28 0.2 0.15 0.2 0.22 1
0.16 0.15 0.13 0.27 0.25 0.29 0.34 0.04 0.21 0.09 0.12 0.25 0.15 0.05 0.06 0.26 0.32 0.37 0.25 0.24 0.22 0.34 0.53 1
0.12 0.1 0.15 0.19 0.35 0.23 0.26 0.13 0.22 0.3 0.24 0.24 0.23 0.06 0 0.21 0.32 0.24 0.31 0.38 0.37 0.26 0.29 0.52 1
0.25 0.1 0.14 0.18 0.36 0.26 0.3 0.1 0.19 0.18 0.21 0.33 0.25 0.11 0.04 0.26 0.28 0.22 0.21 0.4 0.32 0.3 0.34 0.5 0.51 1'
lowerUGWISC <- '
1
0.65 1
0.17 0.17 1
0.05 0.05 0.3 1
0.36 0.28 0.2 0.18 1
0.44 0.44 0.14 0.24 0.57 1
0.36 0.36 0 0.17 0.52 0.74 1
0.39 0.33 0.19 0.21 0.43 0.58 0.65 1'
lowerUGPsy <- '
1
0.33 1
0.45 0.26 1
0.45 0.46 0.38 1
0.39 0.31 0.42 0.5 1
0.23 0.27 0.35 0.21 0.25 1
0.18 0.19 0.35 0.19 0.25 0.73 1
0.29 0.25 0.35 0.42 0.32 0.27 0.2 1
0.22 0.38 0.3 0.32 0.12 0.25 0.21 0.35 1
0.34 0.33 0.4 0.42 0.27 0.31 0.28 0.5 0.37 1
0.42 0.34 0.51 0.37 0.3 0.37 0.26 0.53 0.35 0.55 1
0.4 0.32 0.39 0.4 0.29 0.2 0.1 0.51 0.34 0.47 0.51 1
0.31 0.28 0.37 0.42 0.37 0.25 0.18 0.41 0.33 0.47 0.38 0.69 1
0.17 0.19 0.19 0.2 0.24 0.18 0.13 0.33 0.37 0.27 0.22 0.54 0.52 1
0.15 0.13 0.24 0.24 0.16 0.14 0.18 0.23 0.22 0.28 0.2 0.15 0.2 0.22 1
0.21 0.09 0.12 0.25 0.15 0.05 0.06 0.26 0.32 0.37 0.25 0.24 0.22 0.34 0.53 1
0.22 0.3 0.24 0.24 0.23 0.06 0 0.21 0.32 0.24 0.31 0.38 0.37 0.26 0.29 0.52 1
0.19 0.18 0.21 0.33 0.25 0.11 0.04 0.26 0.28 0.22 0.21 0.4 0.32 0.3 0.34 0.5 0.51 1'
nUG <- 144
UG.cor = getCov(lowerUG, names = c("WBD", "WOA", "WDF", "WDB", "WAR", "WV", "WI", "WC", "BC", "PFB", "PH", "CR", "FR", "SG1", "SG2", "FA", "FC", "FE", "FM", "AR", "NF", "SYN", "LI", "SI", "NAA", "NM"))
UGWISC.cor = getCov(lowerUGWISC, names = c("WBD", "WOA", "WDF", "WDB", "WAR", "WV", "WI", "WC"))
UGPSY.cor = getCov(lowerUGPsy, names = c("BC", "PFB", "PH", "CR", "FR", "SG1", "SG2", "FA", "FC", "FE", "FM", "AR", "NF", "SYN", "LI", "SI", "NAA", "NM"))
fa.parallel(UG.cor, n.obs = nUG)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 3
fa.parallel(UGWISC.cor, n.obs = nUG)
## 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.
## 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.
## Warning in fac(r = r, nfactors = nfactors, n.obs = n.obs, rotate = rotate, : An
## ultra-Heywood case was detected. Examine the results carefully
## Parallel analysis suggests that the number of factors = 3 and the number of components = 1
fa.parallel(UGPSY.cor, n.obs = nUG)
## Parallel analysis suggests that the number of factors = 4 and the number of components = 2
FATOT <- fa(UG.cor, n.obs = nUG, nfactors = 4)
FATOT1 <- fa(UG.cor, n.obs = nUG, nfactors = 1)
FAWISC <- fa(UGWISC.cor, n.obs = nUG, nfactors = 3)
FAWISC1 <- fa(UGWISC.cor, n.obs = nUG, nfactors = 1)
FAPSY <- fa(UGPSY.cor, n.obs = nUG, nfactors = 4)
FAPSY1 <- fa(UGPSY.cor, n.obs = nUG, nfactors = 1)
print(FATOT$loadings)
##
## Loadings:
## MR3 MR1 MR2 MR4
## WBD 0.742 0.123 -0.125
## WOA 0.615 -0.105 0.165
## WDF 0.133 0.119
## WDB 0.112 0.386 0.224
## WAR 0.127 0.627 -0.160
## WV 0.837 0.180
## WI -0.103 0.830
## WC 0.712 -0.182 0.155
## BC 0.577
## PFB 0.516
## PH 0.632 0.160
## CR 0.708 -0.130 0.169
## FR 0.603
## SG1 0.180 0.101 0.658
## SG2 0.804
## FA 0.400 0.195 0.158
## FC 0.141 0.293 0.229 0.135
## FE 0.429 0.129 0.226 0.152
## FM 0.558 0.110 0.123
## AR 0.339 0.615 -0.241
## NF 0.297 0.599 -0.131
## SYN 0.696 0.143
## LI 0.601 0.197
## SI 0.827
## NAA 0.146 0.547 -0.166
## NM 0.136 0.106 0.538 -0.136
##
## MR3 MR1 MR2 MR4
## SS loadings 3.814 3.757 2.067 1.495
## Proportion Var 0.147 0.145 0.080 0.058
## Cumulative Var 0.147 0.291 0.371 0.428
print(FAWISC$loadings)
##
## Loadings:
## MR1 MR3 MR2
## WBD 0.885
## WOA 0.708
## WDF 0.812
## WDB 0.277 -0.181 0.382
## WAR 0.552 0.153
## WV 0.782
## WI 0.949 -0.114
## WC 0.650 0.126
##
## MR1 MR3 MR2
## SS loadings 2.319 1.336 0.862
## Proportion Var 0.290 0.167 0.108
## Cumulative Var 0.290 0.457 0.565
print(FAPSY$loadings)
##
## Loadings:
## MR4 MR1 MR3 MR2
## BC 0.635
## PFB 0.464
## PH 0.516 0.208
## CR 0.723
## FR 0.559
## SG1 0.791
## SG2 0.890
## FA 0.280 0.348 0.110
## FC 0.111 0.267 0.230 0.153
## FE 0.316 0.256 0.143 0.181
## FM 0.435 0.225 0.170
## AR 0.875
## NF 0.703
## SYN -0.228 0.672 0.178
## LI 0.557 0.128
## SI 0.931
## NAA 0.157 0.173 0.487 -0.127
## NM 0.105 0.175 0.503
##
## MR4 MR1 MR3 MR2
## SS loadings 2.214 2.107 1.789 1.621
## Proportion Var 0.123 0.117 0.099 0.090
## Cumulative Var 0.123 0.240 0.339 0.430
print(FATOT1$loadings)
##
## Loadings:
## MR1
## WBD 0.681
## WOA 0.607
## WDF 0.249
## WDB 0.306
## WAR 0.620
## WV 0.797
## WI 0.655
## WC 0.545
## BC 0.530
## PFB 0.470
## PH 0.591
## CR 0.572
## FR 0.482
## SG1 0.453
## SG2 0.382
## FA 0.614
## FC 0.546
## FE 0.658
## FM 0.658
## AR 0.749
## NF 0.730
## SYN 0.576
## LI 0.370
## SI 0.420
## NAA 0.436
## NM 0.445
##
## MR1
## SS loadings 8.163
## Proportion Var 0.314
print(FAWISC1$loadings)
##
## Loadings:
## MR1
## WBD 0.591
## WOA 0.556
## WDF 0.219
## WDB 0.245
## WAR 0.634
## WV 0.852
## WI 0.782
## WC 0.711
##
## MR1
## SS loadings 3.011
## Proportion Var 0.376
print(FAPSY1$loadings)
##
## Loadings:
## MR1
## BC 0.540
## PFB 0.496
## PH 0.597
## CR 0.631
## FR 0.517
## SG1 0.433
## SG2 0.359
## FA 0.630
## FC 0.537
## FE 0.669
## FM 0.671
## AR 0.713
## NF 0.676
## SYN 0.505
## LI 0.398
## SI 0.463
## NAA 0.499
## NM 0.489
##
## MR1
## SS loadings 5.540
## Proportion Var 0.308
EFATOGUG <- c(0.681, 0.607, 0.249, 0.306, 0.620, 0.797, 0.655, 0.545, 0.530, 0.470, 0.591, 0.572, 0.482, 0.453, 0.382, 0.614, 0.546, 0.658, 0.658, 0.749, 0.730, 0.576, 0.370, 0.420, 0.436, 0.445)
EFATOGUGPsy <- c(0.681, 0.607, 0.249, 0.306, 0.620, 0.797, 0.655, 0.545); EFATOGUGPsy2 <- c(0.530, 0.470, 0.591, 0.572, 0.482, 0.453, 0.382, 0.614, 0.546, 0.658, 0.658, 0.749, 0.730, 0.576, 0.370, 0.420, 0.436, 0.445)
EFASEPUG <- c(0.591, 0.556, 0.219, 0.245, 0.634, 0.852, 0.782, 0.711, 0.540, 0.496, 0.597, 0.631, 0.517, 0.433, 0.359, 0.630, 0.537, 0.669, 0.671, 0.713, 0.676, 0.505, 0.398, 0.463, 0.499, 0.489)
EFASEPUGPsy <- c(0.591, 0.556, 0.219, 0.245, 0.634, 0.852, 0.782, 0.711); EFASEPUGPsy2 <- c(0.540, 0.496, 0.597, 0.631, 0.517, 0.433, 0.359, 0.630, 0.537, 0.669, 0.671, 0.713, 0.676, 0.505, 0.398, 0.463, 0.499, 0.489)
cor(EFATOGUG, EFASEPUG, method = "pearson"); cor(EFATOGUG, EFASEPUG, method = "spearman"); CONGO(EFATOGUG, EFASEPUG)
## [1] 0.9219611
## [1] 0.8986152
## [1] 0.9950578
cor(EFATOGUGPsy, EFASEPUGPsy, method = "pearson"); cor(EFATOGUGPsy, EFASEPUGPsy, method = "spearman"); CONGO(EFATOGUGPsy, EFASEPUGPsy)
## [1] 0.9242498
## [1] 0.7619048
## [1] 0.9903265
cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "pearson"); cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "spearman"); CONGO(EFATOGUGPsy2, EFASEPUGPsy2)
## [1] 0.9461369
## [1] 0.9437275
## [1] 0.9977838
WISO.model <- '
Gv =~ WBD + WOA
Gf =~ WDF + WDB
Gc =~ WAR + WV + WI + WC
gWI =~ Gv + Gf + Gc'
WISO.fit <- cfa(WISO.model, sample.cov = UG.cor, sample.nobs = nUG, std.lv = T, orthogonal = T, check.gradient = F, control = list(rel.tol = 1e-4))
summary(WISO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 49 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 19
##
## Number of observations 144
##
## Model Test User Model:
##
## Test statistic 31.006
## Degrees of freedom 17
## P-value (Chi-square) 0.020
##
## Model Test Baseline Model:
##
## Test statistic 428.931
## Degrees of freedom 28
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.965
## Tucker-Lewis Index (TLI) 0.942
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1431.641
## Loglikelihood unrestricted model (H1) -1416.138
##
## Akaike (AIC) 2901.282
## Bayesian (BIC) 2957.708
## Sample-size adjusted Bayesian (BIC) 2897.587
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.076
## 90 Percent confidence interval - lower 0.030
## 90 Percent confidence interval - upper 0.117
## P-value RMSEA <= 0.05 0.150
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.048
##
## 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
## Gv =~
## WBD 0.655 0.123 5.331 0.000 0.823 0.826
## WOA 0.625 0.117 5.355 0.000 0.784 0.787
## Gf =~
## WDF 0.399 0.134 2.966 0.003 0.426 0.428
## WDB 0.653 0.225 2.903 0.004 0.699 0.701
## Gc =~
## WAR 0.143 0.672 0.212 0.832 0.632 0.635
## WV 0.195 0.917 0.212 0.832 0.862 0.867
## WI 0.190 0.897 0.212 0.832 0.844 0.848
## WC 0.160 0.754 0.212 0.832 0.709 0.713
## gWI =~
## Gv 0.760 0.328 2.313 0.021 0.605 0.605
## Gf 0.379 0.187 2.028 0.043 0.354 0.354
## Gc 4.316 21.411 0.202 0.840 0.974 0.974
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .WBD 0.316 0.100 3.142 0.002 0.316 0.318
## .WOA 0.378 0.096 3.947 0.000 0.378 0.381
## .WDF 0.811 0.144 5.622 0.000 0.811 0.817
## .WDB 0.505 0.296 1.704 0.088 0.505 0.508
## .WAR 0.591 0.077 7.728 0.000 0.591 0.597
## .WV 0.245 0.050 4.877 0.000 0.245 0.248
## .WI 0.278 0.052 5.374 0.000 0.278 0.281
## .WC 0.486 0.067 7.307 0.000 0.486 0.491
## .Gv 1.000 0.634 0.634
## .Gf 1.000 0.874 0.874
## .Gc 1.000 0.051 0.051
## gWI 1.000 1.000 1.000
PSYSO.model <- '
GvT =~ BC + PFB + PH + CR + FR + SG1 + SG2
GfT =~ FA + FC + FE + FM
GcT =~ AR + NF + SYN
Gs =~ LI + SI + NAA + NM
gPsy =~ GvT + GfT + GcT + Gs'
PSYSO.fit <- cfa(PSYSO.model, sample.cov = UG.cor, sample.nobs = nUG, std.lv = T, orthogonal = T, check.gradient = F)
summary(PSYSO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 52 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 40
##
## Number of observations 144
##
## Model Test User Model:
##
## Test statistic 267.602
## Degrees of freedom 131
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1092.409
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.855
## Tucker-Lewis Index (TLI) 0.830
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3256.454
## Loglikelihood unrestricted model (H1) -3122.653
##
## Akaike (AIC) 6592.908
## Bayesian (BIC) 6711.700
## Sample-size adjusted Bayesian (BIC) 6585.130
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.085
## 90 Percent confidence interval - lower 0.070
## 90 Percent confidence interval - upper 0.100
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.072
##
## 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
## GvT =~
## BC 0.351 0.063 5.577 0.000 0.613 0.615
## PFB 0.306 0.060 5.070 0.000 0.535 0.537
## PH 0.378 0.065 5.842 0.000 0.659 0.662
## CR 0.388 0.065 5.931 0.000 0.677 0.679
## FR 0.344 0.063 5.506 0.000 0.601 0.603
## SG1 0.288 0.059 4.836 0.000 0.502 0.504
## SG2 0.258 0.058 4.439 0.000 0.450 0.452
## GfT =~
## FA 0.149 0.148 1.007 0.314 0.689 0.692
## FC 0.113 0.113 1.003 0.316 0.526 0.528
## FE 0.156 0.155 1.007 0.314 0.724 0.726
## FM 0.158 0.157 1.007 0.314 0.734 0.736
## GcT =~
## AR 0.542 0.068 7.966 0.000 0.869 0.872
## NF 0.497 0.064 7.827 0.000 0.797 0.800
## SYN 0.384 0.060 6.396 0.000 0.616 0.618
## Gs =~
## LI 0.467 0.073 6.408 0.000 0.570 0.572
## SI 0.637 0.073 8.752 0.000 0.778 0.780
## NAA 0.552 0.072 7.659 0.000 0.674 0.676
## NM 0.549 0.072 7.605 0.000 0.669 0.672
## gPsy =~
## GvT 1.431 0.285 5.011 0.000 0.820 0.820
## GfT 4.530 4.668 0.971 0.332 0.976 0.976
## GcT 1.254 0.223 5.617 0.000 0.782 0.782
## Gs 0.700 0.140 5.015 0.000 0.573 0.573
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .BC 0.617 0.083 7.444 0.000 0.617 0.622
## .PFB 0.707 0.091 7.796 0.000 0.707 0.712
## .PH 0.558 0.078 7.148 0.000 0.558 0.562
## .CR 0.535 0.076 7.016 0.000 0.535 0.539
## .FR 0.632 0.084 7.507 0.000 0.632 0.636
## .SG1 0.741 0.094 7.907 0.000 0.741 0.746
## .SG2 0.791 0.098 8.050 0.000 0.791 0.796
## .FA 0.518 0.073 7.086 0.000 0.518 0.521
## .FC 0.716 0.091 7.910 0.000 0.716 0.721
## .FE 0.469 0.069 6.768 0.000 0.469 0.472
## .FM 0.455 0.068 6.658 0.000 0.455 0.458
## .AR 0.238 0.059 4.052 0.000 0.238 0.240
## .NF 0.357 0.062 5.798 0.000 0.357 0.360
## .SYN 0.614 0.080 7.648 0.000 0.614 0.618
## .LI 0.668 0.090 7.448 0.000 0.668 0.673
## .SI 0.388 0.076 5.108 0.000 0.388 0.391
## .NAA 0.539 0.081 6.640 0.000 0.539 0.542
## .NM 0.545 0.081 6.688 0.000 0.545 0.549
## .GvT 1.000 0.328 0.328
## .GfT 1.000 0.046 0.046
## .GcT 1.000 0.389 0.389
## .Gs 1.000 0.671 0.671
## gPsy 1.000 1.000 1.000
WIPSYNO.model <- '
Gv =~ WBD + WOA
Gf =~ WDF + WDB
Gc =~ WAR + WV + WI + WC
gWI =~ Gv + Gf + Gc
GvT =~ BC + PFB + PH + CR + FR + SG1 + SG2
GfT =~ FA + FC + FE + FM
GcT =~ AR + NF + SYN
Gs =~ LI + SI + NAA + NM
gPsy =~ GvT + GfT + GcT + Gs
gWI ~~ 0*gPsy'
WIPSY.model <- '
Gv =~ WBD + WOA
Gf =~ WDF + WDB
Gc =~ WAR + WV + WI + WC
gWI =~ Gv + Gf + Gc
GvT =~ BC + PFB + PH + CR + FR + SG1 + SG2
GfT =~ FA + FC + FE + FM
GcT =~ AR + NF + SYN
Gs =~ LI + SI + NAA + NM
gPsy =~ GvT + GfT + GcT + Gs
gWI ~~ gPsy'
WIPSYID.model <- '
Gv =~ WBD + WOA
Gf =~ WDF + WDB
Gc =~ WAR + WV + WI + WC
gWI =~ Gv + Gf + Gc
GvT =~ BC + PFB + PH + CR + FR + SG1 + SG2
GfT =~ FA + FC + FE + FM
GcT =~ AR + NF + SYN
Gs =~ LI + SI + NAA + NM
gPsy =~ GvT + GfT + GcT + Gs
gWI ~~ 1*gPsy'
WIPSYNO.fit <- cfa(WIPSYNO.model, sample.cov = UG.cor, sample.nobs = nUG, std.lv = T, orthogonal = T, check.gradient = F)
WIPSY.fit <- cfa(WIPSY.model, sample.cov = UG.cor, sample.nobs = nUG, std.lv = T, orthogonal = T, check.gradient = F); "\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"
WIPSYID.fit <- cfa(WIPSYID.model, sample.cov = UG.cor, sample.nobs = nUG, std.lv = T, orthogonal = T, check.gradient = F)
round(cbind("No Relationship" = fitMeasures(WIPSYNO.fit, FITM),
"Free Relationship" = fitMeasures(WIPSY.fit, FITM),
"Identical" = fitMeasures(WIPSYID.fit, FITM)), 3)
## No Relationship Free Relationship Identical
## chisq 800.991 635.588 646.186
## df 292.000 291.000 292.000
## npar 59.000 60.000 59.000
## cfi 0.700 0.797 0.792
## rmsea 0.110 0.091 0.092
## rmsea.ci.lower 0.101 0.081 0.082
## rmsea.ci.upper 0.119 0.100 0.101
## aic 9494.095 9330.692 9339.290
## bic 9669.314 9508.881 9514.509
summary(WIPSY.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 55 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 60
##
## Number of observations 144
##
## Model Test User Model:
##
## Test statistic 635.588
## Degrees of freedom 291
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 2023.817
## Degrees of freedom 325
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.797
## Tucker-Lewis Index (TLI) 0.773
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -4605.346
## Loglikelihood unrestricted model (H1) -4287.552
##
## Akaike (AIC) 9330.692
## Bayesian (BIC) 9508.881
## Sample-size adjusted Bayesian (BIC) 9319.025
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.091
## 90 Percent confidence interval - lower 0.081
## 90 Percent confidence interval - upper 0.100
## P-value RMSEA <= 0.05 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.080
##
## 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
## Gv =~
## WBD 0.599 0.071 8.444 0.000 0.870 0.873
## WOA 0.512 0.062 8.277 0.000 0.742 0.745
## Gf =~
## WDF 0.424 0.108 3.936 0.000 0.481 0.483
## WDB 0.546 0.137 3.976 0.000 0.619 0.621
## Gc =~
## WAR 0.417 0.056 7.466 0.000 0.657 0.659
## WV 0.575 0.058 9.863 0.000 0.907 0.910
## WI 0.512 0.056 9.108 0.000 0.808 0.810
## WC 0.416 0.056 7.457 0.000 0.656 0.658
## gWI =~
## Gv 1.051 0.176 5.960 0.000 0.724 0.724
## Gf 0.537 0.161 3.329 0.001 0.473 0.473
## Gc 1.219 0.188 6.482 0.000 0.773 0.773
## GvT =~
## BC 0.366 0.058 6.284 0.000 0.613 0.616
## PFB 0.314 0.057 5.496 0.000 0.526 0.527
## PH 0.397 0.059 6.707 0.000 0.665 0.667
## CR 0.385 0.059 6.558 0.000 0.646 0.648
## FR 0.355 0.058 6.127 0.000 0.595 0.597
## SG1 0.315 0.057 5.527 0.000 0.529 0.531
## SG2 0.288 0.057 5.094 0.000 0.483 0.485
## GfT =~
## FA 0.335 0.059 5.649 0.000 0.684 0.686
## FC 0.266 0.054 4.940 0.000 0.543 0.545
## FE 0.353 0.061 5.781 0.000 0.721 0.723
## FM 0.358 0.062 5.809 0.000 0.730 0.732
## GcT =~
## AR 0.359 0.061 5.860 0.000 0.826 0.829
## NF 0.357 0.061 5.857 0.000 0.821 0.824
## SYN 0.283 0.053 5.342 0.000 0.649 0.652
## Gs =~
## LI 0.496 0.075 6.652 0.000 0.579 0.581
## SI 0.671 0.073 9.173 0.000 0.782 0.785
## NAA 0.568 0.073 7.731 0.000 0.662 0.664
## NM 0.574 0.073 7.836 0.000 0.670 0.672
## gPsy =~
## GvT 1.345 0.221 6.085 0.000 0.803 0.803
## GfT 1.779 0.341 5.211 0.000 0.872 0.872
## GcT 2.070 0.405 5.107 0.000 0.900 0.900
## Gs 0.600 0.122 4.936 0.000 0.514 0.514
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## gWI ~~
## gPsy 1.140 0.047 24.203 0.000 1.140 1.140
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .WBD 0.237 0.072 3.313 0.001 0.237 0.239
## .WOA 0.442 0.071 6.241 0.000 0.442 0.445
## .WDF 0.762 0.125 6.094 0.000 0.762 0.767
## .WDB 0.610 0.161 3.786 0.000 0.610 0.614
## .WAR 0.562 0.072 7.819 0.000 0.562 0.566
## .WV 0.170 0.040 4.226 0.000 0.170 0.172
## .WI 0.341 0.051 6.721 0.000 0.341 0.343
## .WC 0.563 0.072 7.822 0.000 0.563 0.567
## .BC 0.617 0.082 7.476 0.000 0.617 0.621
## .PFB 0.717 0.091 7.852 0.000 0.717 0.722
## .PH 0.551 0.077 7.155 0.000 0.551 0.555
## .CR 0.576 0.079 7.283 0.000 0.576 0.580
## .FR 0.639 0.084 7.569 0.000 0.639 0.643
## .SG1 0.713 0.091 7.840 0.000 0.713 0.718
## .SG2 0.760 0.095 7.981 0.000 0.760 0.765
## .FA 0.525 0.074 7.130 0.000 0.525 0.529
## .FC 0.698 0.089 7.857 0.000 0.698 0.703
## .FE 0.474 0.070 6.802 0.000 0.474 0.477
## .FM 0.460 0.069 6.702 0.000 0.460 0.464
## .AR 0.311 0.053 5.922 0.000 0.311 0.314
## .NF 0.319 0.053 6.014 0.000 0.319 0.321
## .SYN 0.571 0.075 7.662 0.000 0.571 0.575
## .LI 0.658 0.089 7.383 0.000 0.658 0.663
## .SI 0.381 0.077 4.968 0.000 0.381 0.384
## .NAA 0.555 0.082 6.738 0.000 0.555 0.559
## .NM 0.544 0.082 6.654 0.000 0.544 0.548
## .Gv 1.000 0.475 0.475
## .Gf 1.000 0.776 0.776
## .Gc 1.000 0.402 0.402
## gWI 1.000 1.000 1.000
## .GvT 1.000 0.356 0.356
## .GfT 1.000 0.240 0.240
## .GcT 1.000 0.189 0.189
## .Gs 1.000 0.735 0.735
## gPsy 1.000 1.000 1.000
CRITR(144); CRITR(144, NP(144))
## [1] 0.1636537
## [1] 0.2657493
resid(WIPSY.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## WBD WOA WDF WDB WAR WV WI WC BC PFB
## WBD 0.000
## WOA 0.000 0.000
## WDF 0.026 0.047 0.000
## WDB -0.136 -0.109 0.000 0.000
## WAR 0.038 0.005 0.084 0.030 0.000
## WV -0.005 0.060 -0.021 0.033 -0.030 0.000
## WI -0.036 0.022 -0.143 -0.014 -0.014 0.002 0.000
## WC 0.068 0.055 0.074 0.060 -0.004 -0.019 0.116 0.000
## BC 0.114 0.056 -0.039 -0.076 -0.027 -0.036 -0.043 -0.007 0.000
## PFB 0.105 0.130 -0.020 -0.042 -0.076 -0.030 -0.132 -0.036 0.005 0.000
## PH 0.184 0.161 0.071 -0.079 -0.031 -0.090 -0.092 -0.021 0.039 -0.092
## CR 0.115 0.090 -0.026 -0.004 -0.092 -0.108 -0.152 -0.132 0.051 0.118
## FR 0.074 0.055 -0.015 -0.151 0.021 -0.105 -0.163 -0.148 0.022 -0.005
## SG1 0.023 0.068 0.009 0.037 -0.037 0.068 -0.044 0.043 -0.097 -0.010
## SG2 0.010 0.081 -0.051 0.070 -0.126 0.058 -0.048 0.064 -0.118 -0.066
## FA -0.021 -0.018 0.034 0.019 0.052 -0.010 -0.097 -0.117 -0.006 -0.003
## FC -0.012 0.008 -0.034 0.051 -0.046 0.089 0.091 0.124 -0.015 0.179
## FE -0.034 0.122 0.036 0.109 0.004 -0.056 -0.100 -0.086 0.029 0.063
## FM 0.050 0.087 0.024 0.006 -0.011 -0.042 -0.176 -0.060 0.105 0.070
## AR -0.048 -0.119 -0.074 -0.020 0.227 0.041 0.007 -0.013 0.031 0.004
## NF -0.035 -0.057 0.007 -0.099 0.139 0.095 0.040 -0.021 -0.057 -0.034
## SYN -0.123 -0.091 0.037 -0.027 0.109 0.219 0.111 0.079 -0.120 -0.058
## LI -0.025 -0.004 -0.038 0.250 -0.034 0.100 0.007 -0.143 0.002 0.004
## SI -0.131 -0.098 0.025 0.135 0.015 -0.034 0.052 -0.194 0.011 -0.081
## NAA -0.126 -0.110 0.061 0.075 0.151 -0.044 0.016 -0.068 0.051 0.155
## NM 0.001 -0.113 0.050 0.064 0.159 -0.017 0.053 -0.101 0.019 0.034
## PH CR FR SG1 SG2 FA FC FE FM AR
## WBD
## WOA
## WDF
## WDB
## WAR
## WV
## WI
## WC
## BC
## PFB
## PH 0.000
## CR -0.052 0.000
## FR 0.022 0.113 0.000
## SG1 -0.004 -0.134 -0.067 0.000
## SG2 0.027 -0.124 -0.040 0.473 0.000
## FA 0.030 0.109 0.033 0.015 -0.033 0.000
## FC 0.046 0.073 -0.108 0.048 0.025 -0.024 0.000
## FE 0.063 0.092 -0.032 0.042 0.035 0.004 -0.024 0.000
## FM 0.168 0.038 -0.006 0.098 0.012 0.027 -0.049 0.020 0.000
## AR -0.009 0.012 -0.068 -0.118 -0.190 0.064 -0.014 0.000 0.034 0.000
## NF -0.027 0.034 0.014 -0.066 -0.109 -0.034 -0.022 0.002 -0.094 0.007
## SYN -0.124 -0.105 -0.041 -0.070 -0.098 -0.021 0.091 -0.100 -0.155 0.000
## LI 0.080 0.085 0.017 0.013 0.064 0.051 0.078 0.092 0.009 -0.073
## SI -0.096 0.040 -0.044 -0.122 -0.097 0.018 0.128 0.116 -0.008 -0.061
## NAA 0.057 0.062 0.066 -0.085 -0.133 0.006 0.158 0.025 0.092 0.125
## NM 0.025 0.150 0.084 -0.037 -0.095 0.053 0.116 0.002 -0.011 0.142
## NF SYN LI SI NAA NM
## WBD
## WOA
## WDF
## WDB
## WAR
## WV
## WI
## WC
## BC
## PFB
## PH
## CR
## FR
## SG1
## SG2
## FA
## FC
## FE
## FM
## AR
## NF 0.000
## SYN -0.017 0.000
## LI -0.022 0.045 0.000
## SI -0.080 0.103 0.074 0.000
## NAA 0.117 0.060 -0.096 -0.001 0.000
## NM 0.063 0.097 -0.050 -0.028 0.064 0.000
length(which(resid(WIPSY.fit, "cor")$cov > 0.164)); length(which(resid(WIPSY.fit, "cor")$cov > 0.266))
## [1] 14
## [1] 2
lowerGRIG <- '
1
0.48 1
0.47 0.4 1
0.24 0.27 0.28 1
0.36 0.31 0.38 0.33 1
0.35 0.3 0.27 0.26 0.68 1'
lowerGRIGCC <- '
1
0.48 1
0.47 0.4 1
0.24 0.27 0.28 1'
lowerGRIGMH <- '
1
0.68 1'
nGRIG <- 261
GRIG.cor = getCov(lowerGRIG, names = c("SC", "CS", "MC", "TO", "FA", "FB"))
GRIGCC.cor = getCov(lowerGRIGCC, names = c("SC", "CS", "MC", "TO"))
GRIGMH.cor = getCov(lowerGRIGMH, names = c("FA", "FB"))
fa.parallel(GRIG.cor, n.obs = nGRIG)
## Parallel analysis suggests that the number of factors = 2 and the number of components = 1
fa.parallel(GRIGCC.cor, n.obs = nGRIG)
## Parallel analysis suggests that the number of factors = 1 and the number of components = 1
fa.parallel(GRIGMH.cor, n.obs = nGRIG)
## Parallel analysis suggests that the number of factors = 1 and the number of components = 1
FATOT <- fa(GRIG.cor, n.obs = nGRIG, nfactors = 2)
FATOT1 <- fa(GRIG.cor, n.obs = nGRIG, nfactors = 1)
FACC <- fa(GRIGCC.cor, n.obs = nGRIG, nfactors = 1)
FAMH <- fa(GRIGMH.cor, n.obs = nGRIG, nfactors = 1)
print(FATOT$loadings)
##
## Loadings:
## MR2 MR1
## SC 0.730
## CS 0.671
## MC 0.607
## TO 0.290 0.184
## FA 1.012
## FB 0.131 0.612
##
## MR2 MR1
## SS loadings 1.453 1.434
## Proportion Var 0.242 0.239
## Cumulative Var 0.242 0.481
print(FACC$loadings)
##
## Loadings:
## MR1
## SC 0.712
## CS 0.654
## MC 0.649
## TO 0.390
##
## MR1
## SS loadings 1.508
## Proportion Var 0.377
print(FAMH$loadings)
##
## Loadings:
## MR1
## FA 0.825
## FB 0.825
##
## MR1
## SS loadings 1.36
## Proportion Var 0.68
print(FATOT1$loadings)
##
## Loadings:
## MR1
## SC 0.634
## CS 0.573
## MC 0.591
## TO 0.436
## FA 0.719
## FB 0.647
##
## MR1
## SS loadings 2.205
## Proportion Var 0.368
EFATOGUG <- c(0.634, 0.573, 0.591, 0.436, 0.719, 0.647)
EFATOGUGPsy <- c(0.634, 0.573, 0.591, 0.436); EFATOGUGPsy2 <- c(0.719, 0.647)
EFASEPUG <- c(0.712, 0.654, 0.649, 0.390, 0.825, 0.825)
EFASEPUGPsy <- c(0.712, 0.654, 0.649, 0.390); EFASEPUGPsy2 <- c(0.825, 0.825)
cor(EFATOGUG, EFASEPUG, method = "pearson"); cor(EFATOGUG, EFASEPUG, method = "spearman"); CONGO(EFATOGUG, EFASEPUG)
## [1] 0.9659127
## [1] 0.9276337
## [1] 0.9965379
cor(EFATOGUGPsy, EFASEPUGPsy, method = "pearson"); cor(EFATOGUGPsy, EFASEPUGPsy, method = "spearman"); CONGO(EFATOGUGPsy, EFASEPUGPsy)
## [1] 0.9907923
## [1] 0.8
## [1] 0.9971511
cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "pearson"); cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "spearman"); CONGO(EFATOGUGPsy2, EFASEPUGPsy2)
## Warning in cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "pearson"): the standard
## deviation is zero
## [1] NA
## Warning in cor(EFATOGUGPsy2, EFASEPUGPsy2, method = "spearman"): the standard
## deviation is zero
## [1] NA
## [1] 0.9986138
This is obviously not doable with so few indicators. Additionally, with just two indicators, something’s loadings are obviously just \(\sqrt{r}\).
CCSO.model <- '
gCC =~ SC + CS + MC + TO'
CCSO.fit <- cfa(CCSO.model, sample.cov = GRIG.cor, sample.nobs = nGRIG, std.lv = T, orthogonal = T, check.gradient = F, control = list(rel.tol = 1e-4))
summary(CCSO.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 8 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 8
##
## Number of observations 261
##
## Model Test User Model:
##
## Test statistic 2.126
## Degrees of freedom 2
## P-value (Chi-square) 0.345
##
## Model Test Baseline Model:
##
## Test statistic 178.191
## Degrees of freedom 6
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.999
## Tucker-Lewis Index (TLI) 0.998
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1391.335
## Loglikelihood unrestricted model (H1) -1390.272
##
## Akaike (AIC) 2798.670
## Bayesian (BIC) 2827.187
## Sample-size adjusted Bayesian (BIC) 2801.823
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.016
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.125
## P-value RMSEA <= 0.05 0.551
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.018
##
## 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
## gCC =~
## SC 0.720 0.068 10.602 0.000 0.720 0.721
## CS 0.652 0.067 9.673 0.000 0.652 0.653
## MC 0.643 0.067 9.546 0.000 0.643 0.644
## TO 0.384 0.070 5.497 0.000 0.384 0.385
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .SC 0.478 0.074 6.480 0.000 0.478 0.480
## .CS 0.572 0.071 7.997 0.000 0.572 0.574
## .MC 0.583 0.071 8.172 0.000 0.583 0.585
## .TO 0.849 0.079 10.676 0.000 0.849 0.852
## gCC 1.000 1.000 1.000
CCMHNO.model <- '
gCC =~ SC + CS + MC + TO
gMH =~ FA + FB
gCC ~~ 0*gMH'
CCMH.model <- '
gCC =~ SC + CS + MC + TO
gMH =~ FA + FB
gCC ~~ gMH'
CCMHID.model <- '
gCC =~ SC + CS + MC + TO
gMH =~ FA + FB
gCC ~~ 1*gMH'
CCMHNO.fit <- cfa(CCMHNO.model, sample.cov = GRIG.cor, sample.nobs = nGRIG, std.lv = T, orthogonal = T, check.gradient = F); "\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"
CCMH.fit <- cfa(CCMH.model, sample.cov = GRIG.cor, sample.nobs = nGRIG, std.lv = T, orthogonal = T, check.gradient = F)
CCMHID.fit <- cfa(CCMHID.model, sample.cov = GRIG.cor, sample.nobs = nGRIG, std.lv = T, orthogonal = T, check.gradient = F)
round(cbind("No Relationship" = fitMeasures(CCMHNO.fit, FITM),
"Free Relationship" = fitMeasures(CCMH.fit, FITM),
"Identical" = fitMeasures(CCMHID.fit, FITM)), 3)
## No Relationship Free Relationship Identical
## chisq 81.088 13.021 82.537
## df 9.000 8.000 9.000
## npar 12.000 13.000 12.000
## cfi 0.822 0.988 0.818
## rmsea 0.175 0.049 0.177
## rmsea.ci.lower 0.141 0.000 0.143
## rmsea.ci.upper 0.211 0.095 0.213
## aic 4124.051 4057.984 4125.500
## bic 4166.826 4104.323 4168.274
summary(CCMH.fit, stand = T, fit = T)
## lavaan 0.6-7 ended normally after 17 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of free parameters 13
##
## Number of observations 261
##
## Model Test User Model:
##
## Test statistic 13.021
## Degrees of freedom 8
## P-value (Chi-square) 0.111
##
## Model Test Baseline Model:
##
## Test statistic 419.141
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.988
## Tucker-Lewis Index (TLI) 0.977
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2015.992
## Loglikelihood unrestricted model (H1) -2009.481
##
## Akaike (AIC) 4057.984
## Bayesian (BIC) 4104.323
## Sample-size adjusted Bayesian (BIC) 4063.107
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.049
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.095
## P-value RMSEA <= 0.05 0.456
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.033
##
## 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
## gCC =~
## SC 0.705 0.064 11.046 0.000 0.705 0.706
## CS 0.636 0.065 9.843 0.000 0.636 0.637
## MC 0.652 0.064 10.114 0.000 0.652 0.653
## TO 0.422 0.068 6.207 0.000 0.422 0.423
## gMH =~
## FA 0.882 0.066 13.367 0.000 0.882 0.884
## FB 0.768 0.065 11.820 0.000 0.768 0.770
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## gCC ~~
## gMH 0.618 0.059 10.441 0.000 0.618 0.618
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .SC 0.499 0.066 7.596 0.000 0.499 0.501
## .CS 0.592 0.067 8.802 0.000 0.592 0.594
## .MC 0.572 0.067 8.569 0.000 0.572 0.574
## .TO 0.818 0.077 10.615 0.000 0.818 0.821
## .FA 0.219 0.082 2.676 0.007 0.219 0.219
## .FB 0.406 0.070 5.807 0.000 0.406 0.408
## gCC 1.000 1.000 1.000
## gMH 1.000 1.000 1.000
CRITR(261); CRITR(261, NP(261))
## [1] 0.1214522
## [1] 0.2102434
resid(CCMH.fit, "cor")
## $type
## [1] "cor.bollen"
##
## $cov
## SC CS MC TO FA FB
## SC 0.000
## CS 0.030 0.000
## MC 0.009 -0.016 0.000
## TO -0.059 0.001 0.004 0.000
## FA -0.026 -0.038 0.023 0.099 0.000
## FB 0.014 -0.003 -0.041 0.059 0.000 0.000
length(which(resid(CCMH.fit, "cor")$cov > 0.121)); length(which(resid(CCMH.fit, "cor")$cov > 0.210))
## [1] 0
## [1] 0
[Do later: Perhaps Caemmerer et al. (2020); check for consistency of g loadings and unidimensionality.]
Posted at https://rpubs.com/JLLJ/JOGF.
Stauffer, J. M., Ree, M. J., & Carretta, T. R. (1996). Cognitive-Components Tests Are Not Much More than g: An Extension of Kyllonen’s Analyses. The Journal of General Psychology, 123(3), 193-205. https://doi.org/10.1080/00221309.1996.9921272
Keith, T. Z., Kranzler, J. H., & Flanagan, D. P. (2001). What Does the Cognitive Assessment System (CAS) Measure? Joint Confirmatory Factor Analysis of the CAS and the Woodcock-Johnson Tests of Cognitive Ability (3rd Edition). School Psychology Review, 30(1), 89-119.
Deary, I. J., Bell, P. J., Bell, A. J., Campbell, M. L., & Fazal, N. D. (2004). Sensory discrimination and intelligence: Testing Spearman’s other hypothesis. The American Journal of Psychology, 117(1), 1-18.
Johnson, W., Bouchard, T. J., Krueger, R. F., McGue, M., & Gottesman, I. I. (2004). Just one g: Consistent results from three test batteries. Intelligence, 32(1), 95-107. https://doi.org/10.1016/S0160-2896(03)00062-X
Deary, I. J., Strand, S., Smith, P., & Fernandes, C. (2007). Intelligence and educational achievement. Intelligence, 35(1), 13-21. https://doi.org/10.1016/j.intell.2006.02.001
Johnson, W., Nijenhuis, J. te, & Bouchard, T. J. (2008). Still just 1 g: Consistent results from five test batteries. Intelligence, 36(1), 81-95. https://doi.org/10.1016/j.intell.2007.06.001
Floyd, R. G., Bergeron, R., Hamilton, G., & Parra, G. R. (2010). How do executive functions fit with the Cattell-Horn-Carroll model? Some evidence from a joint factor analysis of the Delis-Kaplan Executive Function System and the Woodcock-Johnson III tests of cognitive abilities. Psychology in the Schools, 721-738. https://doi.org/10.1002/pits.20500
Meyer, C. S., Hagmann-von Arx, P., Lemola, S., & Grob, A. (2010). Correspondence between the general ability to discriminate sensory stimuli and general intelligence. Journal of Individual Differences, 31(1), 46-56. https://doi.org/10.1027/1614-0001/a000006 [Along with others, check g consistency]
Kaufman, S. B., Reynolds, M. R., Liu, X., Kaufman, A. S., & McGrew, K. S. (2012). Are cognitive g and academic achievement g one and the same g? An exploration on the Woodcock-Johnson and Kaufman tests. Intelligence, 40(2), 123-138. https://doi.org/10.1016/j.intell.2012.01.009 [Do decomposition]
Floyd, R. G., Reynolds, M. R., Farmer, R. L., Kranzler, J. H., & Volpe, R. (2013). Are the General Factors From Different Child And Adolescent Intelligence Tests the Same? Results From a Five-Sample, Six-Test Analysis. School Psychology Review, 42(4), 383-401.
Salthouse, T. A. (2014). Evaluating the Correspondence of Different Cognitive Batteries. Assessment, 21(2), 131-142. https://doi.org/10.1177/1073191113486690
Valerius, S., & Sparfeldt, J. R. (2014). Consistent g- as well as consistent verbal-, numerical- and figural-factors in nested factor models? Confirmatory factor analyses using three test batteries. Intelligence, 44, 120-133. https://doi.org/10.1016/j.intell.2014.04.003
Angeles Quiroga, M., Escorial, S., Roman, F. J., Morillo, D., Jarabo, A., Privado, J., Hernandez, M., Gallego, B., & Colom, R. (2015). Can we reliably measure the general factor of intelligence (g) through commercial video games? Yes, we can! Intelligence, 53, 1-7. https://doi.org/10.1016/j.intell.2015.08.004 [Do decomposition]
Reynolds, M. R., Hajovsky, D. B., Pace, J. R., & Niileksela, C. R. (2016). What Does the Shipley-2 Measure for Children and Adolescents? Integrated and Conjoint Confirmatory Factor Analysis With the WISC-IV. Assessment, 23(1), 23-41. https://doi.org/10.1177/1073191115572695
Swagerman, S. C., Geus, E. J. C. de, Kan, K. J., Bergen, E. van, Nieuwboer, H. A., Koenis, M. M. G., Pol, H. E. H., Gur, R. E., Gur, R. C., & Boomsma, D. I. (2016). The Computerized Neurocognitive Battery: Validation, aging effects, and heritability across cognitive domains. Neuropsychology, 30(1), 53-64. https://doi.org/10.1037/neu0000248 [*note MI for Dutch/TCP-PNC black and white]*
Zaboski, B. A., Kranzler, J. H., & Gage, N. A. (2018). Meta-analysis of the relationship between academic achievement and broad abilities of the Cattell-horn-Carroll theory. Journal of School Psychology, 71, 42-56. https://doi.org/10.1016/j.jsp.2018.10.001
I have also analyzed Naglieri & Jensen (1987), Lim (1988), Engelhardt (2018), Buczylowska, Petermann & Daseking (2020), and Wang et al. (2021) and found practically identical results:
It seems likely that practically the same g is measured by different tests in different modalities.
van der Maas, H. L. J., Dolan, C. V., Grasman, R. P., Wicherts, J. M., Huizenga, H. M., & Raijmakers, M. E. J. (2006). A dynamical model of general intelligence: The positive manifold of intelligence by mutualism. Psychological Review, 113(4), 842-861. https://doi.org/10.1037/0033-295X.113.4.842
Kovacs, K., & Conway, A. R. A. (2016). Process Overlap Theory: A Unified Account of the General Factor of Intelligence. Psychological Inquiry, 27(3), 151-177. https://doi.org/10.1080/1047840X.2016.1153946
Detterman, D. K. (1993). The case for the prosecution: Transfer as an epiphenomenon. In Transfer on trial: Intelligence, cognition, and instruction (pp. 1-24). Ablex Publishing.
Sala, G., Aksayli, N. D., Tatlidil, K. S., Tatsumi, T., Gondo, Y., & Gobet, F. (2019). Near and Far Transfer in Cognitive Training: A Second-Order Meta-Analysis. Collabra: Psychology, 5(1), 18. https://doi.org/10.1525/collabra.203
Kievit, R. A., Lindenberger, U., Goodyer, I. M., Jones, P. B., Fonagy, P., Bullmore, E. T., & Dolan, R. J. (2017). Mutualistic Coupling Between Vocabulary and Reasoning Supports Cognitive Development During Late Adolescence and Early Adulthood. Psychological Science, 28(10), 1419-1431. https://doi.org/10.1177/0956797617710785
Kievit, R. A., Hofman, A. D., & Nation, K. (2019). Mutualistic Coupling Between Vocabulary and Reasoning in Young Children: A Replication and Extension of the Study by Kievit et al. (2017). Psychological Science, 30(8), 1245-1252. https://doi.org/10.1177/0956797619841265
Shikishima, C., Hiraishi, K., Yamagata, S., Sugimoto, Y., Takemura, R., Ozaki, K., Okada, M., Toda, T., & Ando, J. (2009). Is g an entity? A Japanese twin study using syllogisms and intelligence tests. Intelligence, 37(3), 256-267. https://doi.org/10.1016/j.intell.2008.10.010
Panizzon, M. S., Vuoksimaa, E., Spoon, K. M., Jacobson, K. C., Lyons, M. J., Franz, C. E., Xian, H., Vasilopoulos, T., & Kremen, W. S. (2014). Genetic and Environmental Influences of General Cognitive Ability: Is g a valid latent construct? Intelligence, 43, 65-76. https://doi.org/10.1016/j.intell.2014.01.008
Engelhardt, L. E., Mann, F. D., Briley, D. A., Church, J. A., Harden, K. P., & Tucker-Drob, E. M. (2016). Strong Genetic Overlap Between Executive Functions and Intelligence. Journal of Experimental Psychology. General, 145(9), 1141-1159. https://doi.org/10.1037/xge0000195
Major, J. T., Johnson, W., & Bouchard, T. J. (2011). The dependability of the general factor of intelligence: Why small, single-factor models do not adequately represent g. Intelligence, 39(5), 418-433. https://doi.org/10.1016/j.intell.2011.07.002
Johnson, W., Nijenhuis, J. te, & Bouchard, T. J. (2008). Still just 1 g: Consistent results from five test batteries. Intelligence, 36(1), 81-95. https://doi.org/10.1016/j.intell.2007.06.001
Salthouse, T. A. (2014). Evaluating the Correspondence of Different Cognitive Batteries. Assessment, 21(2), 131-142. https://doi.org/10.1177/1073191113486690
Colom, R., Rebollo, I., Palacios, A., Juan-Espinosa, M., & Kyllonen, P. C. (2004). Working memory is (almost) perfectly predicted by g. Intelligence, 32(3), 277-296. https://doi.org/10.1016/j.intell.2003.12.002
Matzke, D., Dolan, C. V., & Molenaar, D. (2010). The issue of power in the identification of “g” with lower-order factors. Intelligence, 38(3), 336-344. https://doi.org/10.1016/j.intell.2010.02.001
Major, J. T., Johnson, W., & Deary, I. J. (2012). Comparing models of intelligence in Project TALENT: The VPR model fits better than the CHC and extended Gf-Gc models. Intelligence, 40(6), 543-559. https://doi.org/10.1016/j.intell.2012.07.006
Stone, B. J. (1992). Joint confirmatory factor analyses of the DAS and WISC-R. Journal of School Psychology, 30(2), 185-195. https://doi.org/10.1016/0022-4405(92)90030-9
Benson, N. F., Beaujean, A. A., McGill, R. J., & Dombrowski, S. C. (2018). Revisiting Carroll’s survey of factor-analytic studies: Implications for the clinical assessment of intelligence. Psychological Assessment, 30(8), 1028-1038. https://doi.org/10.1037/pas0000556
Luo, D., Thompson, L. A., & Detterman, D. K. (2003). The causal factor underlying the correlation between psychometric g and scholastic performance. Intelligence, 31(1), 67-83. https://doi.org/10.1016/S0160-2896(02)00113-7
Deary, I. J., Caryl, P. G., Egan, V., & Wight, D. (1989). Visual and auditory inspection time: Their interrelationship and correlations with IQ in high ability subjects. Personality and Individual Differences, 10(5), 525-533. https://doi.org/10.1016/0191-8869(89)90034-2
Deary, I. J., Head, B., & Egan, V. (1989). Auditory inspection time, intelligence and pitch discrimination. Intelligence, 13(2), 135-147. https://doi.org/10.1016/0160-2896(89)90012-3
Undheim, J. O., & Gustafsson, J. E. (1987). The Hierarchical Organization of Cognitive Abilities: Restoring General Intelligence Through the Use of Linear Structural Relations (LISREL). Multivariate Behavioral Research, 22(2), 149–171. https://doi.org/10.1207/s15327906mbr2202_2