This data was transcribed from https://uva.theopenscholar.com/files/cogage/files/predictors_of_crossword_7.pdf

Hambrick, D. Z., Salthouse, T. A., & Meinz, E. J. (1999). Predictors of crossword puzzle proficiency and moderators of age–cognition relations. Journal of Experimental Psychology: General 128(2), 131–164

image from Hambrick et al. (1999)

Correlation Matrix

##study 1


cormat <- matrix(0,nrow=18, ncol=18)

corr_values <- c(.29,
  .32, .74,
  -.33, .12, .15,
  -.48, .04, .04, .58,
  -.61, -.08, -.10, .46, .68,
  .26, .39, .36, .37, .30, .09,
  .39, .40, .38, .36, .24, .001, .86,
  .20, .29, .31, .44, .34, .12, .76, .77,
  -.48, .10, .08, .51, .60, .54, .29, .25, .38,
  -.35, .23, .20, .58, .65, .52, .47, .44, .51, .73,
   .03, .38, .39, .40, .40, .21, .57, .58, .56, .41, .55,
  -.24, .19, .25, .49, .54, .42, .45, .38, .44, .46, .56, .68,
  -.03, .24, .27, .38, .42, .20, .49, .49, .54, .53, .57, .59, .49,
  .04, .42, .44, .43, .42, .28, .62, .63, .56, .47, .58, .71, .61, .53,
  .21, .50, .49, .43, .36, .13, .75, .76, .72, .38, .57, .69, .55, .62, .73,
  .30, .60, .56, .36, .29, .07, .73, .75, .67, .32, .50, .67, .48, .57, .71, .94,
  .15, .38, .35, .42, .30, .07, .65, .65, .69, .39, .55, .60, .46, .56, .60, .74, .74)

cormat[upper.tri(cormat)] <- corr_values

cormat <- cormat + t(cormat)
diag(cormat) <- 1

colnames(cormat) <- rownames(cormat) <- c("Age", "NumCWPuz", "HrWPuz", "CopyW", "LetCom", "PatCom", "AntVoc", "SynVoc", "GenInfo", "Cattell", "Shipley", "MkWds", "Fluency", "WdSwitch", "Anagram", "Puzz1", "Puzz2", "WordID")



#cormat <- cormat[-17,-17]

CFA model:

This model is based on the Hambrick et al. (1999) study, which examined predictors of crossword puzzle proficiency and moderators of age-cognition relations. The model includes several latent variables, each representing a different cognitive ability or experience related to crossword puzzle proficiency.

library(lavaan)
## This is lavaan 0.6-18
## lavaan is FREE software! Please report any bugs.
# Define the model
hsm.model <- 'Puzproficiency  =~ Puzz1 + Puzz2 + WordID
  Puzexperience  =~ NumCWPuz + HrWPuz
  GenKnow =~ GenInfo +AntVoc + SynVoc
  Retrieval =~ Anagram+MkWds +WdSwitch + Fluency
  Reasoning =~ Cattell + Shipley 
  PercSpeed =~ CopyW + LetCom + PatCom
  
'


fitHSM <- cfa(hsm.model,sample.cov=cormat,sample.nobs=202)
summary(fitHSM, fit.measures=TRUE, standardized=TRUE, rsquare=TRUE)
## lavaan 0.6-18 ended normally after 71 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        49
## 
##   Number of observations                           202
## 
## Model Test User Model:
##                                                       
##   Test statistic                               269.269
##   Degrees of freedom                               104
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3004.143
##   Degrees of freedom                               136
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.942
##   Tucker-Lewis Index (TLI)                       0.925
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -3496.677
##   Loglikelihood unrestricted model (H1)      -3362.042
##                                                       
##   Akaike (AIC)                                7091.354
##   Bayesian (BIC)                              7253.459
##   Sample-size adjusted Bayesian (SABIC)       7098.217
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.089
##   90 Percent confidence interval - lower         0.076
##   90 Percent confidence interval - upper         0.102
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.869
## 
## 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
##   Puzproficiency =~                                                      
##     Puzz1              1.000                               0.968    0.971
##     Puzz2              0.996    0.028   36.152    0.000    0.964    0.967
##     WordID             0.795    0.049   16.194    0.000    0.770    0.772
##   Puzexperience =~                                                       
##     NumCWPuz           1.000                               0.870    0.872
##     HrWPuz             0.974    0.087   11.248    0.000    0.847    0.849
##   GenKnow =~                                                             
##     GenInfo            1.000                               0.833    0.835
##     AntVoc             1.100    0.064   17.127    0.000    0.916    0.918
##     SynVoc             1.115    0.064   17.477    0.000    0.928    0.930
##   Retrieval =~                                                           
##     Anagram            1.000                               0.841    0.843
##     MkWds              0.991    0.068   14.472    0.000    0.834    0.836
##     WdSwitch           0.831    0.074   11.184    0.000    0.699    0.701
##     Fluency            0.871    0.073   11.948    0.000    0.733    0.735
##   Reasoning =~                                                           
##     Cattell            1.000                               0.793    0.795
##     Shipley            1.155    0.084   13.821    0.000    0.916    0.918
##   PercSpeed =~                                                           
##     CopyW              1.000                               0.668    0.669
##     LetCom             1.311    0.129   10.183    0.000    0.875    0.877
##     PatCom             1.126    0.122    9.225    0.000    0.751    0.753
## 
## Covariances:
##                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Puzproficiency ~~                                                      
##     Puzexperience      0.537    0.079    6.829    0.000    0.638    0.638
##     GenKnow            0.681    0.083    8.226    0.000    0.844    0.844
##     Retrieval          0.688    0.084    8.222    0.000    0.845    0.845
##     Reasoning          0.443    0.071    6.242    0.000    0.576    0.576
##     PercSpeed          0.234    0.056    4.174    0.000    0.363    0.363
##   Puzexperience ~~                                                       
##     GenKnow            0.341    0.065    5.233    0.000    0.472    0.472
##     Retrieval          0.370    0.068    5.423    0.000    0.506    0.506
##     Reasoning          0.165    0.058    2.826    0.005    0.239    0.239
##     PercSpeed          0.020    0.048    0.407    0.684    0.034    0.034
##   GenKnow ~~                                                             
##     Retrieval          0.527    0.073    7.231    0.000    0.753    0.753
##     Reasoning          0.342    0.062    5.546    0.000    0.518    0.518
##     PercSpeed          0.182    0.049    3.725    0.000    0.327    0.327
##   Retrieval ~~                                                           
##     Reasoning          0.507    0.073    6.958    0.000    0.759    0.759
##     PercSpeed          0.340    0.060    5.674    0.000    0.606    0.606
##   Reasoning ~~                                                           
##     PercSpeed          0.440    0.068    6.454    0.000    0.831    0.831
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Puzz1             0.058    0.012    4.708    0.000    0.058    0.058
##    .Puzz2             0.065    0.013    5.199    0.000    0.065    0.066
##    .WordID            0.403    0.042    9.636    0.000    0.403    0.405
##    .NumCWPuz          0.239    0.059    4.071    0.000    0.239    0.240
##    .HrWPuz            0.278    0.058    4.806    0.000    0.278    0.280
##    .GenInfo           0.302    0.035    8.593    0.000    0.302    0.303
##    .AntVoc            0.156    0.024    6.423    0.000    0.156    0.157
##    .SynVoc            0.134    0.023    5.776    0.000    0.134    0.134
##    .Anagram           0.287    0.037    7.729    0.000    0.287    0.289
##    .MkWds             0.300    0.038    7.873    0.000    0.300    0.301
##    .WdSwitch          0.506    0.055    9.175    0.000    0.506    0.509
##    .Fluency           0.458    0.051    8.980    0.000    0.458    0.460
##    .Cattell           0.366    0.046    7.976    0.000    0.366    0.368
##    .Shipley           0.156    0.040    3.874    0.000    0.156    0.157
##    .CopyW             0.549    0.062    8.884    0.000    0.549    0.552
##    .LetCom            0.229    0.045    5.131    0.000    0.229    0.230
##    .PatCom            0.430    0.053    8.103    0.000    0.430    0.432
##     Puzproficiency    0.937    0.099    9.427    0.000    1.000    1.000
##     Puzexperience     0.756    0.110    6.871    0.000    1.000    1.000
##     GenKnow           0.693    0.096    7.214    0.000    1.000    1.000
##     Retrieval         0.708    0.098    7.243    0.000    1.000    1.000
##     Reasoning         0.629    0.096    6.538    0.000    1.000    1.000
##     PercSpeed         0.446    0.087    5.096    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     Puzz1             0.942
##     Puzz2             0.934
##     WordID            0.595
##     NumCWPuz          0.760
##     HrWPuz            0.720
##     GenInfo           0.697
##     AntVoc            0.843
##     SynVoc            0.866
##     Anagram           0.711
##     MkWds             0.699
##     WdSwitch          0.491
##     Fluency           0.540
##     Cattell           0.632
##     Shipley           0.843
##     CopyW             0.448
##     LetCom            0.770
##     PatCom            0.568
library(semPlot)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(psych)
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
## The following object is masked from 'package:lavaan':
## 
##     cor2cov
#semPaths(fitHSM, "model","est",curvePivot = TRUE,edge.label.cex = 0.5)
#lavaan.diagram(fitHSM)
# Define the model
hsm_sem.model <- 'PuzProf  =~ Puzz1 + Puzz2 + WordID
  PuzExp  =~ NumCWPuz + HrWPuz
  GenKnow =~ GenInfo +AntVoc + SynVoc
  Retrieval =~ Anagram+MkWds +WdSwitch + Fluency
  Reasoning =~ Cattell + Shipley 
  PercSpeed =~ CopyW + LetCom + PatCom
  
  
  Reasoning ~ PercSpeed
  PuzProf ~ GenKnow + Retrieval + PuzExp
  GenKnow ~ Age + Reasoning
  Retrieval ~  Reasoning + GenKnow
  PuzExp ~ Age + Reasoning
  PercSpeed ~ Age 
'


fitHSM2<- sem(hsm_sem.model,sample.cov=cormat,sample.nobs=202)
summary(fitHSM2, fit.measures=TRUE, standardized=TRUE, rsquare=TRUE)
## lavaan 0.6-18 ended normally after 58 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        45
## 
##   Number of observations                           202
## 
## Model Test User Model:
##                                                       
##   Test statistic                               323.584
##   Degrees of freedom                               125
##   P-value (Chi-square)                           0.000
## 
## Model Test Baseline Model:
## 
##   Test statistic                              3256.496
##   Degrees of freedom                               153
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.936
##   Tucker-Lewis Index (TLI)                       0.922
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -3397.658
##   Loglikelihood unrestricted model (H1)      -3235.866
##                                                       
##   Akaike (AIC)                                6885.316
##   Bayesian (BIC)                              7034.188
##   Sample-size adjusted Bayesian (SABIC)       6891.619
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.089
##   90 Percent confidence interval - lower         0.077
##   90 Percent confidence interval - upper         0.101
##   P-value H_0: RMSEA <= 0.050                    0.000
##   P-value H_0: RMSEA >= 0.080                    0.889
## 
## 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
##   PuzProf =~                                                            
##     Puzz1             1.000                               0.943    0.968
##     Puzz2             0.998    0.028   35.149    0.000    0.941    0.966
##     WordID            0.795    0.051   15.743    0.000    0.750    0.763
##   PuzExp =~                                                             
##     NumCWPuz          1.000                               0.862    0.871
##     HrWPuz            0.969    0.088   11.043    0.000    0.835    0.843
##   GenKnow =~                                                            
##     GenInfo           1.000                               0.813    0.827
##     AntVoc            1.087    0.067   16.339    0.000    0.884    0.901
##     SynVoc            1.130    0.065   17.404    0.000    0.918    0.938
##   Retrieval =~                                                          
##     Anagram           1.000                               0.825    0.834
##     MkWds             1.004    0.071   14.083    0.000    0.828    0.837
##     WdSwitch          0.843    0.077   10.992    0.000    0.696    0.701
##     Fluency           0.888    0.075   11.798    0.000    0.733    0.739
##   Reasoning =~                                                          
##     Cattell           1.000                               0.810    0.812
##     Shipley           1.093    0.074   14.681    0.000    0.885    0.887
##   PercSpeed =~                                                          
##     CopyW             1.000                               0.679    0.680
##     LetCom            1.272    0.121   10.490    0.000    0.863    0.865
##     PatCom            1.129    0.118    9.600    0.000    0.766    0.768
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Reasoning ~                                                           
##     PercSpeed         1.019    0.113    9.009    0.000    0.854    0.854
##   PuzProf ~                                                             
##     GenKnow           0.507    0.077    6.630    0.000    0.437    0.437
##     Retrieval         0.448    0.071    6.314    0.000    0.392    0.392
##     PuzExp            0.287    0.049    5.827    0.000    0.263    0.263
##   GenKnow ~                                                             
##     Age               0.636    0.056   11.388    0.000    0.782    0.780
##     Reasoning         0.885    0.086   10.322    0.000    0.882    0.882
##   Retrieval ~                                                           
##     Reasoning         0.525    0.067    7.856    0.000    0.515    0.515
##     GenKnow           0.502    0.065    7.733    0.000    0.494    0.494
##   PuzExp ~                                                              
##     Age               0.530    0.071    7.502    0.000    0.615    0.613
##     Reasoning         0.563    0.094    6.003    0.000    0.529    0.529
##   PercSpeed ~                                                           
##     Age              -0.401    0.053   -7.611    0.000   -0.592   -0.590
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Puzz1             0.059    0.012    4.826    0.000    0.059    0.062
##    .Puzz2             0.064    0.012    5.112    0.000    0.064    0.067
##    .WordID            0.403    0.042    9.637    0.000    0.403    0.417
##    .NumCWPuz          0.237    0.059    4.035    0.000    0.237    0.242
##    .HrWPuz            0.284    0.058    4.904    0.000    0.284    0.289
##    .GenInfo           0.306    0.035    8.766    0.000    0.306    0.317
##    .AntVoc            0.181    0.025    7.372    0.000    0.181    0.189
##    .SynVoc            0.116    0.021    5.652    0.000    0.116    0.121
##    .Anagram           0.298    0.039    7.729    0.000    0.298    0.305
##    .MkWds             0.293    0.038    7.669    0.000    0.293    0.299
##    .WdSwitch          0.500    0.055    9.087    0.000    0.500    0.508
##    .Fluency           0.446    0.050    8.848    0.000    0.446    0.454
##    .Cattell           0.339    0.042    8.154    0.000    0.339    0.341
##    .Shipley           0.211    0.033    6.373    0.000    0.211    0.213
##    .CopyW             0.534    0.060    8.897    0.000    0.534    0.537
##    .LetCom            0.250    0.042    5.957    0.000    0.250    0.251
##    .PatCom            0.408    0.050    8.084    0.000    0.408    0.410
##    .PuzProf           0.136    0.021    6.468    0.000    0.153    0.153
##    .PuzExp            0.499    0.080    6.255    0.000    0.671    0.671
##    .GenKnow           0.203    0.037    5.434    0.000    0.307    0.307
##    .Retrieval         0.164    0.033    4.951    0.000    0.241    0.241
##    .Reasoning         0.178    0.039    4.584    0.000    0.271    0.271
##    .PercSpeed         0.300    0.059    5.108    0.000    0.652    0.652
## 
## R-Square:
##                    Estimate
##     Puzz1             0.938
##     Puzz2             0.933
##     WordID            0.583
##     NumCWPuz          0.758
##     HrWPuz            0.711
##     GenInfo           0.683
##     AntVoc            0.811
##     SynVoc            0.879
##     Anagram           0.695
##     MkWds             0.701
##     WdSwitch          0.492
##     Fluency           0.546
##     Cattell           0.659
##     Shipley           0.787
##     CopyW             0.463
##     LetCom            0.749
##     PatCom            0.590
##     PuzProf           0.847
##     PuzExp            0.329
##     GenKnow           0.693
##     Retrieval         0.759
##     Reasoning         0.729
##     PercSpeed         0.348
semPaths(fitHSM2,"par", weighted = TRUE, nCharNodes = 7, layout="spring",
         sizeMan = 8, sizeMan2 = 6)

This isn’t the exact same model values that Hambrick et al. derived, pro