1 Data Preparation

1.1 Installing and loading relevant R packages

library(pacman)
pacman::p_load(psych,
               reshape2,
               metaSEM,
               metafor,
               robumeta,
               clubSandwich,
               lavaan,
               dplyr,
               devtools,
               semPower)

#devtools::install_github("MathiasHarrer/dmetar")
library(dmetar)

1.2 Data input

## Data
## Note: If variables are not included, then code them completely as NA,
## including the diagonals (i.e., not 1 but NA in the diagonal for
## completely missing variables)

Auth_mat <-
  '
1,              
0.54,   1,      
0.11,   0.39,   1,      
0.08,   0.18,   0.32,   1,  
0.36,   0.25,   0.15,   -0.07,  1'

Barkul_mat_a <- 
  '             
1,
0.95, 1,
0.47, 0.56, 1, 
0.86, 0.84, 0.56, 1,
0.47, 0.49, 0.38, 0.6, 1
'

Barkul_mat_b <- '
1,              
0.89,   1,          
0.31,   0.47,   1,      
0.64,   0.62,   0.38,   1,  
0.28,   0.24,   NA, 0.43,   1'


Berman_mat <- 
  '             
1,              
0.39,   1,          
0.14,   -0.23,  1,      
-0.38,  0.14,   0.05,   1,  
0.004,  -0.29,  0.80,   0.25,   1
'

# Adjusted
Boynton_mat <-
  '1                
0.576,  1,          
NA, NA, NA, 
NA, NA, NA, NA, 
NA, NA, NA, NA, NA
'
Callans_mat <-
  '1                
0.78,   1,          
0.09,   -0.01,  1,      
0.26,   0.26,   0.27,   1,  
0.51,   0.43,   0.42,   0.38,   1
'
#Carter Control Group Pre-Test
Carter_mat_a <-
  '1                
0.86,   1,          
0.31,   0.28,   1,  
0.05,   0.05,   0.54,   1,  
0.81,   0.72,   0.49,   0.21,   1
'
#Carter Experimental Group Pre-Test
Carter_mat_b <-
  '1,               
0.82,   1,      
0.62,   0.39,   1,      
0.51,   0.40,   0.28,   1,  
0.68,   0.60,   0.40,   0.33,   1
'

Chi_mat <-' 
1, 
0.433, 1,               
-0.02, 0.42, 1,                 
0.18,    0.37, 0.42, 1,         
-0.19, 0.4, 0.54, 0.45, 1,
'

Cho_mat_F <- '
1,          
0.61,   1,      
0.42,   0.43,   1,  
0.32,   0.21,   0.58,   1,
0.69,   0.33,   0.63,   0.54, 1'

#Changed to Male correlation matrices from total
Cho_mat_M <- '
1,
0.59, 1,
0.26, 0.02, 1,
0.14,    0.31, 0.36, 1,
0.82,    0.69, 0.25, 0.24, 1,
'

Cockcroft_mat <- '
1, 
0.29, 1,                
0.42,   0.12, 1,    
0.24,   0.65, 0.31, 1, 
0.18,   0.31, 0.31, 0.46, 1 '

Conway_mat <-
  '1,               
0.82,   1,          
0.45,   0.47,   1,      
0.56,   0.56,   0.68,   1,  
0.50,   0.43,   0.49,   0.65,   1
'

Crawford_mat <-
  '1                
0.94,   1,          
0.38,   0.44,   1,      
0.37,   0.48,   0.38,   1,  
0.67,   0.72,   0.65,   0.40,   1
'

Digranes_mat <-
  '1,               
0.76,   1,          
0.17,   0.45,   1,      
0.80,   0.71,   0.09,   1,  
0.81,   0.79,   0.37,   0.74,   1
'

## Adjusted
Dufner_mat <-
  '1,           
0.45,   1,          
0.11,   0.09,   1,      
-0.07,  0.42,   0.16,   1,  
NA, NA, NA, NA, NA
'
Fishkin_mat <- 
  '1                
0.60,   1,          
0,  -0.03,  1,  
0.13,   0.11,   0.11,   1,  
0.19,   0.26,   0.01,   0.09,   1
'
Forsyth_mat <-
  '1,               
0.91,   1,          
0.56,   0.49,   1,      
0.35,   0.40,   0.50,   1,  
0.82,   0.77,   0.62,   0.33,   1'

#8th grade 
Garcia_mat <-
  '1,               
0.626,  1,          
0.392,  0.45,   1,      
0.435,  0.387,  0.495,  1,  
0.416,  0.525,  0.32,   0.567,  1'


Gollmar_mat <-
  '1,               
0.672,  1,          
-0.26,  0.019,  1,      
-0.13,  0.241,  0.377,  1,  
0.188,  0.217,  0.22,   0.296,  1'

## Adjusted
Hamlen_mat <-'  
1,      
0.816,  1,          
NA, NA, NA,         
NA, NA, NA, NA, 
0.319,  0.247, NA, NA, 1 '

Hokanson_mat <-
  '1,               
0.79,   1,          
0.14,   0.28,   1,  
0.32,   0.44,   0.48,   1,  
0.48,   0.45,   0.36,   0.36,   1'


Houtz_mat <- '  
1,          
0.59, 1,            
0.27, 0.16, 1,          
0.49, 0.27, 0.22, 1,        
0.5, 0.34,  0.46,   0.37, 1 '   


Humble_mat <- 
  '1,               
0.83,   1,          
0.22,   0.28    1       
0.44    0.38    0.06    1   
0.34    0.25    0.07    0.37    1'

Ibrahim_mat_1 <- '
1,          
0.611,  1,  
0.524, 0.12, 1, 
0.23,   0.246, 0.267, 1,                    
0.46,   0.485, 0.155, 0.484, 1  '


Kiehn_mat <-
  '1,               
0.8,    1,          
NA, NA, NA,     
NA, NA, NA, NA, 
NA, NA, NA, NA, NA
'

#Kim (2006b)
Kim_mat_1 <- '
1,          
0.844, 1,       
0.351, 0.332, 1,                
0.196, 0.209, 0.428, 1,         
0.666, 0.563, 0.212, 0.443, 1   
'

#Kim et al.(2006)
Kim_mat_2a <- '
1,              
0.84, 1,    
0.45, 0.49, 1,              
0.39,   0.38, 0.49,  1,             
0.65,   0.65, 0.34, 0.51, 1  '


Kim_mat_2b <- ' 
1,          
0.79, 1,    
0.08, 0.15, 1,              
0.14,   0.15, 0.3, 1,           
0.47,   0.48,   0.17,   0.25, 1 '


Kim_mat_2c <- '
1,              
0.86, 1,    
0.31,   0.32,   1,                  
0.22,   0.25, 0.41, 1,              
0.66,   0.57,   0.2,    0.4, 1              
 '

#Kim et al. 2016
Kim_mat_3_a <- '
1,              
0.46, 1,                
-0.28, 0.24, 1,             
0.1,    0.4,    0.51, 1,        
-0.28, 0.12, 0.6,   0.66, 1'


Kim_mat_3_b <- '
1,              
0.4,    1,          
-0.27, 0.23, 1,     
0.08,   0.34,   0.5,    1,  
-0.22, 0.17, 0.64, 0.72, 1
'

Lew_mat <- '                
1,
0.46,   1,          
-0.15, 0.04,    1,          
0.14,   0.36,   0.24,   1,  
NA, NA, NA, NA, NA  '

## Adjusted
Miranda_mat <- 
  '1,           
0.49,   1,          
0.02,   0.11,   1,      
-0.25,  -0.30,  -0.31,  1,  
0.41,   0.20,   0.14,   -0.29,  1'

## Adjusted
#1st grade
Morrison_mat_a <- 
  '1,               
0.36,   1,          
NA, NA, NA,     
NA, NA, NA, NA, 
NA, NA, NA, NA, NA'

## Adjusted
#3rd grade
Morrison_mat_b <- 
  '1,               
0.28,   1,          
NA, NA, NA,     
NA, NA, NA, NA, 
NA, NA, NA, NA, NA'

## Adjusted
#5th grade
Morrison_mat_c <-
  '1,               
0.42,   1,          
NA, NA, NA,     
NA, NA, NA, NA, 
NA, NA, NA, NA, NA'

Nguyen_mat <-
  '1,               
0.75,   1,          
0.11,   0.09,   1,      
0.17,   0.10,   0.15,   1,  
0.38,   0.34,   0.13,   0.03,   1'

Zbarskaya_mat <-
  '1,           
0.614,  1,          
0.008,  0.135,  1,      
0.168,  0.327,  0.504,  1,  
0.189,  0.153,  0.225,  0.442,  1'

#Children's house
Rose_mat_a <- 
  '1,               
0.81,   1,          
0.07,   0.27,   1,      
0.66,   0.62,   0.57,   1,  
-0.05,  -0.06,  -0.19,  -0.12,  1'

#Montessori
Rose_mat_b <-
  '1,               
0.67,   1,          
0.05,   0.13,   1,      
0.56,   0.16,   -0.30,  1,  
0.34,   0.12,   0.43,   0.19,   1'

Roskos_mat_Y <-'
1,
0.26,    1,
0.15,    0.08,    1,
0.37,    0.47,    0.2,    1,
0.53,    0.31,    0.47,    0.37,    1 '

Roskos_mat_O <- '
1,
0.16,    1,
-0.06, -0.02,    1,
0.06, 0.25, 0.04, 1,
0.14,    0.29,    0.36,    0.47,    1
'

Samuels_mat <- 
  '1,               
0.75,   1,          
-0.11,  0.02,   1,      
0.10,   0.24,   0.48,   1,  
-0.16,  -0.06,  0.07,   0.24,   1'

Shore_mat <- 
  '1,               
0.26,   1,          
-0.01,  0.33,   1,      
-0.12,  0.70,   0.30,   1,  
-0.29,  0.12,   0.54,   0.34,   1'

Stephens_mat <-
  '1,               
0.86,   1,          
0.17,   0.16,   1,      
0.33,   0.30,   0.12,   1,  
0.65,   0.60,   0.30,   0.31,   1'

#Control Pre-Test
Storer_mat_a <-
  '1,               
0.77,   1,          
0.11,   0.29,   1,      
0.28,   0.19,   0.35,   1,  
0.33,   0.49,   -0.02,  -0.14,  1'

#Treatment Pre-Test
Storer_mat_b <- 
  '1,               
0.73,   1,          
0.23,   0.20,   1,      
0.43,   0.55,   0.29,   1,  
0.57,   0.48,   0.40,   0.25,   1'

Tannehill_mat <-
  '1,               
0.84,   1,      
0.35,   0.41,   1,      
0.28,   0.36,   0.38,   1,  
0.35,   0.33,   0.39,   0.41,   1'

Tisone_mat <-
  '1,               
0.68,   1,          
-0.03,  -0.12,  1,      
0.15,   0.26,   0.30,   1,  
0.13,   0.35,   0.11,   0.53,   1'

Trigani_mat <-
  '1,               
0.72,   1,      
0.28,   0.24,   1,      
0.17,   0.26,   0.37,   1,  
0.69,   0.47,   0.52,   0.16,   1'

Voss_mat <-
  '1,               
0.71,   1,      
0.43,   0.51,   1,      
0.38,   0.44,   0.53,   1,  
0.65,   0.79,   0.59,   0.42,   1'

Warne_mat <-
  '1,               
0.74,   1,          
0.40,   0.37,   1,      
0.35,   0.37,   0.43,   1,  
0.63,   0.50,   0.50,   0.26,   1'

Watson_mat <-
  '1,               
0.64,   1,          
NA, NA, NA,     
0.41,   0.40,   NA, 1,  
NA, NA, NA, NA, NA'

Yoon_mat <-
  '1,               
0.73,   1,          
-0.16,  0.08,   1,      
0.08,   0.29,   0.47,   1,  
0.09,   0.28,   0.53,   0.66,   1'

Zhang_mat <-
  '1,               
0.78,   1,          
0.09,   0.15,   1,      
0.25,   0.24,   0.33,   1,  
0.83,   0.70,   0.06,   0.21,   1'

## New matrices after the update in 2023
Acar_mat <- 
  '1,               
0.65,   1,
0.188,  0.274,  1,      
0.338,  0.409,  0.363,  1,  
0.529,  0.477,  0.413,  0.305,  1'

Acaretal_mat <- 
  '1,               
0.763,  1,          
0.089,  0.21,   1,      
0.294,  0.367,  0.469,  1,  
0.567,  0.54,   0.277,  0.318,  1'

Balci_mata <- 
  '1,               
0.292,  1,          
0,  0.221,  1,      
0.176,  0.148,  0.304,  1,  
-0.117, 0.154,  0.035,  0.047,  1'

Balci_matb <- 
  '1,               
0.43,   1,          
0.116,  0.166,  1,      
0.267,  0.225,  0.363,  1,  
-0.19,  0.016,  -0.128, -0.107, 1'

Gao_mat <- 
  '1,               
0.31,   1,          
0.28,   0.34,   1,      
0.39,   0.41,   0.25,   1,  
0.28,   0.17,   0.26,   0.31,   1'

Liu_mat <-
  '1,               
0.94,   1,          
0.32,   0.32,   1,      
0.49,   0.48,   0.66,   1,  
0.41,   0.39,   0.62,   .67,    1'


Rubenstein_2020_a <-
'1,             
0.828,  1,          
0.331,  0.321,  1,      
0.47,   0.55,   0.45,   1,  
0.681,  0.64,   0.443,  0.526,  1'

Rubenstein_2022_b <- 
'1,             
0.629,  1,          
0.238,  0.351,  1,      
0.402,  0.509,  0.38,   1,  
0.313,  0.394,  0.385,  0.305,  1'

Wan_mat <-
  '1,               
0.27,   1,          
0.24,   0.35,   1,      
0.17,   0.19,   0.27,   1,  
0.19,   0.14,   0.12,   0.35,   1'

#This names columns and rows for correlation matrices
Auth_mat1 <-char2num(Auth_mat)
Auth <- getCov(Auth_mat1, diag=T)
colnames(Auth) <- c("Fl","Or", "El","Ab","Res")
rownames(Auth) <- c("Fl","Or", "El","Ab","Res")

#Barkul
Barkul_mat1 <-char2num(Barkul_mat_a)
Barkul <- getCov(Barkul_mat1, diag=T)
colnames(Barkul) <- c("Fl","Or", "El","Ab","Res")
rownames(Barkul) <- c("Fl","Or", "El","Ab","Res")

Barkul_mat2 <-char2num(Barkul_mat_b)
Barkul2 <- getCov(Barkul_mat2, diag=T)
colnames(Barkul2) <- c("Fl","Or", "El","Ab","Res")
rownames(Barkul2) <- c("Fl","Or", "El","Ab","Res")

Berman_mat1 <-char2num(Berman_mat)
Berman <- getCov(Berman_mat1, diag=T)
colnames(Berman) <- c("Fl","Or", "El","Ab","Res")
rownames(Berman) <- c("Fl","Or", "El","Ab","Res")

Boynton_mat1 <-char2num(Boynton_mat)
Boynton <- getCov(Boynton_mat1, diag=T)
colnames(Boynton) <- c("Fl","Or", "El","Ab","Res")
rownames(Boynton) <- c("Fl","Or", "El","Ab","Res")

Callans_mat1 <-char2num(Callans_mat)
Callans <- getCov(Callans_mat1, diag=T)
colnames(Callans) <- c("Fl","Or", "El","Ab","Res")
rownames(Callans) <- c("Fl","Or", "El","Ab","Res")

Carter_mat1 <-char2num(Carter_mat_a)
Carter_a <- getCov(Carter_mat1, diag=T)
colnames(Carter_a) <- c("Fl","Or", "El","Ab","Res")
rownames(Carter_a) <- c("Fl","Or", "El","Ab","Res")

Carter_mat2 <-char2num(Carter_mat_b)
Carter_b <- getCov(Carter_mat2, diag=T)
colnames(Carter_b) <- c("Fl","Or", "El","Ab","Res")
rownames(Carter_b) <- c("Fl","Or", "El","Ab","Res")

Chi_mat1 <-char2num(Chi_mat)
Chi <- getCov(Chi_mat1, diag=T)
colnames(Chi) <- c("Fl","Or", "Ab","El","Res")
rownames(Chi) <- c("Fl","Or", "Ab","El","Res")

Cho_mat1_F <-char2num(Cho_mat_F)
Cho_F <- getCov(Cho_mat1_F, diag=T)
colnames(Cho_F) <- c("Fl","Or", "Ab","El","Res")
rownames(Cho_F) <- c("Fl","Or", "Ab","El","Res")

Cho_mat1_M <-char2num(Cho_mat_M)
Cho_M <- getCov(Cho_mat1_M, diag=T)
colnames(Cho_M) <- c("Fl","Or", "Ab","El","Res")
rownames(Cho_M) <- c("Fl","Or", "Ab","El","Res")

Cockcroft_mat1 <-char2num(Cockcroft_mat)
Cockcroft <- getCov(Cockcroft_mat1, diag=T)
colnames(Cockcroft) <- c("Fl","Or", "Ab","El","Res")
rownames(Cockcroft) <- c("Fl","Or", "Ab","El","Res")

Conway_mat1 <-char2num(Conway_mat)
Conway <- getCov(Conway_mat1, diag=T)
colnames(Conway) <- c("Fl","Or", "El","Ab","Res")
rownames(Conway) <- c("Fl","Or", "El","Ab","Res")

Crawford_mat1 <-char2num(Crawford_mat)
Crawford <- getCov(Crawford_mat1, diag=T)
colnames(Crawford) <- c("Fl","Or", "El","Ab","Res")
rownames(Crawford) <- c("Fl","Or", "El","Ab","Res")

Digranes_mat1 <-char2num(Digranes_mat)
Digranes <- getCov(Digranes_mat1, diag=T)
colnames(Digranes) <- c("Fl","Or", "El","Ab","Res")
rownames(Digranes) <- c("Fl","Or", "El","Ab","Res")

Dufner_mat1 <-char2num(Dufner_mat)
Dufner <- getCov(Dufner_mat1, diag=T)
colnames(Dufner) <- c("Fl","Or", "El","Ab","Res")
rownames(Dufner) <- c("Fl","Or", "El","Ab","Res")

Fishkin_mat1 <-char2num(Fishkin_mat)
Fishkin <- getCov(Fishkin_mat1, diag=T)
colnames(Fishkin) <- c("Fl","Or", "El","Ab","Res")
rownames(Fishkin) <- c("Fl","Or", "El","Ab","Res")

Forsyth_mat1 <-char2num(Forsyth_mat)
Forsyth <- getCov(Forsyth_mat1, diag=T)
colnames(Forsyth) <- c("Fl","Or", "El","Ab","Res")
rownames(Forsyth) <- c("Fl","Or", "El","Ab","Res")

Garcia_mat1 <-char2num(Garcia_mat)
Garcia <- getCov(Garcia_mat1, diag=T)
colnames(Garcia) <- c("Fl","Or", "El","Ab","Res")
rownames(Garcia) <- c("Fl","Or", "El","Ab","Res")

Gollmar_mat1 <-char2num(Gollmar_mat)
Gollmar <- getCov(Gollmar_mat1, diag=T)
colnames(Gollmar) <- c("Fl","Or", "El","Ab","Res")
rownames(Gollmar) <- c("Fl","Or", "El","Ab","Res")

Hamlen_mat1 <-char2num(Hamlen_mat)
Hamlen<- getCov(Hamlen_mat1, diag=T)
colnames(Hamlen) <- c("Fl","Or", "Ab","El","Res")
rownames(Hamlen) <- c("Fl","Or", "Ab","El","Res")

Hokanson_mat1 <-char2num(Hokanson_mat)
Hokanson <- getCov(Hokanson_mat1, diag=T)
colnames(Hokanson) <- c("Fl","Or", "El","Ab","Res")
rownames(Hokanson) <- c("Fl","Or", "El","Ab","Res")

Houtz_mat1 <-char2num(Houtz_mat)
Houtz<- getCov(Houtz_mat1, diag=T)
colnames(Houtz) <- c("Fl","Or", "Ab","El","Res")
rownames(Houtz) <- c("Fl","Or", "Ab","El","Res")

Humble_mat1 <-char2num(Humble_mat)
Humble <- getCov(Humble_mat1, diag=T)
colnames(Humble) <- c("Fl","Or", "El","Ab","Res")
rownames(Humble) <- c("Fl","Or", "El","Ab","Res")

Ibrahim_mat1 <-char2num(Ibrahim_mat_1)
Ibrahim<- getCov(Ibrahim_mat1, diag=T)
colnames(Ibrahim) <- c("Fl","Or", "Ab","El","Res")
rownames(Ibrahim) <- c("Fl","Or", "Ab","El","Res")

Kiehn_mat1 <-char2num(Kiehn_mat)
Kiehn <- getCov(Kiehn_mat1, diag=T)
colnames(Kiehn) <- c("Fl","Or", "El","Ab","Res")
rownames(Kiehn) <- c("Fl","Or", "El","Ab","Res")

Kim_1_mat1 <-char2num(Kim_mat_1)
Kim_1<- getCov(Kim_1_mat1, diag=T)
colnames(Kim_1) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_1) <- c("Fl","Or", "Ab","El","Res")

Kim_2a_mat1 <-char2num(Kim_mat_2a)
Kim_2a<- getCov(Kim_2a_mat1, diag=T)
colnames(Kim_2a) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_2a) <- c("Fl","Or", "Ab","El","Res")

Kim_2b_mat1 <-char2num(Kim_mat_2b)
Kim_2b<- getCov(Kim_2b_mat1, diag=T)
colnames(Kim_2b) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_2b) <- c("Fl","Or", "Ab","El","Res")

Kim_2c_mat1 <-char2num(Kim_mat_2c)
Kim_2c<- getCov(Kim_2c_mat1, diag=T)
colnames(Kim_2c) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_2c) <- c("Fl","Or", "Ab","El","Res")

Kim_3_mat1 <-char2num(Kim_mat_3_a)
Kim_3a <- getCov(Kim_3_mat1, diag=T)
colnames(Kim_3a) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_3a) <- c("Fl","Or", "Ab","El","Res")

Kim_3_mat2 <-char2num(Kim_mat_3_b)
Kim_3b <- getCov(Kim_3_mat2, diag=T)
colnames(Kim_3b) <- c("Fl","Or", "Ab","El","Res")
rownames(Kim_3b) <- c("Fl","Or", "Ab","El","Res")

Lew_mat1 <-char2num(Lew_mat)
Lew<- getCov(Lew_mat1, diag=T)
colnames(Lew) <- c("Fl","Or", "Ab","El","Res")
rownames(Lew) <- c("Fl","Or", "Ab","El","Res")

Miranda_mat1 <-char2num(Miranda_mat)
Miranda <- getCov(Miranda_mat1, diag=T)
colnames(Miranda) <- c("Fl","Or", "El","Ab","Res")
rownames(Miranda) <- c("Fl","Or", "El","Ab","Res")

Morrison_mat1 <-char2num(Morrison_mat_a)
Morrison_a <- getCov(Morrison_mat1, diag=T)
colnames(Morrison_a) <- c("Fl","Or", "El","Ab","Res")
rownames(Morrison_a) <- c("Fl","Or", "El","Ab","Res")

Morrison_mat2 <-char2num(Morrison_mat_b)
Morrison_b <- getCov(Morrison_mat2, diag=T)
colnames(Morrison_b) <- c("Fl","Or", "El","Ab","Res")
rownames(Morrison_b) <- c("Fl","Or", "El","Ab","Res")

Morrison_mat3 <-char2num(Morrison_mat_c)
Morrison_c <- getCov(Morrison_mat3, diag=T)
colnames(Morrison_c) <- c("Fl","Or", "El","Ab","Res")
rownames(Morrison_c) <- c("Fl","Or", "El","Ab","Res")

Nguyen_mat1 <-char2num(Nguyen_mat)
Nguyen <- getCov(Nguyen_mat1, diag=T)
colnames(Nguyen) <- c("Fl","Or", "El","Ab","Res")
rownames(Nguyen) <- c("Fl","Or", "El","Ab","Res")

Zbarskaya_mat1 <-char2num(Zbarskaya_mat)
Zbarskaya <- getCov(Zbarskaya_mat1, diag=T)
colnames(Zbarskaya) <- c("Fl","Or", "El","Ab","Res")
rownames(Zbarskaya) <- c("Fl","Or", "El","Ab","Res")

#Children's Place
Rose_mat1 <- char2num(Rose_mat_a)
Rose <- getCov(Rose_mat1, diag=T)
colnames(Rose) <- c("Fl","Or", "El","Ab","Res")
rownames(Rose) <- c("Fl","Or", "El","Ab","Res")

#Montessori
Rose_mat2 <- char2num(Rose_mat_b)
Rose_b <- getCov(Rose_mat2, diag=T)
colnames(Rose_b) <- c("Fl","Or", "El","Ab","Res")
rownames(Rose_b) <- c("Fl","Or", "El","Ab","Res")

Roskos_mat1_Y <-char2num(Roskos_mat_Y)
Roskos_Y<- getCov(Roskos_mat1_Y, diag=T)
colnames(Roskos_Y) <- c("Fl","Or", "Ab","El","Res")
rownames(Roskos_Y) <- c("Fl","Or", "Ab","El","Res")

Roskos_mat1_O <-char2num(Roskos_mat_O)
Roskos_O<- getCov(Roskos_mat1_O, diag=T)
colnames(Roskos_O) <- c("Fl","Or", "Ab","El","Res")
rownames(Roskos_O) <- c("Fl","Or", "Ab","El","Res")

Samuels_mat1 <-char2num(Samuels_mat)
Samuels <- getCov(Samuels_mat1, diag=T)
colnames(Samuels) <- c("Fl","Or", "El","Ab","Res")
rownames(Samuels) <- c("Fl","Or", "El","Ab","Res")

Shore_mat1 <-char2num(Shore_mat)
Shore <- getCov(Shore_mat1, diag=T)
colnames(Shore) <- c("Fl","Or", "El","Ab","Res")
rownames(Shore) <- c("Fl","Or", "El","Ab","Res")

Stephens_mat1 <-char2num(Stephens_mat)
Stephens <- getCov(Stephens_mat1, diag=T)
colnames(Stephens) <- c("Fl","Or", "El","Ab","Res")
rownames(Stephens) <- c("Fl","Or", "El","Ab","Res")

Storer_mat1 <- char2num(Storer_mat_a)
Storer_a <- getCov(Rose_mat1, diag=T)
colnames(Storer_a) <- c("Fl","Or", "El","Ab","Res")
rownames(Storer_a) <- c("Fl","Or", "El","Ab","Res")

Storer_mat2 <- char2num(Storer_mat_b)
Storer_b <- getCov(Storer_mat2, diag=T)
colnames(Storer_b) <- c("Fl","Or", "El","Ab","Res")
rownames(Storer_b) <- c("Fl","Or", "El","Ab","Res")

Tannehill_mat1 <-char2num(Tannehill_mat)
Tannehill <- getCov(Tannehill_mat1, diag=T)
colnames(Tannehill) <- c("Fl","Or", "El","Ab","Res")
rownames(Tannehill) <- c("Fl","Or", "El","Ab","Res")

Tisone_mat1 <-char2num(Tisone_mat)
Tisone <- getCov(Tisone_mat1, diag=T)
colnames(Tisone) <- c("Fl","Or", "El","Ab","Res")
rownames(Tisone) <- c("Fl","Or", "El","Ab","Res")

Trigani_mat1 <-char2num(Trigani_mat)
Trigani <- getCov(Trigani_mat1, diag=T)
colnames(Trigani) <- c("Fl","Or", "El","Ab","Res")
rownames(Trigani) <- c("Fl","Or", "El","Ab","Res")

Voss_mat1 <-char2num(Voss_mat)
Voss <- getCov(Voss_mat1, diag=T)
colnames(Voss) <- c("Fl","Or", "El","Ab","Res")
rownames(Voss) <- c("Fl","Or", "El","Ab","Res")

Warne_mat1 <-char2num(Warne_mat)
Warne <- getCov(Warne_mat1, diag=T)
colnames(Warne) <- c("Fl","Or", "El","Ab","Res")
rownames(Warne) <- c("Fl","Or", "El","Ab","Res")

Watson_mat1 <-char2num(Watson_mat)
Watson <- getCov(Watson_mat1, diag=T)
colnames(Watson) <- c("Fl","Or", "El","Ab","Res")
rownames(Watson) <- c("Fl","Or", "El","Ab","Res")

Yoon_mat1 <-char2num(Yoon_mat)
Yoon <- getCov(Yoon_mat1, diag=T)
colnames(Yoon) <- c("Fl","Or", "El","Ab","Res")
rownames(Yoon) <- c("Fl","Or", "El","Ab","Res")

Zhang_mat1 <-char2num(Zhang_mat)
Zhang <- getCov(Zhang_mat1, diag=T)
colnames(Zhang) <- c("Fl","Or", "El","Ab","Res")
rownames(Zhang) <- c("Fl","Or", "El","Ab","Res")

## New studies after the update in 2023
Acar_mat1 <-char2num(Acar_mat)
Acar <- getCov(Acar_mat1, diag=T)
colnames(Acar) <- c("Fl","Or", "El","Ab","Res")
rownames(Acar) <- c("Fl","Or", "El","Ab","Res")

Acaretal_mat1 <-char2num(Acaretal_mat)
Acaretal <- getCov(Acaretal_mat1, diag=T)
colnames(Acaretal) <- c("Fl","Or", "El","Ab","Res")
rownames(Acaretal) <- c("Fl","Or", "El","Ab","Res")

Balcia_mat1 <-char2num(Balci_mata)
Balcia <- getCov(Balcia_mat1, diag=T)
colnames(Balcia) <- c("Fl","Or", "El","Ab","Res")
rownames(Balcia) <- c("Fl","Or", "El","Ab","Res")

Balcib_mat1 <-char2num(Balci_matb)
Balcib <- getCov(Balcib_mat1, diag=T)
colnames(Balcib) <- c("Fl","Or", "El","Ab","Res")
rownames(Balcib) <- c("Fl","Or", "El","Ab","Res")

Gao_mat1 <-char2num(Gao_mat)
Gao <- getCov(Gao_mat1, diag=T)
colnames(Gao) <- c("Fl","Or", "El","Ab","Res")
rownames(Gao) <- c("Fl","Or", "El","Ab","Res")

Liu_mat1 <-char2num(Liu_mat)
Liu <- getCov(Liu_mat1, diag=T)
colnames(Liu) <- c("Fl","Or", "El","Ab","Res")
rownames(Liu) <- c("Fl","Or", "El","Ab","Res")

Wan_mat1 <-char2num(Wan_mat)
Wan <- getCov(Wan_mat1, diag=T)
colnames(Wan) <- c("Fl","Or", "El","Ab","Res")
rownames(Wan) <- c("Fl","Or", "El","Ab","Res")

Rubenstein_2020_a1 <-char2num(Rubenstein_2020_a)
Rubenstein_a <- getCov(Rubenstein_2020_a1, diag=T)
colnames(Rubenstein_a) <- c("Fl","Or", "El","Ab","Res")
rownames(Rubenstein_a) <- c("Fl","Or", "El","Ab","Res")

Rubenstein_2022_b1 <-char2num(Rubenstein_2022_b)
Rubenstein_b <- getCov(Rubenstein_2022_b1, diag=T)
colnames(Rubenstein_b) <- c("Fl","Or", "El","Ab","Res")
rownames(Rubenstein_b) <- c("Fl","Or", "El","Ab","Res")

#alphabetical order
data <- list(Acar, Acaretal,Auth, Balcia, Balcib, Barkul, Barkul2, Berman, Boynton, Callans, 
             Carter_a, Carter_b, Chi, Cho_F, Cho_M, Cockcroft, 
             Conway, Crawford, Digranes, Dufner, Fishkin, Forsyth, Gao, Garcia, Gollmar, 
             Hamlen, Hokanson, Houtz, Humble, Ibrahim,
             Kiehn, Kim_1, Kim_2a, Kim_2b, Kim_2c, Kim_3a, Kim_3b, 
             Lew,  Liu, Miranda, Morrison_a, Morrison_b, Morrison_c, 
             Nguyen, Rose, Rose_b, Roskos_Y, Roskos_O, Rubenstein_a, Rubenstein_b, Samuels, Shore, Stephens, 
             Storer_a, Storer_b, Tannehill, Tisone, Trigani, 
             Voss,  Wan, Warne, Watson, Yoon, Zbarskaya, Zhang)

#Updated sample size counts
n <- c(477, 375, 30, 264, 105, 599, 147, 13, 62, 60, 24, 24, 203, 24, 35, 36, 25, 21, 17, 98, 116, 45, 319, 95, 128, 118, 1758,
       42, 125, 99, 89, 500, 1000, 1000, 1000, 125, 137, 135, 1047, 12, 184, 122, 121, 187, 12, 19, 39, 31, 371,371,
       51, 18, 84, 43, 46, 199, 24, 107, 120, 95, 432, 6, 163, 125, 1067)

#alphabetical order
names <- c("Acar", "Acaretal","Auth" , "Balcia", "Balcib", "Barkul" , "Barkul2" , "Berman" , "Boynton" , "Callans" , 
           "Carter_a" , "Carter_b" , "Chi" , "Cho_F" , "Cho_M" , "Cockcroft" , 
           "Conway" , "Crawford",
           "Digranes" , "Dufner" , "Fishkin" , "Forsyth" , "Gao", "Garcia" , "Gollmar" , 
           "Hamlen" , "Hokanson" , "Houtz" , "Humble" , "Ibrahim",
           "Kiehn" , "Kim_1" , "Kim_2a" , "Kim_2b" , "Kim_2c" , "Kim_3a" , "Kim_3b" , 
           "Lew" , "Liu",  "Miranda" , "Morrison_a" , "Morrison_b" , "Morrison_c" , 
           "Nguyen" ,  "Rose" , "Rose_b" , "Roskos_Y" , "Roskos_O" , "Rubenstein_a","Rubenstein_b", "Samuels" , "Shore" , "Stephens" , 
           "Storer_a" , "Storer_b" , "Tannehill" , "Tisone" , "Trigani", "Voss" ,"Wan", "Warne" , "Watson" , "Yoon" , "Zbarskaya" , "Zhang")

#alphabetical order
study.names <- c("Acar", "Acaretal","Auth" , "Balcia", "Balcib", "Barkul" , "Barkul2" , "Berman" , "Boynton" , "Callans" , 
           "Carter_a" , "Carter_b" , "Chi" , "Cho_F" , "Cho_M" , "Cockcroft" , 
           "Conway" , "Crawford",
           "Digranes" , "Dufner" , "Fishkin" , "Forsyth" , "Gao", "Garcia" , "Gollmar" , 
           "Hamlen" , "Hokanson" , "Houtz" , "Humble" , "Ibrahim",
           "Kiehn" , "Kim_1" , "Kim_2a" , "Kim_2b" , "Kim_2c" , "Kim_3a" , "Kim_3b" , 
           "Lew" , "Liu",  "Miranda" , "Morrison_a" , "Morrison_b" , "Morrison_c" , 
           "Nguyen" ,  "Rose" , "Rose_b" , "Roskos_Y" , "Roskos_O" , "Rubenstein_a","Rubenstein_b", "Samuels" , "Shore" , "Stephens" , 
           "Storer_a" , "Storer_b" , "Tannehill" , "Tisone" , "Trigani", "Voss" ,"Wan", "Warne" , "Watson" , "Yoon" , "Zbarskaya" , "Zhang")

names(data) <- study.names


## Possible moderators

## Age group
## Code: 1 = Adults, 0 = Kindergarten up to High/Middle school
adults <- c(1,0,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,
            0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,0)

## Evidence against discriminant validity
## Coding: 1 = evidence present, 0 = evidence not present/reported
validity <- c(1,1,0,0,1,0,1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,
              0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0)

## Test forms
## Subset the data
formsAB <- c("A","A",NA,"Both","Both","A","A","A","Both","A","A","A","A",NA,NA,"B","A","A","A","B","A","Both",NA,"B","A","A","A","B","A","A","A","A","A","A","A","A",
             "A",NA,"A","A","A","A","A","A","A","A","B","B","A","B","A","A","A","A","A","A","A","A","A",NA,"A","B","A","A","A")
forms <- as.vector(as.numeric(which(formsAB %in% c(NA, "Both")))) # which gives the positions of codes 1

## Standardized test scores
## Subset the data
scoring <- c(0,0,1,0,0,0,0,NA,0,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,0,
             NA,NA,NA,1,0,0,1,1,0,0,1,0,1,1,1,1,0,1,1,NA,0,0,1,1,0)

scores <- as.vector(as.numeric(which(scoring %in% NA))) # which gives the positions of codes 1


head(data, 5)
## $Acar
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.650 0.188 0.338 0.529
## Or  0.650 1.000 0.274 0.409 0.477
## El  0.188 0.274 1.000 0.363 0.413
## Ab  0.338 0.409 0.363 1.000 0.305
## Res 0.529 0.477 0.413 0.305 1.000
## 
## $Acaretal
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.763 0.089 0.294 0.567
## Or  0.763 1.000 0.210 0.367 0.540
## El  0.089 0.210 1.000 0.469 0.277
## Ab  0.294 0.367 0.469 1.000 0.318
## Res 0.567 0.540 0.277 0.318 1.000
## 
## $Auth
##       Fl   Or   El    Ab   Res
## Fl  1.00 0.54 0.11  0.08  0.36
## Or  0.54 1.00 0.39  0.18  0.25
## El  0.11 0.39 1.00  0.32  0.15
## Ab  0.08 0.18 0.32  1.00 -0.07
## Res 0.36 0.25 0.15 -0.07  1.00
## 
## $Balcia
##         Fl    Or    El    Ab    Res
## Fl   1.000 0.292 0.000 0.176 -0.117
## Or   0.292 1.000 0.221 0.148  0.154
## El   0.000 0.221 1.000 0.304  0.035
## Ab   0.176 0.148 0.304 1.000  0.047
## Res -0.117 0.154 0.035 0.047  1.000
## 
## $Balcib
##         Fl    Or     El     Ab    Res
## Fl   1.000 0.430  0.116  0.267 -0.190
## Or   0.430 1.000  0.166  0.225  0.016
## El   0.116 0.166  1.000  0.363 -0.128
## Ab   0.267 0.225  0.363  1.000 -0.107
## Res -0.190 0.016 -0.128 -0.107  1.000

1.3 Data checking and subsetting

## Check for positive definiteness
is.pd(data)
##         Acar     Acaretal         Auth       Balcia       Balcib       Barkul 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##      Barkul2       Berman      Boynton      Callans     Carter_a     Carter_b 
##           NA         TRUE         TRUE         TRUE         TRUE         TRUE 
##          Chi        Cho_F        Cho_M    Cockcroft       Conway     Crawford 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##     Digranes       Dufner      Fishkin      Forsyth          Gao       Garcia 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##      Gollmar       Hamlen     Hokanson        Houtz       Humble      Ibrahim 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##        Kiehn        Kim_1       Kim_2a       Kim_2b       Kim_2c       Kim_3a 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##       Kim_3b          Lew          Liu      Miranda   Morrison_a   Morrison_b 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##   Morrison_c       Nguyen         Rose       Rose_b     Roskos_Y     Roskos_O 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
## Rubenstein_a Rubenstein_b      Samuels        Shore     Stephens     Storer_a 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##     Storer_b    Tannehill       Tisone      Trigani         Voss          Wan 
##         TRUE         TRUE         TRUE         TRUE         TRUE         TRUE 
##        Warne       Watson         Yoon    Zbarskaya        Zhang 
##         TRUE         TRUE         TRUE         TRUE         TRUE
## Simplify the data structure
TTCT <- data
TTCT.n <- n

# Overview of missing data
pattern.na(TTCT, show.na = TRUE)
##     Fl Or El Ab Res
## Fl   0  0  7  6   8
## Or   0  0  7  6   8
## El   7  7  7  7  10
## Ab   6  6  7  6   9
## Res  8  8 10  9   8
# Overview of complete data
pattern.na(TTCT, show.na = FALSE)
##     Fl Or El Ab Res
## Fl  65 65 58 59  57
## Or  65 65 58 59  57
## El  58 58 58 58  55
## Ab  59 59 58 59  56
## Res 57 57 55 56  57
# Which correlation matrices have missing values?
# Search in the pattern matrices for TRUE (i.e., NAs present)
# Create the relevant objects
x <- "TRUE"
y <- c(rep(NA, length(TTCT)))

for (i in 1:length(TTCT)) {
  ## Check missingness
  y[i] <- x %in% as.matrix(is.na(TTCT[[i]]))
}

y
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE
## [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
## [25] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
## [37] FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE
## [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [61] FALSE  TRUE FALSE FALSE FALSE
table(y)
## y
## FALSE  TRUE 
##    55    10
## Identify the correlation matrices with missing values
missexclude <- as.vector(which(y %in% x))

## Exclude the correlation matrices with missing values
TTCT <- TTCT[-missexclude]
TTCT.n <- TTCT.n[-missexclude]
names.studies <- names[-missexclude]
names.studid <- study.names[-missexclude]
mod.adults <- adults[-missexclude]
mod.validity <- validity[-missexclude]
mod.forms <- formsAB[-missexclude]
mod.scores <- scoring[-missexclude]

## Combine everything in an object
TTCT1 <- list(data = TTCT, n = TTCT.n)
TTCT1
## $data
## $data$Acar
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.650 0.188 0.338 0.529
## Or  0.650 1.000 0.274 0.409 0.477
## El  0.188 0.274 1.000 0.363 0.413
## Ab  0.338 0.409 0.363 1.000 0.305
## Res 0.529 0.477 0.413 0.305 1.000
## 
## $data$Acaretal
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.763 0.089 0.294 0.567
## Or  0.763 1.000 0.210 0.367 0.540
## El  0.089 0.210 1.000 0.469 0.277
## Ab  0.294 0.367 0.469 1.000 0.318
## Res 0.567 0.540 0.277 0.318 1.000
## 
## $data$Auth
##       Fl   Or   El    Ab   Res
## Fl  1.00 0.54 0.11  0.08  0.36
## Or  0.54 1.00 0.39  0.18  0.25
## El  0.11 0.39 1.00  0.32  0.15
## Ab  0.08 0.18 0.32  1.00 -0.07
## Res 0.36 0.25 0.15 -0.07  1.00
## 
## $data$Balcia
##         Fl    Or    El    Ab    Res
## Fl   1.000 0.292 0.000 0.176 -0.117
## Or   0.292 1.000 0.221 0.148  0.154
## El   0.000 0.221 1.000 0.304  0.035
## Ab   0.176 0.148 0.304 1.000  0.047
## Res -0.117 0.154 0.035 0.047  1.000
## 
## $data$Balcib
##         Fl    Or     El     Ab    Res
## Fl   1.000 0.430  0.116  0.267 -0.190
## Or   0.430 1.000  0.166  0.225  0.016
## El   0.116 0.166  1.000  0.363 -0.128
## Ab   0.267 0.225  0.363  1.000 -0.107
## Res -0.190 0.016 -0.128 -0.107  1.000
## 
## $data$Barkul
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.95 0.47 0.86 0.47
## Or  0.95 1.00 0.56 0.84 0.49
## El  0.47 0.56 1.00 0.56 0.38
## Ab  0.86 0.84 0.56 1.00 0.60
## Res 0.47 0.49 0.38 0.60 1.00
## 
## $data$Berman
##         Fl    Or    El    Ab    Res
## Fl   1.000  0.39  0.14 -0.38  0.004
## Or   0.390  1.00 -0.23  0.14 -0.290
## El   0.140 -0.23  1.00  0.05  0.800
## Ab  -0.380  0.14  0.05  1.00  0.250
## Res  0.004 -0.29  0.80  0.25  1.000
## 
## $data$Callans
##       Fl    Or    El   Ab  Res
## Fl  1.00  0.78  0.09 0.26 0.51
## Or  0.78  1.00 -0.01 0.26 0.43
## El  0.09 -0.01  1.00 0.27 0.42
## Ab  0.26  0.26  0.27 1.00 0.38
## Res 0.51  0.43  0.42 0.38 1.00
## 
## $data$Carter_a
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.86 0.31 0.05 0.81
## Or  0.86 1.00 0.28 0.05 0.72
## El  0.31 0.28 1.00 0.54 0.49
## Ab  0.05 0.05 0.54 1.00 0.21
## Res 0.81 0.72 0.49 0.21 1.00
## 
## $data$Carter_b
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.82 0.62 0.51 0.68
## Or  0.82 1.00 0.39 0.40 0.60
## El  0.62 0.39 1.00 0.28 0.40
## Ab  0.51 0.40 0.28 1.00 0.33
## Res 0.68 0.60 0.40 0.33 1.00
## 
## $data$Chi
##         Fl    Or    Ab   El   Res
## Fl   1.000 0.433 -0.02 0.18 -0.19
## Or   0.433 1.000  0.42 0.37  0.40
## Ab  -0.020 0.420  1.00 0.42  0.54
## El   0.180 0.370  0.42 1.00  0.45
## Res -0.190 0.400  0.54 0.45  1.00
## 
## $data$Cho_F
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.61 0.42 0.32 0.69
## Or  0.61 1.00 0.43 0.21 0.33
## Ab  0.42 0.43 1.00 0.58 0.63
## El  0.32 0.21 0.58 1.00 0.54
## Res 0.69 0.33 0.63 0.54 1.00
## 
## $data$Cho_M
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.59 0.26 0.14 0.82
## Or  0.59 1.00 0.02 0.31 0.69
## Ab  0.26 0.02 1.00 0.36 0.25
## El  0.14 0.31 0.36 1.00 0.24
## Res 0.82 0.69 0.25 0.24 1.00
## 
## $data$Cockcroft
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.29 0.42 0.24 0.18
## Or  0.29 1.00 0.12 0.65 0.31
## Ab  0.42 0.12 1.00 0.31 0.31
## El  0.24 0.65 0.31 1.00 0.46
## Res 0.18 0.31 0.31 0.46 1.00
## 
## $data$Conway
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.82 0.45 0.56 0.50
## Or  0.82 1.00 0.47 0.56 0.43
## El  0.45 0.47 1.00 0.68 0.49
## Ab  0.56 0.56 0.68 1.00 0.65
## Res 0.50 0.43 0.49 0.65 1.00
## 
## $data$Crawford
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.94 0.38 0.37 0.67
## Or  0.94 1.00 0.44 0.48 0.72
## El  0.38 0.44 1.00 0.38 0.65
## Ab  0.37 0.48 0.38 1.00 0.40
## Res 0.67 0.72 0.65 0.40 1.00
## 
## $data$Digranes
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.76 0.17 0.80 0.81
## Or  0.76 1.00 0.45 0.71 0.79
## El  0.17 0.45 1.00 0.09 0.37
## Ab  0.80 0.71 0.09 1.00 0.74
## Res 0.81 0.79 0.37 0.74 1.00
## 
## $data$Fishkin
##       Fl    Or    El   Ab  Res
## Fl  1.00  0.60  0.00 0.13 0.19
## Or  0.60  1.00 -0.03 0.11 0.26
## El  0.00 -0.03  1.00 0.11 0.01
## Ab  0.13  0.11  0.11 1.00 0.09
## Res 0.19  0.26  0.01 0.09 1.00
## 
## $data$Forsyth
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.91 0.56 0.35 0.82
## Or  0.91 1.00 0.49 0.40 0.77
## El  0.56 0.49 1.00 0.50 0.62
## Ab  0.35 0.40 0.50 1.00 0.33
## Res 0.82 0.77 0.62 0.33 1.00
## 
## $data$Gao
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.31 0.28 0.39 0.28
## Or  0.31 1.00 0.34 0.41 0.17
## El  0.28 0.34 1.00 0.25 0.26
## Ab  0.39 0.41 0.25 1.00 0.31
## Res 0.28 0.17 0.26 0.31 1.00
## 
## $data$Garcia
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.626 0.392 0.435 0.416
## Or  0.626 1.000 0.450 0.387 0.525
## El  0.392 0.450 1.000 0.495 0.320
## Ab  0.435 0.387 0.495 1.000 0.567
## Res 0.416 0.525 0.320 0.567 1.000
## 
## $data$Gollmar
##         Fl    Or     El     Ab   Res
## Fl   1.000 0.672 -0.260 -0.130 0.188
## Or   0.672 1.000  0.019  0.241 0.217
## El  -0.260 0.019  1.000  0.377 0.220
## Ab  -0.130 0.241  0.377  1.000 0.296
## Res  0.188 0.217  0.220  0.296 1.000
## 
## $data$Hokanson
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.79 0.14 0.32 0.48
## Or  0.79 1.00 0.28 0.44 0.45
## El  0.14 0.28 1.00 0.48 0.36
## Ab  0.32 0.44 0.48 1.00 0.36
## Res 0.48 0.45 0.36 0.36 1.00
## 
## $data$Houtz
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.59 0.27 0.49 0.50
## Or  0.59 1.00 0.16 0.27 0.34
## Ab  0.27 0.16 1.00 0.22 0.46
## El  0.49 0.27 0.22 1.00 0.37
## Res 0.50 0.34 0.46 0.37 1.00
## 
## $data$Humble
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.83 0.22 0.44 0.34
## Or  0.83 1.00 0.28 0.38 0.25
## El  0.22 0.28 1.00 0.06 0.07
## Ab  0.44 0.38 0.06 1.00 0.37
## Res 0.34 0.25 0.07 0.37 1.00
## 
## $data$Ibrahim
##        Fl    Or    Ab    El   Res
## Fl  1.000 0.611 0.524 0.230 0.460
## Or  0.611 1.000 0.120 0.246 0.485
## Ab  0.524 0.120 1.000 0.267 0.155
## El  0.230 0.246 0.267 1.000 0.484
## Res 0.460 0.485 0.155 0.484 1.000
## 
## $data$Kim_1
##        Fl    Or    Ab    El   Res
## Fl  1.000 0.844 0.351 0.196 0.666
## Or  0.844 1.000 0.332 0.209 0.563
## Ab  0.351 0.332 1.000 0.428 0.212
## El  0.196 0.209 0.428 1.000 0.443
## Res 0.666 0.563 0.212 0.443 1.000
## 
## $data$Kim_2a
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.84 0.45 0.39 0.65
## Or  0.84 1.00 0.49 0.38 0.65
## Ab  0.45 0.49 1.00 0.49 0.34
## El  0.39 0.38 0.49 1.00 0.51
## Res 0.65 0.65 0.34 0.51 1.00
## 
## $data$Kim_2b
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.79 0.08 0.14 0.47
## Or  0.79 1.00 0.15 0.15 0.48
## Ab  0.08 0.15 1.00 0.30 0.17
## El  0.14 0.15 0.30 1.00 0.25
## Res 0.47 0.48 0.17 0.25 1.00
## 
## $data$Kim_2c
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.86 0.31 0.22 0.66
## Or  0.86 1.00 0.32 0.25 0.57
## Ab  0.31 0.32 1.00 0.41 0.20
## El  0.22 0.25 0.41 1.00 0.40
## Res 0.66 0.57 0.20 0.40 1.00
## 
## $data$Kim_3a
##        Fl   Or    Ab   El   Res
## Fl   1.00 0.46 -0.28 0.10 -0.28
## Or   0.46 1.00  0.24 0.40  0.12
## Ab  -0.28 0.24  1.00 0.51  0.60
## El   0.10 0.40  0.51 1.00  0.66
## Res -0.28 0.12  0.60 0.66  1.00
## 
## $data$Kim_3b
##        Fl   Or    Ab   El   Res
## Fl   1.00 0.40 -0.27 0.08 -0.22
## Or   0.40 1.00  0.23 0.34  0.17
## Ab  -0.27 0.23  1.00 0.50  0.64
## El   0.08 0.34  0.50 1.00  0.72
## Res -0.22 0.17  0.64 0.72  1.00
## 
## $data$Liu
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.94 0.32 0.49 0.41
## Or  0.94 1.00 0.32 0.48 0.39
## El  0.32 0.32 1.00 0.66 0.62
## Ab  0.49 0.48 0.66 1.00 0.67
## Res 0.41 0.39 0.62 0.67 1.00
## 
## $data$Miranda
##        Fl    Or    El    Ab   Res
## Fl   1.00  0.49  0.02 -0.25  0.41
## Or   0.49  1.00  0.11 -0.30  0.20
## El   0.02  0.11  1.00 -0.31  0.14
## Ab  -0.25 -0.30 -0.31  1.00 -0.29
## Res  0.41  0.20  0.14 -0.29  1.00
## 
## $data$Nguyen
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.75 0.11 0.17 0.38
## Or  0.75 1.00 0.09 0.10 0.34
## El  0.11 0.09 1.00 0.15 0.13
## Ab  0.17 0.10 0.15 1.00 0.03
## Res 0.38 0.34 0.13 0.03 1.00
## 
## $data$Rose
##        Fl    Or    El    Ab   Res
## Fl   1.00  0.81  0.07  0.66 -0.05
## Or   0.81  1.00  0.27  0.62 -0.06
## El   0.07  0.27  1.00  0.57 -0.19
## Ab   0.66  0.62  0.57  1.00 -0.12
## Res -0.05 -0.06 -0.19 -0.12  1.00
## 
## $data$Rose_b
##       Fl   Or    El    Ab  Res
## Fl  1.00 0.67  0.05  0.56 0.34
## Or  0.67 1.00  0.13  0.16 0.12
## El  0.05 0.13  1.00 -0.30 0.43
## Ab  0.56 0.16 -0.30  1.00 0.19
## Res 0.34 0.12  0.43  0.19 1.00
## 
## $data$Roskos_Y
##       Fl   Or   Ab   El  Res
## Fl  1.00 0.26 0.15 0.37 0.53
## Or  0.26 1.00 0.08 0.47 0.31
## Ab  0.15 0.08 1.00 0.20 0.47
## El  0.37 0.47 0.20 1.00 0.37
## Res 0.53 0.31 0.47 0.37 1.00
## 
## $data$Roskos_O
##        Fl    Or    Ab   El  Res
## Fl   1.00  0.16 -0.06 0.06 0.14
## Or   0.16  1.00 -0.02 0.25 0.29
## Ab  -0.06 -0.02  1.00 0.04 0.36
## El   0.06  0.25  0.04 1.00 0.47
## Res  0.14  0.29  0.36 0.47 1.00
## 
## $data$Rubenstein_a
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.828 0.331 0.470 0.681
## Or  0.828 1.000 0.321 0.550 0.640
## El  0.331 0.321 1.000 0.450 0.443
## Ab  0.470 0.550 0.450 1.000 0.526
## Res 0.681 0.640 0.443 0.526 1.000
## 
## $data$Rubenstein_b
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.629 0.238 0.402 0.313
## Or  0.629 1.000 0.351 0.509 0.394
## El  0.238 0.351 1.000 0.380 0.385
## Ab  0.402 0.509 0.380 1.000 0.305
## Res 0.313 0.394 0.385 0.305 1.000
## 
## $data$Samuels
##        Fl    Or    El   Ab   Res
## Fl   1.00  0.75 -0.11 0.10 -0.16
## Or   0.75  1.00  0.02 0.24 -0.06
## El  -0.11  0.02  1.00 0.48  0.07
## Ab   0.10  0.24  0.48 1.00  0.24
## Res -0.16 -0.06  0.07 0.24  1.00
## 
## $data$Shore
##        Fl   Or    El    Ab   Res
## Fl   1.00 0.26 -0.01 -0.12 -0.29
## Or   0.26 1.00  0.33  0.70  0.12
## El  -0.01 0.33  1.00  0.30  0.54
## Ab  -0.12 0.70  0.30  1.00  0.34
## Res -0.29 0.12  0.54  0.34  1.00
## 
## $data$Stephens
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.86 0.17 0.33 0.65
## Or  0.86 1.00 0.16 0.30 0.60
## El  0.17 0.16 1.00 0.12 0.30
## Ab  0.33 0.30 0.12 1.00 0.31
## Res 0.65 0.60 0.30 0.31 1.00
## 
## $data$Storer_a
##        Fl    Or    El    Ab   Res
## Fl   1.00  0.81  0.07  0.66 -0.05
## Or   0.81  1.00  0.27  0.62 -0.06
## El   0.07  0.27  1.00  0.57 -0.19
## Ab   0.66  0.62  0.57  1.00 -0.12
## Res -0.05 -0.06 -0.19 -0.12  1.00
## 
## $data$Storer_b
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.73 0.23 0.43 0.57
## Or  0.73 1.00 0.20 0.55 0.48
## El  0.23 0.20 1.00 0.29 0.40
## Ab  0.43 0.55 0.29 1.00 0.25
## Res 0.57 0.48 0.40 0.25 1.00
## 
## $data$Tannehill
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.84 0.35 0.28 0.35
## Or  0.84 1.00 0.41 0.36 0.33
## El  0.35 0.41 1.00 0.38 0.39
## Ab  0.28 0.36 0.38 1.00 0.41
## Res 0.35 0.33 0.39 0.41 1.00
## 
## $data$Tisone
##        Fl    Or    El   Ab  Res
## Fl   1.00  0.68 -0.03 0.15 0.13
## Or   0.68  1.00 -0.12 0.26 0.35
## El  -0.03 -0.12  1.00 0.30 0.11
## Ab   0.15  0.26  0.30 1.00 0.53
## Res  0.13  0.35  0.11 0.53 1.00
## 
## $data$Trigani
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.72 0.28 0.17 0.69
## Or  0.72 1.00 0.24 0.26 0.47
## El  0.28 0.24 1.00 0.37 0.52
## Ab  0.17 0.26 0.37 1.00 0.16
## Res 0.69 0.47 0.52 0.16 1.00
## 
## $data$Voss
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.71 0.43 0.38 0.65
## Or  0.71 1.00 0.51 0.44 0.79
## El  0.43 0.51 1.00 0.53 0.59
## Ab  0.38 0.44 0.53 1.00 0.42
## Res 0.65 0.79 0.59 0.42 1.00
## 
## $data$Wan
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.27 0.24 0.17 0.19
## Or  0.27 1.00 0.35 0.19 0.14
## El  0.24 0.35 1.00 0.27 0.12
## Ab  0.17 0.19 0.27 1.00 0.35
## Res 0.19 0.14 0.12 0.35 1.00
## 
## $data$Warne
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.74 0.40 0.35 0.63
## Or  0.74 1.00 0.37 0.37 0.50
## El  0.40 0.37 1.00 0.43 0.50
## Ab  0.35 0.37 0.43 1.00 0.26
## Res 0.63 0.50 0.50 0.26 1.00
## 
## $data$Yoon
##        Fl   Or    El   Ab  Res
## Fl   1.00 0.73 -0.16 0.08 0.09
## Or   0.73 1.00  0.08 0.29 0.28
## El  -0.16 0.08  1.00 0.47 0.53
## Ab   0.08 0.29  0.47 1.00 0.66
## Res  0.09 0.28  0.53 0.66 1.00
## 
## $data$Zbarskaya
##        Fl    Or    El    Ab   Res
## Fl  1.000 0.614 0.008 0.168 0.189
## Or  0.614 1.000 0.135 0.327 0.153
## El  0.008 0.135 1.000 0.504 0.225
## Ab  0.168 0.327 0.504 1.000 0.442
## Res 0.189 0.153 0.225 0.442 1.000
## 
## $data$Zhang
##       Fl   Or   El   Ab  Res
## Fl  1.00 0.78 0.09 0.25 0.83
## Or  0.78 1.00 0.15 0.24 0.70
## El  0.09 0.15 1.00 0.33 0.06
## Ab  0.25 0.24 0.33 1.00 0.21
## Res 0.83 0.70 0.06 0.21 1.00
## 
## 
## $n
##  [1]  477  375   30  264  105  599   13   60   24   24  203   24   35   36   25
## [16]   21   17  116   45  319   95  128 1758   42  125   99  500 1000 1000 1000
## [31]  125  137 1047   12  187   12   19   39   31  371  371   51   18   84   43
## [46]   46  199   24  107  120   95  432  163  125 1067

2 Parameter-Based Meta-Analytic Structural Equation Modeling (pbMASEM)

Parameter-based MASEM comprises two steps: (1) Model-based generation of the relevant effect sizes and their sampling (co-)variances; and (2) Meta-analysis of the effect sizes.

2.1 Stage-1 Analysis: Model-Based Generation of Effect Sizes

2.1.1 Model Specification

In this step, we specify the analytic models for reliability estimation. The extant literature indicated that several models may describe the structure of the TTCT: (a) single-factor model with a general TTCT factor (gTTCT); (b) two-factor model with a factor representing innovativeness (INNOV) and a factor describing adaptability (ADAPT); and (c) the two-factor model from (b) with a cross-loading of the indicator Res. In the following section, we specify these models and define the reliability estimates.

## Model 1
## Single-factor model 
SingleFactorModel <- " # Measurement Model
                    gCT =~ L1*Fl + L2*Or + L3*El + L4*Ab + L5*Res

                    # Residual variances
                    Fl ~~ R1*Fl
                    Or ~~ R2*Or
                    El ~~ R3*El
                    Ab ~~ R4*Ab
                    Res ~~ R5*Res
                    
                    # Factor variances fixed to 1
                    gCT ~~ 1*gCT
                    
                    # Additional constraints
                    R1 > 0
                    R2 > 0
                    R3 > 0
                    R4 > 0
                    R5 > 0
                    
"

## Model 4
## Two-factor model with correlated traits ADAPT and INNOV and Res assigned to ADAPT
TwoFactorModel <- " # Measurement Model
                    Innov =~ L1*Fl + L2*Or 
                    Adapt =~ L3*El + L4*Ab + L5*Res

                    # Residual variances
                    Fl ~~ R1*Fl
                    Or ~~ R2*Or
                    El ~~ R3*El
                    Ab ~~ R4*Ab
                    Res ~~ R5*Res
                    
                    # Factor variances fixed to 1
                    Adapt ~~ 1*Adapt
                    Innov ~~ 1*Innov
                    
                    # Factor correlation
                    Adapt ~~ fcorr*Innov
                    
                    # Reliability coefficients
                    SREL1 := ((L1+L2)^2)/((L1+L2)^2 + 
                                     R1+R2)
                                     
                    SREL2 := ((L3+L4+L5)^2)/((L3+L4+L5)^2 + 
                                  R3+R4+R5)
                    
                    # Composite reliability by Fu et al. (2022)
                    SRELCR := ((L1+L2)^2+(L3+L4+L5)^2+2*fcorr*(L1+L2)*(L3+L4+L5))/
                              ((L1+L2)^2+(L3+L4+L5)^2+2*fcorr*(L1+L2)*(L3+L4+L5) + 
                              R1+R2+R3+R4+R5)
                                  
                    # Additional constraints
                    R1 > 0
                    R2 > 0
                    R3 > 0
                    R4 > 0
                    R5 > 0
"

## Model 2
## Two-factor model with correlated traits ADAPT and INNOV and Res assigned to Innov
TwoFactorModelB <- " # Measurement Model
                    Innov =~ L1*Fl + L2*Or + L5*Res
                    Adapt =~ L3*El + L4*Ab

                    # Residual variances
                    Fl ~~ R1*Fl
                    Or ~~ R2*Or
                    El ~~ R3*El
                    Ab ~~ R4*Ab
                    Res ~~ R5*Res
                    
                    # Factor variances fixed to 1
                    Adapt ~~ 1*Adapt
                    Innov ~~ 1*Innov
                    
                    # Factor correlation
                    Adapt ~~ fcorr*Innov
                    
                    # Reliability coefficients
                    SREL1 := ((L1+L2+L5)^2)/((L1+L2+L5)^2 + 
                                     R1+R2+R5)
                                     
                    SREL2 := ((L3+L4)^2)/((L3+L4)^2 + 
                                  R3+R4)
                    
                    # Composite reliability by Fu et al. (2022)
                    SRELCR := ((L1+L2+L5)^2+(L3+L4)^2+2*fcorr*(L1+L2+L5)*(L3+L4))/
                              ((L1+L2+L5)^2+(L3+L4)^2+2*fcorr*(L1+L2+L5)*(L3+L4) + 
                              R1+R2+R3+R4+R5)
                                  
                    # Additional constraints
                    R1 > 0
                    R2 > 0
                    R3 > 0
                    R4 > 0
                    R5 > 0
"

## Model 3
## Two-factor model with correlated traits ADAPT and INNOV and a cross-loading of RES
TwoFactorModelC <- " # Measurement Model
                    Innov =~ L1*Fl + L2*Or + CL*Res
                    Adapt =~ L3*El + L4*Ab + L5*Res

                    # Residual variances
                    Fl ~~ R1*Fl
                    Or ~~ R2*Or
                    El ~~ R3*El
                    Ab ~~ R4*Ab
                    Res ~~ R5*Res
                    
                    # Factor variances fixed to 1
                    Adapt ~~ 1*Adapt
                    Innov ~~ 1*Innov
                    
                    # Factor correlation
                    Adapt ~~ fcorr*Innov
                    
                    # Reliability coefficients
                    SREL1C := ((L1+L2+CL)^2)/((L1+L2+CL)^2 + 
                                     R1+R2+R5)
                                     
                    SREL2C := ((L3+L4+L5)^2)/((L3+L4+L5)^2 + 
                                  R3+R4+R5)
                                  
                    # Composite reliability by Fu et al. (2022)
                    SRELCRC := ((L1+L2+CL)^2+(L3+L4+L5)^2 + 
                                  2*fcorr*(L1+L2+CL)*(L3+L4+L5))/
                                  ((L1+L2+CL)^2+(L3+L4+L5)^2 + 
                                  2*fcorr*(L1+L2+CL)*(L3+L4+L5) + 
                                  R1+R2+R3+R4+R5)
                                  
                    # Additional constraints
                    R1 > 0
                    R2 > 0
                    R3 > 0
                    R4 > 0
                    R5 > 0

"

2.1.2 Model Estimation

## Define a function to run the SEM in laavan and extract the
## model parameters
tra_study_lavaan <- function(id, data, para_names=NULL, model, ...) { 
  cor_i <- data$data[[id]] 
  n_i <- data$n[[id]] 
  fit_i <- sem(model=model, std.lv = T, sample.cov=cor_i, sample.nobs=n_i, ...) 
  results <- list() 
  coefs <- standardizedSolution(fit_i)$est.std[1:5] 
  vcoefs <- vcov(fit_i)[1:5,1:5] 
  if (is.null(para_names)) para_names <- names(coefs) 
  names(coefs) <- para_names 
  colnames(vcoefs) <- rownames(vcoefs) <- para_names 
  results$coefs <- coefs 
  results$vcoefs <- vcoefs 
  results$fit <- fit_i 
  results 
}


## Specify some more parameters
k <- length(TTCT1$data)
para_names <- c("L1", "L2", "L3", "L4", "L5")
var_names <- c("Fl", "Or", "El", "Ab", "Res")

2.1.2.1 Model 1: Single-factor model

## Model 1
## Single-factor model
## Model estimation
sfm.fit.all <- lapply(1:k, FUN = tra_study_lavaan,
                      data = TTCT1,
                      para_names = para_names,
                      model = SingleFactorModel,
                      estimator = "ML",
                      fixed.x = FALSE)

head(sfm.fit.all, 5)
## [[1]]
## [[1]]$coefs
##        L1        L2        L3        L4        L5 
## 0.7806757 0.7970722 0.3850632 0.4928744 0.6544310 
## 
## [[1]]$vcoefs
##              L1           L2           L3           L4           L5
## L1 0.0018747607 0.0004414647 0.0002888422 0.0003672497 0.0004744853
## L2 0.0004414647 0.0018586283 0.0002859710 0.0003626627 0.0004635303
## L3 0.0002888422 0.0002859710 0.0023570479 0.0001926207 0.0002535575
## L4 0.0003672497 0.0003626627 0.0001926207 0.0022354054 0.0003235835
## L5 0.0004744853 0.0004635303 0.0002535575 0.0003235835 0.0020128976
## 
## [[1]]$fit
## lavaan 0.6.16 ended normally after 14 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
##   Number of inequality constraints                   5
## 
##   Number of observations                           477
## 
## Model Test User Model:
##                                                       
##   Test statistic                                83.333
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.000
## 
## 
## [[2]]
## [[2]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8539468 0.8834395 0.2320228 0.4090740 0.6433003 
## 
## [[2]]$vcoefs
##              L1           L2           L3           L4           L5
## L1 0.0020687540 0.0007157960 0.0002623920 0.0004625366 0.0007268287
## L2 0.0007157960 0.0020239678 0.0002524888 0.0004436589 0.0006875786
## L3 0.0002623920 0.0002524888 0.0029423964 0.0001260761 0.0001982261
## L4 0.0004625366 0.0004436589 0.0001260761 0.0027619526 0.0003494688
## L5 0.0007268287 0.0006875786 0.0001982261 0.0003494688 0.0023771537
## 
## [[2]]$fit
## lavaan 0.6.16 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
##   Number of inequality constraints                   5
## 
##   Number of observations                           375
## 
## Model Test User Model:
##                                                       
##   Test statistic                               108.835
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.000
## 
## 
## [[3]]
## [[3]]$coefs
##        L1        L2        L3        L4        L5 
## 0.5976890 0.8960524 0.4174755 0.2081323 0.3135450 
## 
## [[3]]$vcoefs
##              L1           L2           L3           L4           L5
## L1  0.042572394 -0.011264727  0.010409972  0.004974506  0.007613374
## L2 -0.011264727  0.054008776 -0.005773406 -0.002480583 -0.003957476
## L3  0.010409972 -0.005773406  0.039023005  0.003161825  0.004834038
## L4  0.004974506 -0.002480583  0.003161825  0.038628760  0.002318153
## L5  0.007613374 -0.003957476  0.004834038  0.002318153  0.038679852
## 
## [[3]]$fit
## lavaan 0.6.16 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
##   Number of inequality constraints                   5
## 
##   Number of observations                            30
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 6.068
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.300
## 
## 
## [[4]]
## [[4]]$coefs
##        L1        L2        L3        L4        L5 
## 0.3384332 0.5238644 0.4325338 0.4546676 0.1122193 
## 
## [[4]]$vcoefs
##               L1            L2            L3            L4            L5
## L1  7.787576e-03 -0.0006302157 -9.201167e-05 -1.448375e-04  1.826983e-05
## L2 -6.302157e-04  0.0095965837 -1.256685e-03 -1.541087e-03 -1.332804e-04
## L3 -9.201167e-05 -0.0012566850  8.347094e-03 -3.886514e-04 -1.621477e-06
## L4 -1.448375e-04 -0.0015410869 -3.886514e-04  8.596114e-03 -1.388429e-05
## L5  1.826983e-05 -0.0001332804 -1.621477e-06 -1.388429e-05  7.516828e-03
## 
## [[4]]$fit
## lavaan 0.6.16 ended normally after 23 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
##   Number of inequality constraints                   5
## 
##   Number of observations                           264
## 
## Model Test User Model:
##                                                       
##   Test statistic                                36.623
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.000
## 
## 
## [[5]]
## [[5]]$coefs
##         L1         L2         L3         L4         L5 
##  0.6505729  0.5767207  0.3335709  0.4680604 -0.1908895 
## 
## [[5]]$vcoefs
##               L1            L2            L3            L4            L5
## L1  1.718667e-02 -0.0026844610 -0.0002037401 -0.0007658679  3.988347e-05
## L2 -2.684461e-03  0.0159257850  0.0005739521  0.0006749661 -3.492890e-04
## L3 -2.037401e-04  0.0005739521  0.0146980847  0.0005715674 -2.534976e-04
## L4 -7.658679e-04  0.0006749661  0.0005715674  0.0147126561 -3.373881e-04
## L5  3.988347e-05 -0.0003492890 -0.0002534976 -0.0003373881  1.491776e-02
## 
## [[5]]$fit
## lavaan 0.6.16 ended normally after 17 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        10
##   Number of inequality constraints                   5
## 
##   Number of observations                           105
## 
## Model Test User Model:
##                                                       
##   Test statistic                                14.475
##   Degrees of freedom                                 5
##   P-value (Chi-square)                           0.013
## Extract relevant model parameters

## FIT INDICES
## Chi-squares and p values of the parameter-based models
## Select CFI and SRMR
## SRMR performs well in small samples (see Pavlov et al., 2021, EPM)
sfm_model_fit <- t(sapply(sfm.fit.all, function(x) { 
  fitMeasures(x$fit, c("chisq", "pvalue", "ntotal",
                       "cfi", "srmr"))}))
row.names(sfm_model_fit) <- names(TTCT1$data)
options(scipen=50)
round(sfm_model_fit,4)
##                  chisq pvalue ntotal    cfi   srmr
## Acar           83.3332 0.0000    477 0.8816 0.0710
## Acaretal      108.8346 0.0000    375 0.8421 0.1082
## Auth            6.0684 0.2996     30 0.9263 0.0915
## Balcia         36.6229 0.0000    264 0.5953 0.0766
## Balcib         14.4754 0.0129    105 0.7828 0.0752
## Barkul        241.9006 0.0000    599 0.9157 0.0556
## Berman         19.7296 0.0014     13 0.0000 0.2533
## Callans        20.9919 0.0008     60 0.8249 0.1265
## Carter_a       13.2179 0.0214     24 0.8721 0.1466
## Carter_b        2.1289 0.8310     24 1.0000 0.0348
## Chi            97.7060 0.0000    203 0.6591 0.1254
## Cho_F          13.9922 0.0157     24 0.8011 0.0947
## Cho_M          10.2306 0.0690     35 0.9212 0.0961
## Cockcroft       8.8922 0.1134     36 0.8845 0.0962
## Conway         14.1535 0.0147     25 0.8468 0.1038
## Crawford        9.7633 0.0822     21 0.9322 0.1001
## Digranes        7.0518 0.2168     17 0.9618 0.0756
## Fishkin         2.2949 0.8070    116 1.0000 0.0336
## Forsyth        15.3126 0.0091     45 0.9354 0.0807
## Gao            14.0567 0.0153    319 0.9583 0.0368
## Garcia         22.4599 0.0004     95 0.8848 0.0630
## Gollmar        68.0533 0.0000    128 0.5816 0.1725
## Hokanson      601.4395 0.0000   1758 0.8187 0.1122
## Houtz           6.7467 0.2402     42 0.9596 0.0725
## Humble         13.0713 0.0227    125 0.9593 0.0605
## Ibrahim        45.6004 0.0000     99 0.7167 0.1149
## Kim_1         212.7346 0.0000    500 0.8282 0.1158
## Kim_2a        262.3095 0.0000   1000 0.9004 0.0802
## Kim_2b        134.6176 0.0000   1000 0.9102 0.0849
## Kim_2c        305.3774 0.0000   1000 0.8737 0.1028
## Kim_3a        181.6475 0.0000    125 0.2080 0.3009
## Kim_3b         69.7880 0.0000    137 0.7345 0.1431
## Liu          1025.4772 0.0000   1047 0.7377 0.2090
## Miranda         1.9213 0.8599     12 1.0000 0.0801
## Nguyen          6.3830 0.2707    187 0.9927 0.0418
## Rose            9.2189 0.1006     12 0.7898 0.1172
## Rose_b         11.3207 0.0454     19 0.7149 0.1517
## Roskos_Y        8.9598 0.1107     39 0.8776 0.0875
## Roskos_O        2.6746 0.7500     31 1.0000 0.0691
## Rubenstein_a   84.3037 0.0000    371 0.9157 0.0721
## Rubenstein_b   36.0357 0.0000    371 0.9332 0.0574
## Samuels        21.1041 0.0008     51 0.7149 0.1485
## Shore          12.9287 0.0241     18 0.5875 0.1627
## Stephens        6.2337 0.2841     84 0.9927 0.0498
## Storer_a       33.0343 0.0000     43 0.7132 0.1172
## Storer_b       10.4611 0.0632     46 0.9234 0.0746
## Tannehill      50.4142 0.0000    199 0.8790 0.1066
## Tisone         10.3408 0.0661     24 0.7382 0.1507
## Trigani        44.2975 0.0000    107 0.7992 0.1077
## Voss           20.2329 0.0011    120 0.9486 0.0594
## Wan             7.7501 0.1706     95 0.9231 0.0581
## Warne          89.9866 0.0000    432 0.8950 0.0731
## Yoon          161.6311 0.0000    163 0.4854 0.2409
## Zbarskaya      60.8402 0.0000    125 0.5753 0.1558
## Zhang         131.0945 0.0000   1067 0.9490 0.0807
## Write out these indices
write.csv(round(sfm_model_fit,4), "SingleFactorModel-Fit.csv")
write.table(round(sfm_model_fit,4), "SingleFactorModel-Fit.txt", sep='\t')

head(sfm_model_fit, 5)
##               chisq                   pvalue ntotal       cfi       srmr
## Acar      83.333237 0.0000000000000002220446    477 0.8816320 0.07096241
## Acaretal 108.834597 0.0000000000000000000000    375 0.8420727 0.10816058
## Auth       6.068386 0.2996214212440039270646     30 0.9263234 0.09146972
## Balcia    36.622915 0.0000007127725482058977    264 0.5953345 0.07661383
## Balcib    14.475398 0.0128555988944794030715    105 0.7827929 0.07518984

2.1.2.2 Model 2: Two-factor model with Res assigned to Innov

## Two-factor model with two correlated traits and Res assigned to Innov
## Model estimation
tfm2.fit.all <- lapply(1:k, FUN = tra_study_lavaan,
                      data = TTCT1,
                      para_names = para_names,
                      model = TwoFactorModelB,
                      estimator = "ML",
                      fixed.x = FALSE)

head(tfm2.fit.all, 5)
## [[1]]
## [[1]]$coefs
##        L1        L2        L3        L4        L5 
## 0.7969849 0.8003590 0.6446502 0.5195315 0.6987064 
## 
## [[1]]$vcoefs
##              L1           L2           L3            L4            L5
## L1 0.0018861508 0.0004099329 0.0004707938  0.0001950756  0.0002623528
## L2 0.0004099329 0.0018834415 0.0004673686  0.0001959015  0.0002634636
## L3 0.0004707938 0.0004673686 0.0020258499  0.0001577891  0.0002122070
## L4 0.0001950756 0.0001959015 0.0001577891  0.0031343648 -0.0003250442
## L5 0.0002623528 0.0002634636 0.0002122070 -0.0003250442  0.0039772879
## 
## [[1]]$fit
## lavaan 0.6.16 ended normally after 18 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           477
## 
## Model Test User Model:
##                                                       
##   Test statistic                                57.687
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.000
## 
## 
## [[2]]
## [[2]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8684909 0.8753378 0.6396407 0.4880936 0.9608786 
## 
## [[2]]$vcoefs
##               L1            L2            L3             L4            L5
## L1 0.00206802892 0.00069584126 0.00071243600  0.00009368257  0.0001844270
## L2 0.00069584126 0.00205814308 0.00070152449  0.00009442116  0.0001858810
## L3 0.00071243600 0.00070152449 0.00238115270  0.00006899694  0.0001358299
## L4 0.00009368257 0.00009442116 0.00006899694  0.00543615561 -0.0053004314
## L5 0.00018442700 0.00018588101 0.00013582993 -0.00530043142  0.0134203654
## 
## [[2]]$fit
## lavaan 0.6.16 ended normally after 21 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           375
## 
## Model Test User Model:
##                                                       
##   Test statistic                                33.092
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.000
## 
## 
## [[3]]
## [[3]]$coefs
##        L1        L2        L3        L4        L5 
## 0.5895150 0.9156545 0.3050138 0.8405801 0.3806894 
## 
## [[3]]$vcoefs
##               L1           L2            L3            L4            L5
## L1  0.0453756427 -0.016991967  0.0092965831  0.0018551323  0.0008401689
## L2 -0.0169919669  0.062985668 -0.0068274011  0.0028814532  0.0013049783
## L3  0.0092965831 -0.006827401  0.0385664551  0.0009598415  0.0004347016
## L4  0.0018551323  0.002881453  0.0009598415  0.1800957928 -0.0543381624
## L5  0.0008401689  0.001304978  0.0004347016 -0.0543381624  0.0625523360
## 
## [[3]]$fit
## lavaan 0.6.16 ended normally after 24 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                            30
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 3.827
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.430
## 
## 
## [[4]]
## [[4]]$coefs
##        L1        L2        L3        L4        L5 
## 0.2920001 1.0000000 0.1540000 0.6737536 0.4512037 
## 
## [[4]]$vcoefs
##               L1            L2            L3             L4             L5
## L1 0.00361265564 0.00055093560 0.00008484407  0.00003993787  0.00002674585
## L2 0.00055093560 0.00188676565 0.00029056186  0.00013677351  0.00009159538
## L3 0.00008484407 0.00029056186 0.00372878360  0.00002106312  0.00001410569
## L4 0.00003993787 0.00013677351 0.00002106312  0.02310016732 -0.01024367663
## L5 0.00002674585 0.00009159538 0.00001410569 -0.01024367663  0.01244114141
## 
## [[4]]$fit
## lavaan 0.6.16 ended normally after 55 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           264
## 
## Model Test User Model:
##                                                       
##   Test statistic                                17.457
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.002
## 
## 
## [[5]]
## [[5]]$coefs
##         L1         L2         L3         L4         L5 
##  0.8040935  0.5316154 -0.1983872  0.4340951  0.8362217 
## 
## [[5]]$vcoefs
##               L1            L2             L3             L4            L5
## L1  0.0325363543 -0.0126544938  0.00306217860  0.00029116216  0.0005608822
## L2 -0.0126544938  0.0197394588 -0.00243904990  0.00019249800  0.0003708198
## L3  0.0030621786 -0.0024390499  0.01364481519 -0.00007183599 -0.0001383817
## L4  0.0002911622  0.0001924980 -0.00007183599  0.02442133368 -0.0257014945
## L5  0.0005608822  0.0003708198 -0.00013838175 -0.02570149452  0.0650521958
## 
## [[5]]$fit
## lavaan 0.6.16 ended normally after 27 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           105
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 5.016
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.286
## Extract relevant model parameters

## FIT INDICES
## Chi-squares and p values of the parameter-based models
tfm2_model_fit <- t(sapply(tfm2.fit.all, function(x) { 
  fitMeasures(x$fit, c("chisq", "pvalue", "ntotal",
                       "cfi", "srmr"))}))
row.names(tfm2_model_fit) <- names(TTCT1$data)
options(scipen=50)
round(tfm2_model_fit,4)
##                 chisq pvalue ntotal    cfi   srmr
## Acar          57.6867 0.0000    477 0.9189 0.0565
## Acaretal      33.0925 0.0000    375 0.9558 0.0507
## Auth           3.8267 0.4300     30 1.0000 0.0672
## Balcia        17.4574 0.0016    264 0.8278 0.0569
## Balcib         5.0161 0.2856    105 0.9767 0.0468
## Barkul       209.5178 0.0000    599 0.9269 0.0537
## Berman         7.9998 0.0916     13 0.7175 0.1554
## Callans       17.0886 0.0019     60 0.8567 0.1120
## Carter_a       5.1019 0.2770     24 0.9829 0.0709
## Carter_b       2.0598 0.7248     24 1.0000 0.0336
## Chi          114.0734 0.0000    203 0.5952 0.1638
## Cho_F         11.5357 0.0212     24 0.8333 0.0795
## Cho_M          6.5131 0.1640     35 0.9621 0.0579
## Cockcroft      8.8535 0.0649     36 0.8559 0.0942
## Conway         7.1166 0.1299     25 0.9478 0.0920
## Crawford       8.7763 0.0669     21 0.9320 0.0901
## Digranes       4.2876 0.3685     17 0.9946 0.0556
## Fishkin        2.7655 0.5978    116 1.0000 0.0510
## Forsyth        8.6404 0.0707     45 0.9709 0.0401
## Gao            5.3692 0.2515    319 0.9937 0.0243
## Garcia        17.6336 0.0015     95 0.9101 0.0555
## Gollmar       50.4486 0.0000    128 0.6918 0.1480
## Hokanson     282.8336 0.0000   1758 0.9153 0.0723
## Houtz          6.6986 0.1527     42 0.9375 0.0732
## Humble        12.5814 0.0135    125 0.9567 0.0586
## Ibrahim       43.1922 0.0000     99 0.7265 0.1273
## Kim_1        133.7546 0.0000    500 0.8927 0.0786
## Kim_2a       144.5767 0.0000   1000 0.9456 0.0508
## Kim_2b        52.4440 0.0000   1000 0.9664 0.0483
## Kim_2c       168.1729 0.0000   1000 0.9310 0.0628
## Kim_3a       141.7916 0.0000    125 0.3822 0.2546
## Kim_3b        60.1716 0.0000    137 0.7698 0.1375
## Liu          557.0301 0.0000   1047 0.8578 0.1704
## Miranda        0.9114 0.9229     12 1.0000 0.0521
## Nguyen         3.0839 0.5439    187 1.0000 0.0252
## Rose           5.1725 0.2700     12 0.9416 0.0939
## Rose_b         9.5764 0.0482     19 0.7485 0.1636
## Roskos_Y       8.8310 0.0655     39 0.8507 0.0857
## Roskos_O       1.9012 0.7539     31 1.0000 0.0603
## Rubenstein_a  51.4485 0.0000    371 0.9496 0.0513
## Rubenstein_b  25.1730 0.0000    371 0.9544 0.0524
## Samuels        9.0344 0.0602     51 0.9109 0.1071
## Shore          7.1004 0.1307     18 0.8387 0.1371
## Stephens       5.9531 0.2027     84 0.9885 0.0482
## Storer_a      18.5349 0.0010     43 0.8513 0.0939
## Storer_b       9.3526 0.0529     46 0.9249 0.0692
## Tannehill     36.5296 0.0000    199 0.9134 0.0929
## Tisone         9.7572 0.0447     24 0.7178 0.1732
## Trigani       32.3158 0.0000    107 0.8553 0.0814
## Voss           6.6525 0.1554    120 0.9910 0.0213
## Wan            7.7500 0.1012     95 0.8952 0.0581
## Warne         52.9054 0.0000    432 0.9396 0.0496
## Yoon         121.9903 0.0000    163 0.6124 0.2126
## Zbarskaya     27.6169 0.0000    125 0.8204 0.1117
## Zhang         19.0140 0.0008   1067 0.9939 0.0208
## Write out these indices
write.csv(round(tfm2_model_fit,4), "TwoFactorModel2-Fit.csv")
write.table(round(tfm2_model_fit,4), "TwoFactorModel2-Fit.txt", sep='\t')

head(tfm2_model_fit, 5)
##              chisq               pvalue ntotal       cfi       srmr
## Acar     57.686705 0.000000000008878454    477 0.9188750 0.05648029
## Acaretal 33.092492 0.000001143512293966    375 0.9557518 0.05067900
## Auth      3.826686 0.429969118942402750     30 1.0000000 0.06722991
## Balcia   17.457364 0.001574836742134322    264 0.8277916 0.05693066
## Balcib    5.016106 0.285648861730992576    105 0.9767075 0.04683203
## Extract the scale reliability coefficients from the primary studies
## Point estimates
tfm2.srl1 <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[14,5]})) 
tfm2.srl2 <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[15,5]})) 
tfm2.srlcr <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[16,5]})) 

## Standard errors
tfm2.srl1.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[14,6]})) 
tfm2.srl2.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[15,6]})) 
tfm2.srlcr.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[16,6]})) 

## Lower 95% CI bound
tfm2.srl1.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[14,9]}))
tfm2.srl2.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[15,9]}))
tfm2.srlcr.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[16,9]}))

## Upper 95% CI bound
tfm2.srl1.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[14,10]}))
tfm2.srl2.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[15,10]}))
tfm2.srlcr.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[16,10]}))

## Factor correlation
tfm2.fcorr <- t(sapply(1:k, function(x) {parameterEstimates(tfm2.fit.all[[x]]$fit)[13,5]}))

## Save these statistics
tfm2.srl.summary <- data.frame(names.studies, 
                              TTCT1$n, 
                              t(tfm2.srl1 ), 
                              t(tfm2.srl1.se), 
                              t(tfm2.srl1.ci.low), 
                              t(tfm2.srl1.ci.upp),
                              t(tfm2.srl2), 
                              t(tfm2.srl2.se), 
                              t(tfm2.srl2.ci.low), 
                              t(tfm2.srl2.ci.upp),
                              t(tfm2.srlcr), 
                              t(tfm2.srlcr.se), 
                              t(tfm2.srlcr.ci.low), 
                              t(tfm2.srlcr.ci.upp),
                              t(tfm2.fcorr))

colnames(tfm2.srl.summary) <- c("Study", 
                               "N", 
                               "Omega Factor 1",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Omega Factor 2",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Composite reliability",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Factor correlation")

tfm2.srl.summary
##           Study    N Omega Factor 1          SE Lower 95% CI Upper 95% CI
## 1          Acar  477     0.79342944 0.016278481   0.76152421    0.8253347
## 2      Acaretal  375     0.84145745 0.014069535   0.81388167    0.8690332
## 3          Auth   30     0.65564386 0.104524431   0.45077974    0.8605080
## 4        Balcia  264     0.52510048 0.039484520   0.44771224    0.6024887
## 5        Balcib  105     0.38902715 0.099196619   0.19460535    0.5834490
## 6        Barkul  599     0.87684294 0.009058061   0.85908947    0.8945964
## 7        Berman   13     0.21016567 0.195514311  -0.17303533    0.5933667
## 8       Callans   60     0.82486789 0.038333729   0.74973516    0.9000006
## 9      Carter_a   24     0.92550812 0.026368277   0.87382725    0.9771890
## 10     Carter_b   24     0.87840114 0.041440901   0.79717846    0.9596238
## 11          Chi  203     0.67031672 0.034570247   0.60256028    0.7380732
## 12        Cho_F   24     0.78113939 0.075683560   0.63280234    0.9294764
## 13        Cho_M   35     0.88259986 0.033779342   0.81639357    0.9488062
## 14    Cockcroft   36     0.51583279 0.135877965   0.24951687    0.7821487
## 15       Conway   25     0.83865184 0.055255865   0.73035233    0.9469513
## 16     Crawford   21     0.92207022 0.030206796   0.86286599    0.9812745
## 17     Digranes   17     0.91767077 0.034578505   0.84989815    0.9854434
## 18      Fishkin  116     0.67543999 0.052009003   0.57350422    0.7773758
## 19      Forsyth   45     0.94055748 0.015555705   0.91006886    0.9710461
## 20          Gao  319     0.50809497 0.047486027   0.41502407    0.6011659
## 21       Garcia   95     0.77668460 0.039474752   0.69931551    0.8540537
## 22      Gollmar  128     0.69572184 0.041101217   0.61516494    0.7762787
## 23     Hokanson 1758     0.82110347 0.007243849   0.80690579    0.8353012
## 24        Houtz   42     0.75289536 0.063984429   0.62748818    0.8783025
## 25       Humble  125     0.79567253 0.030606303   0.73568528    0.8556598
## 26      Ibrahim   99     0.75192054 0.039023666   0.67543556    0.8284055
## 27        Kim_1  500     0.88283380 0.008954717   0.86528287    0.9003847
## 28       Kim_2a 1000     0.88851515 0.006118823   0.87652248    0.9005078
## 29       Kim_2b 1000     0.82563158 0.009412889   0.80718266    0.8440805
## 30       Kim_2c 1000     0.88656108 0.006190075   0.87442875    0.8986934
## 31       Kim_3a  125     0.58458079 0.052557496   0.48156999    0.6875916
## 32       Kim_3b  137     0.23957472 0.093681148   0.05596305    0.4231864
## 33          Liu 1047     0.85566281 0.007922086   0.84013581    0.8711898
## 34      Miranda   12     0.66708273 0.162981604   0.34764466    0.9865208
## 35       Nguyen  187     0.77821059 0.026939478   0.72541019    0.8310110
## 36         Rose   12     0.68572562 0.143683681   0.40411078    0.9673405
## 37       Rose_b   19     0.73783593 0.093877348   0.55383971    0.9218322
## 38     Roskos_Y   39     0.66456878 0.089855121   0.48845598    0.8406816
## 39     Roskos_O   31     0.51431965 0.194303603   0.13349158    0.8951477
## 40 Rubenstein_a  371     0.88973463 0.009920206   0.87029138    0.9091779
## 41 Rubenstein_b  371     0.73558217 0.022951589   0.69059788    0.7805665
## 42      Samuels   51     0.64164977 0.074671111   0.49529708    0.7880025
## 43        Shore   18     0.04879865 0.194405932  -0.33222998    0.4298273
## 44     Stephens   84     0.88711473 0.021369179   0.84523191    0.9289976
## 45     Storer_a   43     0.68572584 0.075903808   0.53695711    0.8344946
## 46     Storer_b   46     0.82236445 0.044859980   0.73444050    0.9102884
## 47    Tannehill  199     0.80535849 0.023291147   0.75970868    0.8510083
## 48       Tisone   24     0.74438242 0.081760886   0.58413403    0.9046308
## 49      Trigani  107     0.85280675 0.023974059   0.80581846    0.8997950
## 50         Voss  120     0.88620094 0.017965305   0.85098959    0.9214123
## 51          Wan   95     0.43441825 0.100123344   0.23818011    0.6306564
## 52        Warne  432     0.84503235 0.012736174   0.82006991    0.8699948
## 53         Yoon  163     0.74419778 0.031567220   0.68232716    0.8060684
## 54    Zbarskaya  125     0.65602250 0.050572601   0.55690203    0.7551430
## 55        Zhang 1067     0.91182228 0.004665094   0.90267886    0.9209657
##    Omega Factor 2         SE Lower 95% CI Upper 95% CI Composite reliability
## 1      0.54442539 0.04311695  0.459917724    0.6289331             0.7995981
## 2      0.71460948 0.05953533  0.597922378    0.8312966             0.8473549
## 3      0.56496187 0.25729832  0.060666434    1.0692573             0.7062665
## 4      0.48524883 0.07529410  0.337675104    0.6328226             0.5777127
## 5      0.59196819 0.13406183  0.329211825    0.8547245             0.5673408
## 6      0.76734112 0.01859382  0.730897899    0.8037843             0.9067247
## 7      0.13125388 0.63906542 -1.121291339    1.3837991             0.3792193
## 8      0.57080369 0.37412291 -0.162463739    1.3040711             0.7960050
## 9      0.77000008 0.08239435  0.608510111    0.9314900             0.9062086
## 10     0.44168307 0.22914851 -0.007439755    0.8908059             0.8502797
## 11     0.59393298 0.05735172  0.481525674    0.7063403             0.7389661
## 12     0.74362049 0.10602301  0.535819218    0.9514218             0.8521182
## 13     0.52951075 0.15915172  0.217579111    0.8414424             0.8288963
## 14     0.57158106 0.16899674  0.240353530    0.9028086             0.7019128
## 15     0.81823414 0.07401261  0.673172080    0.9632962             0.8918299
## 16     0.55176587 0.19595122  0.167708530    0.9358232             0.8802762
## 17     0.19431940 0.44525652 -0.678367348    1.0670062             0.8539556
## 18     0.55499998 0.06156126  0.434342125    0.6756578             0.6332173
## 19     0.69824220 0.09756896  0.507010559    0.8894739             0.9148728
## 20     0.40557490 0.06722093  0.273824291    0.5373255             0.6626395
## 21     0.66395267 0.06913231  0.528455821    0.7994495             0.8312741
## 22     0.61601475 0.14217430  0.337358237    0.8946713             0.5904046
## 23     0.68896747 0.01872603  0.652265130    0.7256698             0.8376745
## 24     0.37844715 0.19970361 -0.012964733    0.7698590             0.7544145
## 25     0.12418332 0.17032751 -0.209652468    0.4580191             0.7245921
## 26     0.49703327 0.12591109  0.250252063    0.7438145             0.7632648
## 27     0.64133584 0.04348908  0.556098816    0.7265729             0.8553685
## 28     0.66067493 0.02159081  0.618357717    0.7029921             0.8796064
## 29     0.46688762 0.03601213  0.396305141    0.5374701             0.7621709
## 30     0.59277500 0.02756163  0.538755195    0.6467948             0.8475895
## 31     0.72052879 0.07125025  0.580880865    0.8601767             0.7188807
## 32     0.66982318 0.05641769  0.559246536    0.7803998             0.6533906
## 33     0.82925737 0.01403242  0.801754324    0.8567604             0.8909234
## 34     0.34500000 0.22212131 -0.090349758    0.7803498             0.5295116
## 35     0.26798772 0.11342589  0.045677058    0.4902984             0.6832934
## 36     0.78499954 0.10997994  0.569442830    1.0005563             0.8199744
## 37     0.34999823 0.17644147  0.004179309    0.6958171             0.7224723
## 38     0.33423467 0.21365718 -0.084525713    0.7529950             0.7051059
## 39     0.07834996 0.33674747 -0.581662952    0.7383629             0.5443966
## 40     0.64601509 0.03877220  0.570022975    0.7220072             0.8790599
## 41     0.56722532 0.04629451  0.476489758    0.6579609             0.7846358
## 42     0.74000003 0.06263745  0.617232885    0.8627672             0.6581952
## 43     0.47991626 0.24917184 -0.008451577    0.9682841             0.5015645
## 44     0.23396191 0.18273740 -0.124196812    0.5921206             0.7925324
## 45     0.78499986 0.05809909  0.671127741    0.8988720             0.8199745
## 46     0.49852653 0.16718496  0.170850040    0.8262030             0.8118961
## 47     0.55369507 0.06374239  0.428762276    0.6786279             0.8048860
## 48     0.64999988 0.11519913  0.424213735    0.8757860             0.6900959
## 49     0.57668943 0.10559243  0.369732059    0.7836468             0.8213932
## 50     0.70101044 0.05527658  0.592670348    0.8093505             0.8902267
## 51     0.42685868 0.11811324  0.195360980    0.6583564             0.5986157
## 52     0.60592141 0.03833412  0.530787909    0.6810549             0.8427107
## 53     0.73499994 0.03558982  0.665245164    0.8047547             0.7849945
## 54     0.75199998 0.03847119  0.676597836    0.8274021             0.7536246
## 55     0.62011383 0.08280858  0.457811995    0.7824157             0.8619198
##             SE Lower 95% CI Upper 95% CI Factor correlation
## 1  0.015202535    0.7698017    0.8293946         0.67112035
## 2  0.016050724    0.8158961    0.8788138         0.40766720
## 3  0.092312134    0.5253380    0.8871949         0.48204516
## 4  0.038109666    0.5030191    0.6524063         0.32801331
## 5  0.071227956    0.4277366    0.7069451         0.42054214
## 6  0.006367321    0.8942449    0.9192044         0.90362658
## 7  0.292905012   -0.1948640    0.9533026        -1.99997082
## 8  0.084711215    0.6299741    0.9620360         0.33847042
## 9  0.030774514    0.8458916    0.9665255         0.34618970
## 10 0.051826648    0.7487013    0.9518581         1.06267836
## 11 0.028113255    0.6838652    0.7940671         0.60827484
## 12 0.049000598    0.7560788    0.9481577         0.78415097
## 13 0.048676434    0.7334922    0.9243004         0.41362514
## 14 0.081491839    0.5421917    0.8616339         1.05894673
## 15 0.035242566    0.8227557    0.9609040         0.70916554
## 16 0.045274721    0.7915393    0.9690130         0.74551392
## 17 0.068403324    0.7198875    0.9880236         1.86818896
## 18 0.047527859    0.5400644    0.7263702        -0.02750476
## 19 0.022620103    0.8705382    0.9592074         0.65616223
## 20 0.030946022    0.6019864    0.7232925         1.30264630
## 21 0.028347792    0.7757135    0.8868348         0.80388201
## 22 0.084898049    0.4240075    0.7568017        -0.29942308
## 23 0.006533163    0.8248697    0.8504793         0.51334010
## 24 0.062922580    0.6310885    0.8777404         0.92952069
## 25 0.042791799    0.6407217    0.8084624         1.38626219
## 26 0.039552275    0.6857437    0.8407858         0.67185316
## 27 0.011844659    0.8321534    0.8785836         0.42054700
## 28 0.006389031    0.8670841    0.8921287         0.68298986
## 29 0.012648486    0.7373803    0.7869614         0.29332002
## 30 0.008232262    0.8314545    0.8637244         0.43867231
## 31 0.038151808    0.6441045    0.7936568         0.43386323
## 32 0.047508286    0.5602760    0.7465051         1.51035460
## 33 0.005719269    0.8797138    0.9021329         0.50836078
## 34 0.183120296    0.1706024    0.8884208         0.39013455
## 35 0.038323521    0.6081807    0.7584062         0.36799956
## 36 0.080796026    0.6616171    0.9783317         0.71164958
## 37 0.090955429    0.5442030    0.9007417        -0.56000128
## 38 0.077116973    0.5539595    0.8562524         1.11841425
## 39 0.133724762    0.2823009    0.8064923         2.07692958
## 40 0.010666716    0.8581535    0.8999663         0.70681067
## 41 0.018205624    0.7489534    0.8203182         0.79647720
## 42 0.060411229    0.5397913    0.7765990        -0.10999984
## 43 0.161694096    0.1846499    0.8184791         3.33168108
## 44 0.040502569    0.7131489    0.8719160         0.74456919
## 45 0.042682138    0.7363191    0.9036300         0.71164801
## 46 0.047358438    0.7190753    0.9047170         0.74711475
## 47 0.022718967    0.7603577    0.8494144         0.64817413
## 48 0.082728027    0.5279519    0.8522398        -0.11999999
## 49 0.030549877    0.7615165    0.8812698         0.41817045
## 50 0.016719483    0.8574572    0.9229963         0.74367211
## 51 0.067252572    0.4668031    0.7304283         0.99740453
## 52 0.012553997    0.8181054    0.8673161         0.66580678
## 53 0.024549751    0.7368779    0.8331111         0.29000060
## 54 0.033105707    0.6887387    0.8185106         0.36486522
## 55 0.017322974    0.8279674    0.8958722         0.28115578
## Write out the results
write.table(tfm2.srl.summary, "TwoFactorModel2-Reliability.txt", sep='\t')

## Note: The standard errors of the derived parameters are identical
## to the asymptotic sampling errors.

2.1.2.3 Model 3: Two-factor model with a cross-loading of Res

## Model 3
## Two-factor model with a cross-loading of RES

## Model estimation
tfmc.fit.all <- lapply(1:k, FUN = tra_study_lavaan,
                      data = TTCT1,
                      para_names = para_names,
                      model = TwoFactorModelC,
                      estimator = "ML",
                      fixed.x = FALSE)

head(tfmc.fit.all, 5)
## [[1]]
## [[1]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8131975 0.7993139 0.4172651 0.5956043 0.6094648 
## 
## [[1]]$vcoefs
##              L1           L2           L3            L4            L5
## L1 0.0019904044 0.0002967262 0.0002107058 0.00019608301 0.00020064613
## L2 0.0002967262 0.0019938449 0.0002621118 0.00019273530 0.00019722051
## L3 0.0002107058 0.0002621118 0.0051404659 0.00071402718 0.00080502182
## L4 0.0001960830 0.0001927353 0.0007140272 0.00317679530 0.00005871318
## L5 0.0002006461 0.0001972205 0.0008050218 0.00005871318 0.00322786977
## 
## [[1]]$fit
## lavaan 0.6.16 ended normally after 20 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
##   Number of inequality constraints                   5
## 
##   Number of observations                           477
## 
## Model Test User Model:
##                                                       
##   Test statistic                                44.785
##   Degrees of freedom                                 3
##   P-value (Chi-square)                           0.000
## 
## 
## [[2]]
## [[2]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8731001 0.8738977 0.5700938 0.5508761 0.8513708 
## 
## [[2]]$vcoefs
##              L1           L2            L3            L4            L5
## L1 0.0021150725 0.0006428700  0.0006173610  0.0001158732  0.0001790802
## L2 0.0006428700 0.0021140797  0.0006148720  0.0001159791  0.0001792439
## L3 0.0006173610 0.0006148720  0.0030131822 -0.0003233503  0.0008866267
## L4 0.0001158732 0.0001159791 -0.0003233503  0.0046558590 -0.0025418223
## L5 0.0001790802 0.0001792439  0.0008866267 -0.0025418223  0.0074277732
## 
## [[2]]$fit
## lavaan 0.6.16 ended normally after 18 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
##   Number of inequality constraints                   5
## 
##   Number of observations                           375
## 
## Model Test User Model:
##                                                       
##   Test statistic                                27.222
##   Degrees of freedom                                 3
##   P-value (Chi-square)                           0.000
## 
## 
## [[3]]
## [[3]]$coefs
##        L1        L2        L3        L4        L5 
## 0.5841981 0.9243441 0.2905938 0.8505294 0.3762364 
## 
## [[3]]$vcoefs
##               L1           L2            L3           L4            L5
## L1  0.0472744385 -0.020955050  0.0149970190  0.001811084  0.0008011436
## L2 -0.0209550502  0.069905399 -0.0173292962  0.002865578  0.0012676049
## L3  0.0149970190 -0.017329296  0.0603273242  0.004479300 -0.0008967692
## L4  0.0018110844  0.002865578  0.0044793005  0.187477810 -0.0567234757
## L5  0.0008011436  0.001267605 -0.0008967692 -0.056723476  0.0626024237
## 
## [[3]]$fit
## lavaan 0.6.16 ended normally after 27 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
##   Number of inequality constraints                   5
## 
##   Number of observations                            30
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 3.824
##   Degrees of freedom                                 3
##   P-value (Chi-square)                           0.281
## 
## 
## [[4]]
## [[4]]$coefs
##        L1        L2        L3        L4        L5 
## 0.2920002 1.0000000 0.1488891 0.6714460 0.4527535 
## 
## [[4]]$vcoefs
##               L1           L2             L3             L4             L5
## L1 0.00361265511 0.0005509357  0.00008202829  0.00003994436  0.00002693432
## L2 0.00055093569 0.0018867655  0.00028091873  0.00013679570  0.00009224080
## L3 0.00008202829 0.0002809187  0.00463717783  0.00021385343 -0.00007048838
## L4 0.00003994436 0.0001367957  0.00021385343  0.02280211045 -0.01012120683
## L5 0.00002693432 0.0000922408 -0.00007048838 -0.01012120683  0.01242535195
## 
## [[4]]$fit
## lavaan 0.6.16 ended normally after 53 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
##   Number of inequality constraints                   5
## 
##   Number of observations                           264
## 
## Model Test User Model:
##                                                       
##   Test statistic                                17.429
##   Degrees of freedom                                 3
##   P-value (Chi-square)                           0.001
## 
## 
## [[5]]
## [[5]]$coefs
##         L1         L2         L3         L4         L5 
##  0.8041868  0.5347016 -0.1506717  0.4541420  0.7993090 
## 
## [[5]]$vcoefs
##               L1            L2           L3            L4            L5
## L1  0.0359874335 -0.0148887075  0.004788094  0.0003165004  0.0005570545
## L2 -0.0148887075  0.0211724338 -0.003191701  0.0002104401  0.0003703837
## L3  0.0047880939 -0.0031917005  0.019901383  0.0017858456 -0.0041118279
## L4  0.0003165004  0.0002104401  0.001785846  0.0230965143 -0.0203239472
## L5  0.0005570545  0.0003703837 -0.004111828 -0.0203239472  0.0517589851
## 
## [[5]]$fit
## lavaan 0.6.16 ended normally after 26 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        12
##   Number of inequality constraints                   5
## 
##   Number of observations                           105
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 4.643
##   Degrees of freedom                                 3
##   P-value (Chi-square)                           0.200
## Extract relevant model parameters

## FIT INDICES
## Chi-squares and p values of the parameter-based models
tfmc_model_fit <- t(sapply(tfmc.fit.all, function(x) { 
  fitMeasures(x$fit, c("chisq", "pvalue", "ntotal",
                       "cfi", "srmr"))}))
row.names(tfmc_model_fit) <- names(TTCT1$data)
options(scipen=50)
round(tfmc_model_fit,4)
##                 chisq pvalue ntotal    cfi   srmr
## Acar          44.7849 0.0000    477 0.9369 0.0470
## Acaretal      27.2219 0.0000    375 0.9632 0.0372
## Auth           3.8239 0.2811     30 0.9432 0.0678
## Balcia        17.4290 0.0006    264 0.8154 0.0568
## Balcib         4.6425 0.1999    105 0.9623 0.0417
## Barkul       105.9531 0.0000    599 0.9634 0.0207
## Berman         6.7223 0.0813     13 0.7371 0.1304
## Callans        4.3791 0.2233     60 0.9849 0.0658
## Carter_a       0.6436 0.8864     24 1.0000 0.0421
## Carter_b       2.0061 0.5711     24 1.0000 0.0328
## Chi           55.4909 0.0000    203 0.8070 0.1078
## Cho_F          4.5596 0.2070     24 0.9655 0.0536
## Cho_M          6.4872 0.0902     35 0.9475 0.0580
## Cockcroft      8.2605 0.0409     36 0.8439 0.0962
## Conway         0.7394 0.8639     25 1.0000 0.0151
## Crawford       3.8836 0.2743     21 0.9874 0.0518
## Digranes       4.1299 0.2478     17 0.9790 0.0554
## Fishkin        0.6283 0.8899    116 1.0000 0.0151
## Forsyth        4.2433 0.2364     45 0.9922 0.0310
## Gao            5.0991 0.1647    319 0.9903 0.0240
## Garcia        11.5125 0.0093     95 0.9438 0.0469
## Gollmar       33.1378 0.0000    128 0.8000 0.1100
## Hokanson     196.2533 0.0000   1758 0.9413 0.0444
## Houtz          2.9690 0.3964     42 1.0000 0.0447
## Humble         6.2968 0.0980    125 0.9834 0.0406
## Ibrahim       40.7638 0.0000     99 0.7365 0.1105
## Kim_1         81.5590 0.0000    500 0.9350 0.0973
## Kim_2a       117.9371 0.0000   1000 0.9555 0.0404
## Kim_2b        12.0904 0.0071   1000 0.9937 0.0131
## Kim_2c       107.9193 0.0000   1000 0.9559 0.0864
## Kim_3a        43.2068 0.0000    125 0.8197 0.1415
## Kim_3b        36.3656 0.0000    137 0.8633 0.1240
## Liu           36.6686 0.0000   1047 0.9913 0.0300
## Miranda        0.6569 0.8833     12 1.0000 0.0430
## Nguyen         3.0489 0.3841    187 0.9997 0.0239
## Rose           5.0376 0.1691     12 0.8985 0.0878
## Rose_b        11.2871 0.0103     19 0.6262 0.1509
## Roskos_Y       8.8309 0.0316     39 0.8198 0.0855
## Roskos_O       2.1785 0.5362     31 1.0000 0.0618
## Rubenstein_a  25.8150 0.0000    371 0.9757 0.0267
## Rubenstein_b  15.1161 0.0017    371 0.9739 0.0354
## Samuels        4.1263 0.2481     51 0.9801 0.0680
## Shore          7.5574 0.0561     18 0.7629 0.1392
## Stephens       1.8276 0.6090     84 1.0000 0.0280
## Storer_a      18.0516 0.0004     43 0.8460 0.0878
## Storer_b       9.1835 0.0269     46 0.9132 0.0768
## Tannehill      6.4306 0.0924    199 0.9909 0.0214
## Tisone         1.9791 0.5768     24 1.0000 0.0637
## Trigani        7.1323 0.0678    107 0.9789 0.0529
## Voss           2.8902 0.4089    120 1.0000 0.0183
## Wan            7.0116 0.0715     95 0.8878 0.0551
## Warne         28.0935 0.0000    432 0.9690 0.0439
## Yoon          23.1185 0.0000    163 0.9339 0.0907
## Zbarskaya      4.3840 0.2229    125 0.9895 0.0362
## Zhang         17.3737 0.0006   1067 0.9942 0.0187
## Write out these indices
write.csv(round(tfmc_model_fit,4), "TwoFactorModel3-Fit.csv")
write.table(round(tfmc_model_fit,4), "TwoFactorModel3-Fit.txt", sep='\t')

head(tfmc_model_fit, 5)
##              chisq            pvalue ntotal       cfi       srmr
## Acar     44.784875 0.000000001027982    477 0.9368596 0.04699874
## Acaretal 27.221879 0.000005289304654    375 0.9631597 0.03724663
## Auth      3.823867 0.281122185722077     30 0.9431856 0.06779564
## Balcia   17.429025 0.000576728751025    264 0.8153577 0.05677000
## Balcib    4.642518 0.199924901808852    105 0.9623481 0.04169383
## Extract the scale reliability coefficients from the primary studies
## Point estimates
tfmc.srl1 <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[15,5]})) 
tfmc.srl2 <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[16,5]})) 
tfmc.srlcr <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[17,5]})) 

## Standard errors
tfmc.srl1.se <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[15,6]})) 
tfmc.srl2.se <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[16,6]})) 
tfmc.srlcr.se <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[17,6]})) 

## Lower 95% CI bound
tfmc.srl1.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[15,9]}))
tfmc.srl2.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[16,9]}))
tfmc.srlcr.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[17,9]}))

## Upper 95% CI bound
tfmc.srl1.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[15,10]}))
tfmc.srl2.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[16,10]}))
tfmc.srlcr.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[17,10]}))

## Factor correlation
tfmc.fcorr <- t(sapply(1:k, function(x) {parameterEstimates(tfmc.fit.all[[x]]$fit)[14,5]}))

## Save these statistics
tfmc.srl.summary <- data.frame(names.studies, 
                               TTCT1$n, 
                               t(tfmc.srl1 ), 
                               t(tfmc.srl1.se), 
                               t(tfmc.srl1.ci.low), 
                               t(tfmc.srl1.ci.upp),
                               t(tfmc.srl2), 
                               t(tfmc.srl2.se), 
                               t(tfmc.srl2.ci.low), 
                               t(tfmc.srl2.ci.upp),
                               t(tfmc.srlcr), 
                               t(tfmc.srlcr.se), 
                               t(tfmc.srlcr.ci.low), 
                               t(tfmc.srlcr.ci.upp),
                               t(tfmc.fcorr))

colnames(tfmc.srl.summary) <- c("Study", 
                                "N", 
                                "Omega Factor 1",
                                "SE",
                                "Lower 95% CI",
                                "Upper 95% CI",
                                "Omega Factor 2",
                                "SE",
                                "Lower 95% CI",
                                "Upper 95% CI",
                                "Composite reliability",
                                "SE",
                                "Lower 95% CI",
                                "Upper 95% CI",
                                "Factor correlation")

tfmc.srl.summary
##           Study    N Omega Factor 1          SE Lower 95% CI Upper 95% CI
## 1          Acar  477    0.768526179 0.019834695    0.7296509    0.8074015
## 2      Acaretal  375    0.835859315 0.014797985    0.8068558    0.8648628
## 3          Auth   30    0.653670574 0.107856677    0.4422754    0.8650658
## 4        Balcia  264    0.523362747 0.040893434    0.4432131    0.6035124
## 5        Balcib  105    0.410740317 0.106384992    0.2022296    0.6192511
## 6        Barkul  599    0.787772957 0.028512584    0.7318893    0.8436566
## 7        Berman   13    0.683443767 0.159833252    0.3701763    0.9967112
## 8       Callans   60    0.856329746 0.040851555    0.7762622    0.9363973
## 9      Carter_a   24    0.927154283 0.025691873    0.8767991    0.9775094
## 10     Carter_b   24    0.847019015 0.227871788    0.4003985    1.2936395
## 11          Chi  203    0.593002702 0.049954691    0.4950933    0.6909121
## 12        Cho_F   24    0.817798140 0.062998939    0.6943225    0.9412738
## 13        Cho_M   35    0.882090358 0.034132973    0.8151910    0.9489898
## 14    Cockcroft   36    0.343777202 0.472594250   -0.5824905    1.2700449
## 15       Conway   25    0.807463911 0.069678278    0.6708970    0.9440308
## 16     Crawford   21    0.933745960 0.031927839    0.8711685    0.9963234
## 17     Digranes   17    0.913968974 0.038167446    0.8391622    0.9887758
## 18      Fishkin  116    0.669786264 0.051302282    0.5692356    0.7703369
## 19      Forsyth   45    0.937871024 0.016425512    0.9056776    0.9700644
## 20          Gao  319    0.544650902 0.086227062    0.3756490    0.7136528
## 21       Garcia   95    0.735378067 0.051965699    0.6335272    0.8372290
## 22      Gollmar  128    0.766058096 0.038435615    0.6907257    0.8413905
## 23     Hokanson 1758    0.804897564 0.008142107    0.7889393    0.8208558
## 24        Houtz   42    0.458329744 1.281344374   -2.0530591    2.9697186
## 25       Humble  125    0.001127804 0.106258653   -0.2071353    0.2093909
## 26      Ibrahim   99    0.758951858 0.043049709    0.6745760    0.8433277
## 27        Kim_1  500    0.889613868 0.008285288    0.8733750    0.9058527
## 28       Kim_2a 1000    0.878281651 0.006987244    0.8645869    0.8919764
## 29       Kim_2b 1000    0.824550915 0.009605933    0.8057236    0.8433782
## 30       Kim_2c 1000    0.888960256 0.005933625    0.8773306    0.9005899
## 31       Kim_3a  125    0.564555188 0.065229490    0.4367077    0.6924026
## 32       Kim_3b  137    0.596009927 0.061019415    0.4764141    0.7156058
## 33          Liu 1047    0.881255175 0.007114774    0.8673105    0.8951999
## 34      Miranda   12    0.664389696 0.166030810    0.3389753    0.9898041
## 35       Nguyen  187    0.776273251 0.028415615    0.7205797    0.8319668
## 36         Rose   12    0.716436389 0.150983978    0.4205132    1.0123595
## 37       Rose_b   19    0.993548228 0.063572049    0.8689493    1.1181472
## 38     Roskos_Y   39    0.658265502 0.504882906   -0.3312868    1.6478178
## 39     Roskos_O   31    0.314200161 0.418032551   -0.5051286    1.1335289
## 40 Rubenstein_a  371    0.875943499 0.011889541    0.8526404    0.8992466
## 41 Rubenstein_b  371    0.663651357 0.042377095    0.5805938    0.7467089
## 42      Samuels   51    0.659250825 0.072295638    0.5175540    0.8009477
## 43        Shore   18    0.105086770 0.441498475   -0.7602343    0.9704079
## 44     Stephens   84    0.871663728 0.051241046    0.7712331    0.9720943
## 45     Storer_a   43    0.716436134 0.079760447    0.5601085    0.8727637
## 46     Storer_b   46    0.835509219 0.049907087    0.7376931    0.9333253
## 47    Tannehill  199    0.772246618 0.031778095    0.7099627    0.8345305
## 48       Tisone   24    0.750704490 0.080076475    0.5937575    0.9076515
## 49      Trigani  107    0.857182140 0.022762679    0.8125681    0.9017962
## 50         Voss  120    0.877239537 0.020103505    0.8378374    0.9166417
## 51          Wan   95    0.149108396 0.583197331   -0.9939374    1.2921542
## 52        Warne  432    0.832182178 0.014113254    0.8045207    0.8598436
## 53         Yoon  163    0.807233506 0.028921209    0.7505490    0.8639180
## 54    Zbarskaya  125    0.648665154 0.047054882    0.5564393    0.7408910
## 55        Zhang 1067    0.912546014 0.004657329    0.9034178    0.9216742
##    Omega Factor 2          SE Lower 95% CI Upper 95% CI Composite reliability
## 1       0.5661430 0.037231389   0.49317081    0.6391152             0.8049032
## 2       0.6079821 0.037758518   0.53397676    0.6819874             0.8424830
## 3       0.4304457 0.228896963  -0.01818406    0.8790755             0.7080218
## 4       0.3589215 0.070339441   0.22105873    0.4967843             0.5792982
## 5       0.3911985 0.120940859   0.15415875    0.6282382             0.5543792
## 6       0.8229706 0.020476067   0.78283822    0.8631029             0.9178338
## 7       0.7640589 0.105668421   0.55695259    0.9711652             0.6825554
## 8       0.6209308 0.082703511   0.45883493    0.7830267             0.8126529
## 9       0.7684078 0.076993231   0.61750383    0.9193117             0.9125341
## 10      0.4775192 0.735797596  -0.96461763    1.9196559             0.8488549
## 11      0.7425099 0.033753708   0.67635385    0.8086659             0.8036901
## 12      0.7974172 0.072746606   0.65483647    0.9399979             0.8789835
## 13      0.5326083 0.165911937   0.20742687    0.8577897             0.8283102
## 14      0.6753116 0.195492669   0.29215303    1.0584702             0.7281700
## 15      0.8246381 0.062864877   0.70142522    0.9478510             0.9091115
## 16      0.7211523 0.107084957   0.51126967    0.9310350             0.9031175
## 17      0.1955976 0.452136611  -0.69057391    1.0817690             0.8537584
## 18      0.4145218 0.066743116   0.28370768    0.5453359             0.6674901
## 19      0.7290754 0.074780379   0.58250858    0.8756423             0.9219511
## 20      0.2629411 0.100301499   0.06635377    0.4595284             0.6621673
## 21      0.7041132 0.056422518   0.59352706    0.8146993             0.8415844
## 22      0.6126398 0.059837349   0.49536079    0.7299189             0.6615778
## 23      0.6345411 0.015417964   0.60432247    0.6647598             0.8430808
## 24      0.7879058 0.439812817  -0.07411152    1.6499230             0.8128315
## 25      0.8493042 0.072976087   0.70627367    0.9923347             0.8239503
## 26      0.5848694 0.079054069   0.42992630    0.7398126             0.7830406
## 27      0.7072821 0.020200626   0.66768961    0.7468746             0.8731967
## 28      0.6546655 0.020281307   0.61491491    0.6944162             0.8832819
## 29      0.4826084 0.029316947   0.42514820    0.5400685             0.7778928
## 30      0.6794374 0.015380890   0.64929141    0.7095834             0.8706153
## 31      0.8472008 0.023755036   0.80064182    0.8937598             0.8387767
## 32      0.8589660 0.020294884   0.81918874    0.8987432             0.8404802
## 33      0.8470108 0.008347057   0.83065084    0.8633707             0.9254371
## 34      0.1303795 0.938401194  -1.70885300    1.9696121             0.5333744
## 35      0.2079270 0.102716523   0.00660629    0.4092477             0.6841580
## 36      0.5457923 0.212095395   0.13009299    0.9614917             0.8180478
## 37      0.9882795 0.088600698   0.81462535    1.1619337             0.7823249
## 38      0.3066629 0.903013544  -1.46321117    2.0765369             0.7052351
## 39      0.6699684 0.112883969   0.44871988    0.8912169             0.6355349
## 40      0.6740912 0.031196083   0.61294802    0.7352344             0.8837767
## 41      0.6008464 0.047419291   0.50790633    0.6937865             0.7939180
## 42      0.6433924 0.073962362   0.49842884    0.7883560             0.7680445
## 43      0.9003439 0.052944286   0.79657497    1.0041128             0.8075012
## 44      0.5430463 0.396553821  -0.23418488    1.3202775             0.8198361
## 45      0.5457923 0.112043736   0.32619063    0.7653940             0.8180476
## 46      0.3700022 0.227095886  -0.07509756    0.8151020             0.8158777
## 47      0.6777027 0.044607538   0.59027352    0.7651319             0.8392724
## 48      0.6648445 0.102731710   0.46349403    0.8661949             0.8010826
## 49      0.7005870 0.044817183   0.61274692    0.7884270             0.8574797
## 50      0.7123495 0.049526931   0.61527846    0.8094205             0.8922357
## 51      0.6114699 0.352081875  -0.07859790    1.3015377             0.6171624
## 52      0.6426562 0.030686589   0.58251154    0.7028008             0.8524045
## 53      0.7939201 0.027715595   0.73959848    0.8482416             0.8556028
## 54      0.7088408 0.040217202   0.63001652    0.7876651             0.7958534
## 55      0.5389738 0.068302045   0.40510422    0.6728433             0.8581444
##             SE Lower 95% CI Upper 95% CI Factor correlation
## 1  0.014734698   0.77602375    0.8337827          0.6221182
## 2  0.013847621   0.81534219    0.8696239          0.4256405
## 3  0.093818456   0.52414099    0.8919026          0.4756440
## 4  0.039274769   0.50232103    0.6562753          0.3286031
## 5  0.071671866   0.41390493    0.6948535          0.4286476
## 6  0.005606417   0.90684544    0.9288222          0.8964628
## 7  0.116559034   0.45410389    0.9110069         -0.2555810
## 8  0.039229646   0.73576425    0.8895416          0.3046393
## 9  0.028867430   0.85595499    0.9691132          0.3155412
## 10 0.052077286   0.74678534    0.9509245          1.0626498
## 11 0.021633441   0.76128929    0.8460908          0.6051602
## 12 0.039679215   0.80121365    0.9567533          0.4926070
## 13 0.049017303   0.73223802    0.9243823          0.3944023
## 14 0.073562141   0.58399081    0.8723491          0.8396080
## 15 0.029530824   0.85123213    0.9669908          0.6654713
## 16 0.035981513   0.83259500    0.9736399          0.6492101
## 17 0.068628757   0.71924852    0.9882683          1.8872193
## 18 0.044358318   0.58054934    0.7544308          0.1409424
## 19 0.021161247   0.88047580    0.9634264          0.5991126
## 20 0.030943240   0.60151963    0.7228149          1.2698894
## 21 0.026490306   0.78966433    0.8935044          0.6792078
## 22 0.046748235   0.56995292    0.7532026         -0.3256691
## 23 0.006154373   0.83101841    0.8551431          0.5311592
## 24 0.092697734   0.63114733    0.9945158          0.8470350
## 25 0.024863836   0.77521811    0.8726826          0.9188285
## 26 0.037837034   0.70888135    0.8571998          0.4052477
## 27 0.008823746   0.85590243    0.8904909          0.1960032
## 28 0.006193187   0.87114352    0.8954204          0.6547173
## 29 0.011914261   0.75454131    0.8012444          0.2602787
## 30 0.006371707   0.85812695    0.8831036          0.2200003
## 31 0.022318890   0.79503245    0.8825209          0.4653317
## 32 0.020846923   0.79962097    0.8813394          0.4123712
## 33 0.003867541   0.91785681    0.9330173          0.5317694
## 34 0.311078740  -0.07632876    1.1430775          0.3290446
## 35 0.038487946   0.60872302    0.7595930          0.3713846
## 36 0.082036171   0.65725983    0.9788357          0.7106701
## 37 0.075736496   0.63388412    0.9307657          0.9965072
## 38 0.077288864   0.55375168    0.8567185          1.1226288
## 39 0.107921399   0.42401286    0.8470570          0.5035671
## 40 0.010125234   0.86393161    0.9036218          0.6921394
## 41 0.017410296   0.75979442    0.8280415          0.7771981
## 42 0.047824176   0.67431084    0.8617782          0.2400000
## 43 0.068962607   0.67233699    0.9426654          0.8649308
## 44 0.043676233   0.73423222    0.9054399          0.7635129
## 45 0.043337322   0.73310804    0.9029872          0.7106699
## 46 0.047857357   0.72207900    0.9096764          0.7013148
## 47 0.018905308   0.80221867    0.8763261          0.6336887
## 48 0.060289851   0.68291666    0.9192485          0.2600004
## 49 0.021163632   0.81599972    0.8989596          0.2800012
## 50 0.016376975   0.86013739    0.9243339          0.6807858
## 51 0.065714285   0.48836479    0.7459601          0.8782405
## 52 0.011747424   0.82937996    0.8754290          0.5602003
## 53 0.018001022   0.82032143    0.8908841          0.3064697
## 54 0.027128833   0.74268189    0.8490250          0.3270000
## 55 0.014981635   0.82878090    0.8875078          0.2958872
## Write out the results
write.table(tfmc.srl.summary, "TwoFactorModel3-Reliability.txt", sep='\t')

## Note: The standard errors of the derived parameters are identical
## to the asymptotic sampling errors.

2.1.2.4 Model 4: Two-factor model with Res assigned to Adapt

## Model 4
## Two-factor model with two correlated traits and Res assigned to Adapt
## Model estimation
tfm.fit.all <- lapply(1:k, FUN = tra_study_lavaan,
                      data = TTCT1,
                      para_names = para_names,
                      model = TwoFactorModel,
                      estimator = "ML",
                      fixed.x = FALSE)

head(tfm.fit.all, 5)
## [[1]]
## [[1]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8002171 0.8122797 0.4981151 0.5156007 0.7470457 
## 
## [[1]]$vcoefs
##              L1           L2           L3           L4           L5
## L1 0.0020041928 0.0002860722 0.0002688384 0.0002782756 0.0004031892
## L2 0.0002860722 0.0020015283 0.0002728912 0.0002824706 0.0004092673
## L3 0.0002688384 0.0002728912 0.0024895394 0.0002488667 0.0002489445
## L4 0.0002782756 0.0002824706 0.0002488667 0.0024713113 0.0002535638
## L5 0.0004031892 0.0004092673 0.0002489445 0.0002535638 0.0024480658
## 
## [[1]]$fit
## lavaan 0.6.16 ended normally after 16 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           477
## 
## Model Test User Model:
##                                                       
##   Test statistic                                58.274
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.000
## 
## 
## [[2]]
## [[2]]$coefs
##        L1        L2        L3        L4        L5 
## 0.8559405 0.8914171 0.3763517 0.4981037 0.7619132 
## 
## [[2]]$vcoefs
##              L1           L2           L3           L4           L5
## L1 0.0021812266 0.0005938561 0.0002644743 0.0003500328 0.0005354197
## L2 0.0005938561 0.0021407548 0.0002754362 0.0003645409 0.0005576116
## L3 0.0002644743 0.0002754362 0.0033086306 0.0002395522 0.0002491501
## L4 0.0003500328 0.0003645409 0.0002395522 0.0031568366 0.0003054554
## L5 0.0005354197 0.0005576116 0.0002491501 0.0003054554 0.0033523641
## 
## [[2]]$fit
## lavaan 0.6.16 ended normally after 21 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           375
## 
## Model Test User Model:
##                                                       
##   Test statistic                                85.235
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.000
## 
## 
## [[3]]
## [[3]]$coefs
##        L1        L2        L3        L4        L5 
## 0.5400006 1.0000000 0.7651308 0.3827568 0.2172019 
## 
## [[3]]$vcoefs
##              L1           L2           L3            L4            L5
## L1 0.0275242359 0.0087000184  0.001834831  0.0009178736  0.0005208637
## L2 0.0087000184 0.0161111333  0.003397832  0.0016997646  0.0009645616
## L3 0.0018348309 0.0033978323  0.098934551 -0.0177614703 -0.0084516627
## L4 0.0009178736 0.0016997646 -0.017761470  0.0517805816  0.0040403316
## L5 0.0005208637 0.0009645616 -0.008451663  0.0040403316  0.0488336913
## 
## [[3]]$fit
## lavaan 0.6.16 ended normally after 43 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                            30
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 4.964
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.291
## 
## 
## [[4]]
## [[4]]$coefs
##        L1        L2        L3        L4        L5 
## 0.2920004 1.0000000 0.6261702 0.4715271 0.1182645 
## 
## [[4]]$vcoefs
##                L1            L2             L3             L4              L5
## L1 0.003612652359 0.00055093578  0.00004356659  0.00003280708  0.000008228402
## L2 0.000550935783 0.00188676440  0.00014920048  0.00011235290  0.000028179429
## L3 0.000043566586 0.00014920048  0.01660434996 -0.00673301463 -0.000752408588
## L4 0.000032807081 0.00011235290 -0.00673301463  0.01114541774  0.000365149631
## L5 0.000008228402 0.00002817943 -0.00075240859  0.00036514963  0.007284998235
## 
## [[4]]$fit
## lavaan 0.6.16 ended normally after 72 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           264
## 
## Model Test User Model:
##                                                       
##   Test statistic                                22.035
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.000
## 
## 
## [[5]]
## [[5]]$coefs
##         L1         L2         L3         L4         L5 
##  0.7067616  0.6084091  0.4883365  0.7340460 -0.1865381 
## 
## [[5]]$vcoefs
##               L1            L2            L3            L4            L5
## L1  0.0270488964 -0.0117067518  0.0004066690  0.0006112869 -0.0001553422
## L2 -0.0117067518  0.0224872239  0.0003500772  0.0005262205 -0.0001337249
## L3  0.0004066690  0.0003500772  0.0201440484 -0.0112781006 -0.0017229643
## L4  0.0006112869  0.0005262205 -0.0112781006  0.0328240430  0.0026200213
## L5 -0.0001553422 -0.0001337249 -0.0017229643  0.0026200213  0.0151928792
## 
## [[5]]$fit
## lavaan 0.6.16 ended normally after 22 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        11
##   Number of inequality constraints                   5
## 
##   Number of observations                           105
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 5.338
##   Degrees of freedom                                 4
##   P-value (Chi-square)                           0.254
## Extract relevant model parameters

## FIT INDICES
## Chi-squares and p values of the parameter-based models
tfm_model_fit <- t(sapply(tfm.fit.all, function(x) { 
  fitMeasures(x$fit, c("chisq", "pvalue", "ntotal",
                       "cfi", "srmr"))}))
row.names(tfm_model_fit) <- names(TTCT1$data)
options(scipen=50)
round(tfm_model_fit,4)
##                 chisq pvalue ntotal    cfi   srmr
## Acar          58.2737 0.0000    477 0.9180 0.0561
## Acaretal      85.2350 0.0000    375 0.8764 0.0887
## Auth           4.9636 0.2911     30 0.9336 0.0983
## Balcia        22.0349 0.0002    264 0.7692 0.0587
## Balcib         5.3376 0.2544    105 0.9693 0.0421
## Barkul       114.0180 0.0000    599 0.9608 0.0288
## Berman         6.7520 0.1496     13 0.8056 0.1312
## Callans        5.7929 0.2152     60 0.9804 0.0720
## Carter_a       8.5375 0.0738     24 0.9294 0.1234
## Carter_b       2.0228 0.7316     24 1.0000 0.0333
## Chi           56.2894 0.0000    203 0.8077 0.1096
## Cho_F          7.8447 0.0974     24 0.9149 0.0717
## Cho_M         10.2295 0.0367     35 0.9062 0.0962
## Cockcroft      8.3021 0.0811     36 0.8723 0.0992
## Conway         0.8890 0.9261     25 1.0000 0.0184
## Crawford       4.1617 0.3846     21 0.9977 0.0513
## Digranes       6.6504 0.1556     17 0.9507 0.0747
## Fishkin        2.0369 0.7290    116 1.0000 0.0310
## Forsyth       10.3382 0.0351     45 0.9603 0.0653
## Gao           12.8084 0.0123    319 0.9595 0.0356
## Garcia        13.5111 0.0090     95 0.9373 0.0476
## Gollmar       43.1792 0.0000    128 0.7400 0.1268
## Hokanson     283.9768 0.0000   1758 0.9149 0.0735
## Houtz          3.4475 0.4859     42 1.0000 0.0473
## Humble         8.2194 0.0839    125 0.9787 0.0538
## Ibrahim       42.7677 0.0000     99 0.7295 0.0975
## Kim_1        167.2994 0.0000    500 0.8649 0.0992
## Kim_2a       192.5836 0.0000   1000 0.9270 0.0605
## Kim_2b        77.5064 0.0000   1000 0.9491 0.0616
## Kim_2c       236.0753 0.0000   1000 0.9024 0.0848
## Kim_3a        64.7562 0.0000    125 0.7276 0.1798
## Kim_3b        51.0455 0.0000    137 0.8072 0.1601
## Liu           36.6795 0.0000   1047 0.9916 0.0299
## Miranda        1.3888 0.8461     12 1.0000 0.0638
## Nguyen         5.9355 0.2040    187 0.9898 0.0384
## Rose           5.0518 0.2820     12 0.9476 0.0882
## Rose_b        13.9349 0.0075     19 0.5519 0.1686
## Roskos_Y       8.9535 0.0623     39 0.8469 0.0889
## Roskos_O       2.1785 0.7030     31 1.0000 0.0618
## Rubenstein_a  40.5525 0.0000    371 0.9611 0.0427
## Rubenstein_b  15.3233 0.0041    371 0.9756 0.0357
## Samuels        4.9267 0.2949     51 0.9836 0.0861
## Shore         17.9608 0.0013     18 0.2736 0.2218
## Stephens       1.8280 0.7674     84 1.0000 0.0280
## Storer_a      18.1023 0.0012     43 0.8557 0.0882
## Storer_b      10.3482 0.0350     46 0.9109 0.0710
## Tannehill      7.1674 0.1273    199 0.9916 0.0201
## Tisone         3.5012 0.4777     24 1.0000 0.0752
## Trigani       21.8630 0.0002    107 0.9087 0.0915
## Voss          16.1637 0.0028    120 0.9589 0.0549
## Wan            7.2675 0.1224     95 0.9086 0.0558
## Warne         56.1459 0.0000    432 0.9356 0.0552
## Yoon          23.1916 0.0001    163 0.9369 0.0918
## Zbarskaya      4.3965 0.3550    125 0.9970 0.0372
## Zhang        129.4983 0.0000   1067 0.9493 0.0806
## Write out these indices
write.csv(round(tfm_model_fit,4), "TwoFactorModel4-Fit.csv")
write.table(round(tfm_model_fit,4), "TwoFactorModel4-Fit.txt", sep='\t')

head(tfm_model_fit, 5)
##              chisq               pvalue ntotal       cfi       srmr
## Acar     58.273738 0.000000000006685208    477 0.9179879 0.05611845
## Acaretal 85.235030 0.000000000000000000    375 0.8764455 0.08868591
## Auth      4.963578 0.291055121191334365     30 0.9335511 0.09825559
## Balcia   22.034942 0.000197235994077283    264 0.7692142 0.05869786
## Balcib    5.337602 0.254377491832347369    105 0.9693378 0.04205625
## Extract the scale reliability coefficients from the primary studies
## Point estimates
tfm.srl1 <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[14,5]})) 
tfm.srl2 <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[15,5]})) 
tfm.srlcr <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[16,5]})) 

## Standard errors
tfm.srl1.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[14,6]})) 
tfm.srl2.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[15,6]})) 
tfm.srlcr.se <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[16,6]})) 

## Lower 95% CI bound
tfm.srl1.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[14,9]}))
tfm.srl2.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[15,9]}))
tfm.srlcr.ci.low <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[16,9]}))

## Upper 95% CI bound
tfm.srl1.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[14,10]}))
tfm.srl2.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[15,10]}))
tfm.srlcr.ci.upp <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[16,10]}))

## Factor correlation
tfm.fcorr <- t(sapply(1:k, function(x) {parameterEstimates(tfm.fit.all[[x]]$fit)[13,5]}))

## Save these statistics
tfm.srl.summary <- data.frame(names.studies, 
                              TTCT1$n, 
                              t(tfm.srl1 ), 
                              t(tfm.srl1.se), 
                              t(tfm.srl1.ci.low), 
                              t(tfm.srl1.ci.upp),
                              t(tfm.srl2), 
                              t(tfm.srl2.se), 
                              t(tfm.srl2.ci.low), 
                              t(tfm.srl2.ci.upp),
                              t(tfm.srlcr), 
                              t(tfm.srlcr.se), 
                              t(tfm.srlcr.ci.low), 
                              t(tfm.srlcr.ci.upp),
                              t(tfm.fcorr))

colnames(tfm.srl.summary) <- c("Study", 
                               "N", 
                               "Omega Factor 1",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Omega Factor 2",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Composite reliability",
                               "SE",
                               "Lower 95% CI",
                               "Upper 95% CI",
                               "Factor correlation")

tfm.srl.summary
##           Study    N Omega Factor 1          SE Lower 95% CI Upper 95% CI
## 1          Acar  477      0.7879230 0.019422465   0.74985562    0.8259903
## 2      Acaretal  375      0.8659270 0.013861703   0.83875860    0.8930955
## 3          Auth   30      0.7700003 0.073695681   0.62555945    0.9144412
## 4        Balcia  264      0.6460004 0.035022508   0.57735750    0.7146432
## 5        Balcib  105      0.6047810 0.079138763   0.44967187    0.7598901
## 6        Barkul  599      0.9744939 0.002080806   0.97041555    0.9785722
## 7        Berman   13      0.6949999 0.141042727   0.41856121    0.9714385
## 8       Callans   60      0.8827988 0.031949253   0.82017946    0.9454182
## 9      Carter_a   24      0.9279418 0.029174066   0.87076173    0.9851220
## 10     Carter_b   24      0.9099999 0.035050009   0.84130312    0.9786966
## 11          Chi  203      0.7165000 0.033685510   0.65047763    0.7825224
## 12        Cho_F   24      0.8050006 0.071425899   0.66500843    0.9449928
## 13        Cho_M   35      0.7476911 0.085012742   0.58106919    0.9143130
## 14    Cockcroft   36      0.5554435 0.188006684   0.18695714    0.9239298
## 15       Conway   25      0.9011436 0.039548341   0.82363032    0.9786570
## 16     Crawford   21      0.9700000 0.012895183   0.94472590    0.9952741
## 17     Digranes   17      0.8640321 0.065895715   0.73487891    0.9931854
## 18      Fishkin  116      0.7595687 0.052606411   0.65646200    0.8626753
## 19      Forsyth   45      0.9538664 0.013684640   0.92704499    0.9806878
## 20          Gao  319      0.4732834 0.058981047   0.35768271    0.5888842
## 21       Garcia   95      0.7710162 0.047072858   0.67875512    0.8632773
## 22      Gollmar  128      0.8359994 0.026507783   0.78404511    0.8879537
## 23     Hokanson 1758      0.8949419 0.005770018   0.88363288    0.9062509
## 24        Houtz   42      0.7823017 0.080033070   0.62543972    0.9391636
## 25       Humble  125      0.9132729 0.016844923   0.88025750    0.9462884
## 26      Ibrahim   99      0.7596899 0.048448655   0.66473228    0.8546475
## 27        Kim_1  500      0.9209904 0.007201180   0.90687639    0.9351045
## 28       Kim_2a 1000      0.9130688 0.005498046   0.90229281    0.9238448
## 29       Kim_2b 1000      0.8830057 0.007417871   0.86846695    0.8975445
## 30       Kim_2c 1000      0.9282173 0.004592202   0.91921677    0.9372179
## 31       Kim_3a  125      0.7300000 0.041266747   0.64911862    0.8108813
## 32       Kim_3b  137      0.7000003 0.042888383   0.61594059    0.7840600
## 33          Liu 1047      0.9692173 0.001912591   0.96546866    0.9729659
## 34      Miranda   12      0.6674744 0.201382393   0.27277217    1.0621766
## 35       Nguyen  187      0.8623294 0.021582766   0.82002798    0.9046309
## 36         Rose   12      0.8959024 0.060156839   0.77799720    1.0138077
## 37       Rose_b   19      0.8350002 0.069179887   0.69941013    0.9705903
## 38     Roskos_Y   39      0.4299804 0.188549800   0.06042962    0.7995313
## 39     Roskos_O   31      0.3140816 0.300832780  -0.27553980    0.9037030
## 40 Rubenstein_a  371      0.9059530 0.009765379   0.88681320    0.9250928
## 41 Rubenstein_b  371      0.7861099 0.023131314   0.74077339    0.8314465
## 42      Samuels   51      0.8750002 0.032745994   0.81081927    0.9391812
## 43        Shore   18      0.6299999 0.138441342   0.35865989    0.9013400
## 44     Stephens   84      0.9262282 0.016156380   0.89456231    0.9578942
## 45     Storer_a   43      0.8959024 0.031779111   0.83361644    0.9581883
## 46     Storer_b   46      0.8439369 0.046020784   0.75373784    0.9341360
## 47    Tannehill  199      0.9161898 0.012441007   0.89180584    0.9405737
## 48       Tisone   24      0.8400000 0.059866512   0.72266381    0.9573362
## 49      Trigani  107      0.8600006 0.025102314   0.81080093    0.9092002
## 50         Voss  120      0.8378753 0.029424061   0.78020522    0.8955454
## 51          Wan   95      0.4282581 0.118440347   0.19611924    0.6603969
## 52        Warne  432      0.8564004 0.013961649   0.82903610    0.8837648
## 53         Yoon  163      0.8650001 0.019668799   0.82644992    0.9035502
## 54    Zbarskaya  125      0.8070001 0.031014799   0.74621216    0.8677879
## 55        Zhang 1067      0.8821890 0.007137126   0.86820044    0.8961775
##    Omega Factor 2          SE Lower 95% CI Upper 95% CI Composite reliability
## 1      0.61657373 0.029900377   0.55797007    0.6751774             0.7961029
## 2      0.56882295 0.037500185   0.49532393    0.6423220             0.8033699
## 3      0.45624463 0.174095303   0.11502411    0.7974652             0.6874343
## 4      0.38402741 0.063634609   0.25930587    0.5087490             0.5647680
## 5      0.32904400 0.104533434   0.12416223    0.5339258             0.5565458
## 6      0.77863942 0.014326462   0.75056007    0.8067188             0.9172739
## 7      0.76409053 0.105262005   0.55778079    0.9704003             0.6762776
## 8      0.65864387 0.065378406   0.53050455    0.7867832             0.8232824
## 9      0.62746975 0.110753332   0.41039721    0.8445423             0.8533497
## 10     0.60965463 0.137095073   0.34095323    0.8783560             0.8498451
## 11     0.73092237 0.032558180   0.66710951    0.7947352             0.8028454
## 12     0.78704960 0.071398319   0.64711146    0.9269877             0.8653867
## 13     0.53593998 0.122019197   0.29678675    0.7750932             0.7712868
## 14     0.64197605 0.095900723   0.45401408    0.8299380             0.7316390
## 15     0.83260782 0.056803611   0.72127479    0.9439409             0.9084899
## 16     0.75090462 0.088968879   0.57652882    0.9252804             0.9017108
## 17     0.74279966 0.102234527   0.54242367    0.9431757             0.8840397
## 18     0.13501415 0.133848305  -0.12732370    0.3973520             0.5451633
## 19     0.72290929 0.067145839   0.59130587    0.8545127             0.8942712
## 20     0.52320575 0.045809452   0.43342088    0.6129906             0.6757915
## 21     0.73147909 0.047424678   0.63852843    0.8244298             0.8370563
## 22     0.57767217 0.063700177   0.45282212    0.7025222             0.7373011
## 23     0.66848336 0.013636458   0.64175639    0.6952103             0.8356207
## 24     0.63128965 0.097167364   0.44084511    0.8217342             0.7921521
## 25     0.45739326 0.080424792   0.29976356    0.6150230             0.7720023
## 26     0.59575313 0.068000334   0.46247492    0.7290313             0.7734210
## 27     0.60299308 0.028874546   0.54640001    0.6595862             0.8330267
## 28     0.69120730 0.016601296   0.65866936    0.7237452             0.8681365
## 29     0.45982149 0.030343008   0.40035029    0.5192927             0.7583341
## 30     0.57274705 0.022273656   0.52909149    0.6164026             0.8274552
## 31     0.81414657 0.027904399   0.75945495    0.8688382             0.7397523
## 32     0.83913813 0.022590664   0.79486124    0.8834150             0.7616337
## 33     0.84682710 0.008162806   0.83082829    0.8628259             0.9254409
## 34     0.04610459 0.177849064  -0.30247317    0.3946823             0.4571518
## 35     0.22396085 0.102912245   0.02225656    0.4256651             0.6642839
## 36     0.55869990 0.177142545   0.21150689    0.9058929             0.8163590
## 37     0.59599410 0.132096970   0.33708880    0.8548994             0.7568528
## 38     0.64891319 0.093567233   0.46552478    0.8323016             0.7144250
## 39     0.66999465 0.088558872   0.49642245    0.8435668             0.6355428
## 40     0.71959418 0.024493928   0.67158696    0.7676014             0.8753199
## 41     0.61687449 0.034273202   0.54970025    0.6840487             0.7938111
## 42     0.63343611 0.075028329   0.48638329    0.7804889             0.7764478
## 43     0.68826146 0.128942389   0.43553903    0.9409839             0.5965216
## 44     0.55117737 0.081168520   0.39208999    0.7102647             0.8204643
## 45     0.55870048 0.093579106   0.37528880    0.7421122             0.8163591
## 46     0.53121564 0.117131833   0.30164147    0.7607898             0.7952131
## 47     0.65969490 0.041772638   0.57782203    0.7415678             0.8386434
## 48     0.62199784 0.127650613   0.37180724    0.8721884             0.7710646
## 49     0.62354154 0.052907188   0.51984535    0.7272377             0.8171664
## 50     0.74098227 0.039078493   0.66438983    0.8175747             0.8692816
## 51     0.49301658 0.089663433   0.31727948    0.6687537             0.6127855
## 52     0.65742730 0.027808434   0.60292377    0.7119308             0.8352745
## 53     0.79446255 0.027477785   0.74060709    0.8483180             0.8557819
## 54     0.70948778 0.039708236   0.63166107    0.7873145             0.7953206
## 55     0.38759036 0.031732931   0.32539496    0.4497858             0.7712278
##             SE Lower 95% CI Upper 95% CI Factor correlation
## 1  0.015185967   0.76633894    0.8258668          0.8029838
## 2  0.016598931   0.77083661    0.8359032          0.7857477
## 3  0.089172197   0.51266000    0.8622086          0.5250131
## 4  0.039675182   0.48700609    0.6425299          0.3553694
## 5  0.067293016   0.42465389    0.6884377          0.4998183
## 6  0.005562633   0.90637138    0.9281765          0.8720216
## 7  0.114536441   0.45179028    0.9007649         -0.2900000
## 8  0.034783979   0.75510706    0.8914578          0.5302387
## 9  0.047287275   0.76066833    0.9460310          0.8234923
## 10 0.050779068   0.75031999    0.9493703          1.0336723
## 11 0.021735104   0.76024536    0.8454454          0.5716607
## 12 0.043172322   0.78077054    0.9500029          0.7090588
## 13 0.061062399   0.65160666    0.8909669          0.9957951
## 14 0.072698823   0.58915192    0.8741261          0.7845056
## 15 0.029817101   0.85004946    0.9669303          0.6827169
## 16 0.035560859   0.83201280    0.9714088          0.7643346
## 17 0.045706132   0.79445729    0.9736220          1.0398209
## 18 0.070251030   0.40747384    0.6828528          0.6704365
## 19 0.026008062   0.84329635    0.9452461          0.8915926
## 20 0.029604286   0.61776817    0.7338148          1.0997318
## 21 0.027244187   0.78365869    0.8904539          0.7791342
## 22 0.036354007   0.66604852    0.8085536          0.2946672
## 23 0.006418958   0.82303978    0.8482016          0.6169859
## 24 0.051780409   0.69066433    0.8936398          0.7257213
## 25 0.033500218   0.70634311    0.8376615          0.6891124
## 26 0.036703874   0.70148273    0.8453593          0.7498885
## 27 0.012075119   0.80935995    0.8566935          0.7292714
## 28 0.006883575   0.85464495    0.8816281          0.8568125
## 29 0.012683112   0.73347561    0.7831925          0.6521377
## 30 0.008944629   0.80992409    0.8449864          0.7642222
## 31 0.032991000   0.67509111    0.8044135         -0.2595952
## 32 0.028219152   0.70632520    0.8169422         -0.2178581
## 33 0.003867127   0.91786152    0.9330204          0.5310282
## 34 0.225939266   0.01431894    0.8999846          0.6841114
## 35 0.041725233   0.58250396    0.7460639          0.8047517
## 36 0.081647631   0.65633258    0.9763854          0.7107647
## 37 0.079579629   0.60087957    0.9128260          0.3400015
## 38 0.074331273   0.56873837    0.8601116          0.9707069
## 39 0.105000135   0.42974630    0.8413393          0.5037385
## 40 0.010612929   0.85451889    0.8961208          0.8397992
## 41 0.017417539   0.75967335    0.8279488          0.7905793
## 42 0.045035613   0.68817960    0.8647160          0.2399999
## 43 0.136849912   0.32830071    0.8647425         -0.2906585
## 44 0.032228515   0.75729762    0.8836311          0.7700793
## 45 0.043132015   0.73182188    0.9008963          0.7107627
## 46 0.049547402   0.69810200    0.8923242          0.9521721
## 47 0.018983592   0.80143623    0.8758505          0.6041018
## 48 0.072799427   0.62838038    0.9137489          0.3688393
## 49 0.026912805   0.76441824    0.8699145          0.6899985
## 50 0.019220322   0.83161048    0.9069528          0.9260633
## 51 0.064908872   0.48556644    0.7400045          0.8372834
## 52 0.012890119   0.81001034    0.8605387          0.8128623
## 53 0.017943182   0.82061395    0.8909499          0.3176184
## 54 0.026779849   0.74283304    0.8478081          0.3269999
## 55 0.012018395   0.74767218    0.7947834          1.0418061
## Write out the results
write.table(tfm.srl.summary, "TwoFactorModel4-Reliability.txt", sep='\t')

## Note: The standard errors of the derived parameters are identical
## to the asymptotic sampling errors.

2.2 Stage-2 Analysis: Meta-Analysis of the Reliability Coefficients

2.2.1 Data Preparation

## Create effect size and study identifiers
esid <- as.vector(seq(1:length(TTCT1$data)))
studid <- as.vector(as.numeric(as.factor(names.studid)))

## Create a meta-analytic data set with effect sizes, 
## sampling variances, and moderators
srel.meta1 <- data.frame(esid, studid, names.studies, 
                        TTCT1$n, 
                        t(tfm.srl1), t(tfm.srl1.se),
                        t(tfm.srl2), t(tfm.srl2.se),
                        t(tfm.srlcr), t(tfm.srlcr.se),
                        t(tfmc.srl1), t(tfmc.srl1.se),
                        t(tfmc.srl2), t(tfmc.srl2.se),
                        t(tfmc.srlcr), t(tfmc.srlcr.se),
                        t(tfm.fcorr), t(tfmc.fcorr),
                        mod.adults, mod.forms,
                        mod.scores, mod.validity)

## Column names
colnames(srel.meta1) <- c("ESID", "STUDID", "Reference", 
                         "N","SREL1", "SE.SREL1",
                         "SREL2", "SE.SREL2",
                         "SRELCR", "SE.SRELCR",
                         "SREL1C", "SE.SREL1C",
                         "SREL2C", "SE.SREL2C",
                         "SRELCRC", "SE.SRELCRC",
                         "Fcorr", "FcorrC",
                         "Adults", "Forms",
                         "Scores", "Validity")

## Create sampling variances
srel.meta1$SREL1.vg <- srel.meta1$SE.SREL1^2
srel.meta1$SREL2.vg <- srel.meta1$SE.SREL2^2
srel.meta1$SRELCR.vg <- srel.meta1$SE.SRELCR^2
srel.meta1$SREL1C.vg <- srel.meta1$SE.SREL1C^2
srel.meta1$SREL2C.vg <- srel.meta1$SE.SREL2C^2
srel.meta1$SRELCRC.vg <- srel.meta1$SE.SRELCRC^2


## Identify the studies with poor model fit
tfm_model_fit
##                    chisq                   pvalue ntotal       cfi       srmr
## Acar          58.2737384 0.0000000000066852079428    477 0.9179879 0.05611845
## Acaretal      85.2350300 0.0000000000000000000000    375 0.8764455 0.08868591
## Auth           4.9635776 0.2910551211913343649940     30 0.9335511 0.09825559
## Balcia        22.0349422 0.0001972359940772827613    264 0.7692142 0.05869786
## Balcib         5.3376015 0.2543774918323473688275    105 0.9693378 0.04205625
## Barkul       114.0179567 0.0000000000000000000000    599 0.9608442 0.02876380
## Berman         6.7520142 0.1495880010679065952317     13 0.8056406 0.13120067
## Callans        5.7928546 0.2151613150094205950680     60 0.9803705 0.07195184
## Carter_a       8.5374948 0.0737588150888134341798     24 0.9293966 0.12344312
## Carter_b       2.0227827 0.7315683246857485055870     24 1.0000000 0.03325786
## Chi           56.2893634 0.0000000000174372738471    203 0.8077218 0.10964189
## Cho_F          7.8447267 0.0974345320442254747562     24 0.9149484 0.07170580
## Cho_M         10.2295462 0.0367335260865379042983     35 0.9061654 0.09617379
## Cockcroft      8.3021446 0.0811166222855811414050     36 0.8723006 0.09924377
## Conway         0.8889755 0.9261371061244323410477     25 1.0000000 0.01843786
## Crawford       4.1616946 0.3845649220312404859001     21 0.9976996 0.05125261
## Digranes       6.6504236 0.1555558127019329717200     17 0.9506538 0.07473993
## Fishkin        2.0368505 0.7289809937310370857588    116 1.0000000 0.03097716
## Forsyth       10.3381919 0.0351003685949619059770     45 0.9602724 0.06526681
## Gao           12.8083576 0.0122511651009710176297    319 0.9594559 0.03563730
## Garcia        13.5111291 0.0090304420932041384873     95 0.9372565 0.04764523
## Gollmar       43.1791907 0.0000000094987471221941    128 0.7400054 0.12680085
## Hokanson     283.9767705 0.0000000000000000000000   1758 0.9149149 0.07349493
## Houtz          3.4474977 0.4859062122440982456339     42 1.0000000 0.04730142
## Humble         8.2194499 0.0838622784140112820239    125 0.9787311 0.05375296
## Ibrahim       42.7677064 0.0000000115623308705182     99 0.7294550 0.09754886
## Kim_1        167.2993976 0.0000000000000000000000    500 0.8649442 0.09923085
## Kim_2a       192.5835800 0.0000000000000000000000   1000 0.9270304 0.06051507
## Kim_2b        77.5063974 0.0000000000000005551115   1000 0.9490579 0.06163331
## Kim_2c       236.0752688 0.0000000000000000000000   1000 0.9024048 0.08477319
## Kim_3a        64.7562446 0.0000000000002896571871    125 0.7275914 0.17983244
## Kim_3b        51.0455158 0.0000000002183865310812    137 0.8072334 0.16014229
## Liu           36.6794921 0.0000002097008866552841   1047 0.9915996 0.02992908
## Miranda        1.3887585 0.8461464699435627956348     12 1.0000000 0.06378383
## Nguyen         5.9355052 0.2040168367815755612327    187 0.9897562 0.03840829
## Rose           5.0518104 0.2820226174393694051901     12 0.9476006 0.08815172
## Rose_b        13.9348757 0.0075058326841783706840     19 0.5519365 0.16864979
## Roskos_Y       8.9535133 0.0622719885770953718307     39 0.8469183 0.08886656
## Roskos_O       2.1784895 0.7029692688101959463509     31 1.0000000 0.06181563
## Rubenstein_a  40.5525279 0.0000000332679327419427    371 0.9611431 0.04273534
## Rubenstein_b  15.3233317 0.0040755124077527238313    371 0.9756381 0.03565326
## Samuels        4.9266837 0.2949032714816962608140     51 0.9835969 0.08610035
## Shore         17.9607613 0.0012560801072869498540     18 0.2735955 0.22179542
## Stephens       1.8279847 0.7673585947114770489108     84 1.0000000 0.02798716
## Storer_a      18.1023205 0.0011785479448310764994     43 0.8557475 0.08815127
## Storer_b      10.3481802 0.0349537821149170646606     46 0.9109395 0.07096107
## Tannehill      7.1674124 0.1273013297674244759250    199 0.9915642 0.02005184
## Tisone         3.5011952 0.4776966312815904558420     24 1.0000000 0.07522753
## Trigani       21.8629651 0.0002134085734527557676    107 0.9087319 0.09152566
## Voss          16.1637294 0.0028071510715872438624    120 0.9589320 0.05493900
## Wan            7.2675425 0.1224074308794176335624     95 0.9086441 0.05579743
## Warne         56.1459071 0.0000000000186879400843    432 0.9355730 0.05516412
## Yoon          23.1916233 0.0001159388910124681260    163 0.9369490 0.09184230
## Zbarskaya      4.3964860 0.3549986083092668831540    125 0.9969846 0.03721615
## Zhang        129.4982963 0.0000000000000000000000   1067 0.9492744 0.08064859
### EXCLUSIONS DUE TO POOR MODEL FIT
## Exclude samples with at least two fails on the following three criteria:
## Significant chi-square value (p>.05), CFI >= .90, SRMR <= .10
fitexclude <- c(4,7,11,22,26,27,31,32,37,43,45)

## Data exclusions due to poor model fit
srel.meta <- srel.meta1[-fitexclude,]

## ADD NEW MODERATORS (see Table 1 in the manuscript)
srel.meta$LanguageEnglish <- c(1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,
                               1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0)

srel.meta$Culture <- c("Mixed","Western","Western","Eastern","Eastern","Western","Western","Western","Western","Western","African","Western","Western","Western","Western","Western","Eastern","Western","Western","Western","African","Western","Western","Western","Eastern","Western","Mixed","Western","Western","Western","Western","Western","Western","Western","Western","Western","Western","Western","Western","Eastern","Western","Eastern","Western","Eastern")

table(srel.meta$Culture)
## 
## African Eastern   Mixed Western 
##       2       7       2      33
srel.meta$CultureWestern <- c(0,1,1,0,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,
                              0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0)

srel.meta$PropFemale <- c(69.83,52.94,53,52,62.1,75,54.17,79.17,
                          100,0,27.8,60,52,47.05,38.79,NA,31.66,NA,50,69.05,54,
                          51.27,51.27,51.27,47.94,58.33,70.59,75,49,73,48.9,48.9,
                          94.12,45,50,50,50,100,46,50.59,75,39.9,100,44.7)


## FURTHER EXCLUSIONS DUE TO SMALL SAMPLE SIZE
## Some power analysis to set a criterion
## Source for the size of parameters: Said-Metwaly et al. (2018), https://doi.org/10.1080/10400419.2018.1530534

## Run CFA power analysis
## Source: https://cran.r-project.org/web/packages/semPower/semPower.pdf
powerCFA <- semPower.powerCFA(type = 'a-priori',
                              Phi = .6,
                              loadings = list(c(.7, .8, .1),
                                              c(.6, .6, .6)),
                              alpha = .05,
                              beta = .05)


summary(powerCFA)
## 
##  semPower: A priori power analysis
##                                    
##  F0                        0.181217
##  RMSEA                     0.425696
##  Mc                        0.913375
##                                    
##  df                        1       
##  Required Num Observations 73      
##                                    
##  Critical Chi-Square       3.841459
##  NCP                       13.04764
##  Alpha                     0.050000
##  Beta                      0.049248
##  Power (1 - Beta)          0.950752
##  Implied Alpha/Beta Ratio  1.015269

## Criterion: N < 75 for the exclusion
which(srel.meta$N < 75)
##  [1]  3  6  7  8  9 10 11 12 13 14 16 20 26 28 29 30 33 35 37
length(which(srel.meta$N < 75))
## [1] 19
srel.meta <- srel.meta[!(srel.meta$N < 75),]

## Inspect the data again
head(srel.meta, 5)
##    ESID STUDID Reference   N     SREL1    SE.SREL1     SREL2   SE.SREL2
## 1     1      1      Acar 477 0.7879230 0.019422465 0.6165737 0.02990038
## 2     2      2  Acaretal 375 0.8659270 0.013861703 0.5688229 0.03750018
## 5     5      5    Balcib 105 0.6047810 0.079138763 0.3290440 0.10453343
## 6     6      6    Barkul 599 0.9744939 0.002080806 0.7786394 0.01432646
## 18   18     18   Fishkin 116 0.7595687 0.052606411 0.1350142 0.13384830
##       SRELCR   SE.SRELCR    SREL1C  SE.SREL1C    SREL2C  SE.SREL2C   SRELCRC
## 1  0.7961029 0.015185967 0.7685262 0.01983469 0.5661430 0.03723139 0.8049032
## 2  0.8033699 0.016598931 0.8358593 0.01479798 0.6079821 0.03775852 0.8424830
## 5  0.5565458 0.067293016 0.4107403 0.10638499 0.3911985 0.12094086 0.5543792
## 6  0.9172739 0.005562633 0.7877730 0.02851258 0.8229706 0.02047607 0.9178338
## 18 0.5451633 0.070251030 0.6697863 0.05130228 0.4145218 0.06674312 0.6674901
##     SE.SRELCRC     Fcorr    FcorrC Adults Forms Scores Validity       SREL1.vg
## 1  0.014734698 0.8029838 0.6221182      1     A      0        1 0.000377232156
## 2  0.013847621 0.7857477 0.4256405      0     A      0        1 0.000192146808
## 5  0.071671866 0.4998183 0.4286476      0  Both      0        1 0.006262943736
## 6  0.005606417 0.8720216 0.8964628      1     A      0        0 0.000004329754
## 18 0.044358318 0.6704365 0.1409424      0     A      0        1 0.002767434440
##        SREL2.vg     SRELCR.vg    SREL1C.vg    SREL2C.vg    SRELCRC.vg
## 1  0.0008940326 0.00023061360 0.0003934151 0.0013861763 0.00021711132
## 2  0.0014062639 0.00027552451 0.0002189803 0.0014257057 0.00019175659
## 5  0.0109272389 0.00452835001 0.0113177664 0.0146266914 0.00513685636
## 6  0.0002052475 0.00003094289 0.0008129674 0.0004192693 0.00003143191
## 18 0.0179153687 0.00493520728 0.0026319241 0.0044546436 0.00196766041
##    LanguageEnglish Culture CultureWestern PropFemale
## 1                1   Mixed              0      69.83
## 2                1 Western              1      52.94
## 5                0 Eastern              0      52.00
## 6                0 Eastern              0      62.10
## 18               1 Western              1      38.79
View(srel.meta)

2.2.2 Description of the Meta-Analytic Data

## Number of effect sizes
length(srel.meta$ESID)
## [1] 25
## Number of primary studies
length(unique(srel.meta$STUDID))
## [1] 25
## Proportion adult samples
prop.table(table(srel.meta$Adults))
## 
##    0    1 
## 0.68 0.32
## Proportion evidence against validity
prop.table(table(srel.meta$Validity))
## 
##   0   1 
## 0.8 0.2
## Distribution of test forms
prop.table(table(srel.meta$Forms))
## 
##          A          B       Both 
## 0.86956522 0.08695652 0.04347826
## Distribution of test score types
prop.table(table(srel.meta$Scores))
## 
##         0         1 
## 0.5416667 0.4583333
## Distribution of the sample sizes
psych::describe(srel.meta$N)
##    vars  n   mean     sd median trimmed    mad min  max range skew kurtosis
## X1    1 25 453.48 441.71    319  396.81 300.97  84 1758  1674 1.26     0.76
##       se
## X1 88.34
sum(unique(srel.meta$N))
## [1] 8746
## Distribution of English language
prop.table(table(srel.meta$LanguageEnglish))
## 
##    0    1 
## 0.32 0.68
## Distribution of cultures
prop.table(table(srel.meta$Culture))
## 
## African Eastern   Mixed Western 
##    0.04    0.28    0.08    0.60
prop.table(table(srel.meta$CultureWestern))
## 
##   0   1 
## 0.4 0.6
## Distribution of the proportion of women in the samples
psych::describe(srel.meta$PropFemale)
##    vars  n  mean    sd median trimmed  mad   min max range skew kurtosis   se
## X1    1 24 55.53 16.85  50.93   53.11 5.93 31.66 100 68.34 1.42     1.43 3.44

The meta-analytic data are hierarchical with multiple effect sizes derived from independent samples that are nested in primary studies.

2.2.3 Meta-Analysis of the Two-Factor Model without Cross-Loadings

2.2.3.1 Meta-Analytic Baseline Models

## Reliability of factor 1

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfm.srel1 <- rma.mv(SREL1,
                             SREL1.vg,
                             random = list(~ 1 | STUDID/ESID),
                             data = srel.meta,
                             method = "REML",
                             slab = paste(Reference),
                             tdist = TRUE,
                             test = "t")

## Summarize the results
summary(MLREMCSC.tfm.srel1, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  17.0172  -34.0345  -28.0345  -24.5003  -26.8345   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0048  0.0690     25     no       STUDID 
## sigma^2.2  0.0048  0.0690     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 1020.7004, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.8460  0.0204  41.3845  24  <.0001  0.8038  0.8882  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfm.srel1, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0048 0.0000 0.0212 
## sigma.1     0.0690 0.0000 0.1457 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0048 0.0000 0.0212 
## sigma.2     0.0690 0.0000 0.1457
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfm.srel1))
##         % of total variance    I2
## Level 1           0.4905075   ---
## Level 2          49.7547462 49.75
## Level 3          49.7547462 49.75
## Total I2: 99.51%
plot(dmetar::var.comp(MLREMCSC.tfm.srel1))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfm.srel1, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.846 0.0204 23.4        0.804        0.888
# Profile plots
profile.rma.mv(MLREMCSC.tfm.srel1, sigma2=1)

profile.rma.mv(MLREMCSC.tfm.srel1, sigma2=2)

## Reliability of factor 2

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfm.srel2 <- rma.mv(SREL2,
                             SREL2.vg,
                             random = list(~ 1 | STUDID/ESID),
                             data = srel.meta,
                             method = "REML",
                             slab = paste(Reference),
                             tdist = TRUE,
                             test = "t")

## Summarize the results
summary(MLREMCSC.tfm.srel2, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   9.3566  -18.7131  -12.7131   -9.1790  -11.5131   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0104  0.1019     25     no       STUDID 
## sigma^2.2  0.0104  0.1019     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 652.7154, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.6017  0.0306  19.6647  24  <.0001  0.5386  0.6649  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfm.srel2, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0104 0.0000 0.0435 
## sigma.1     0.1019 0.0000 0.2085 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0104 0.0000 0.0435 
## sigma.2     0.1019 0.0000 0.2085
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfm.srel2))
##         % of total variance    I2
## Level 1            3.052523   ---
## Level 2           48.473739 48.47
## Level 3           48.473738 48.47
## Total I2: 96.95%
plot(dmetar::var.comp(MLREMCSC.tfm.srel2))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfm.srel2, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.602 0.0305 23.5        0.539        0.665
# Profile plots
profile.rma.mv(MLREMCSC.tfm.srel2, sigma2=1)

profile.rma.mv(MLREMCSC.tfm.srel2, sigma2=2)

## Composite reliability

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfm.srelcr <- rma.mv(SRELCR,
                              SRELCR.vg,
                              random = list(~ 1 | STUDID/ESID),
                              data = srel.meta,
                              method = "REML",
                              slab = paste(Reference),
                              tdist = TRUE,
                              test = "t")

## Summarize the results
summary(MLREMCSC.tfm.srelcr, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  23.2586  -46.5173  -40.5173  -36.9831  -39.3173   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0030  0.0551     25     no       STUDID 
## sigma^2.2  0.0030  0.0551     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 693.1757, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.7997  0.0165  48.4817  24  <.0001  0.7657  0.8337  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfm.srelcr, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0030 0.0000 0.0132 
## sigma.1     0.0551 0.0000 0.1149 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0030 0.0000 0.0132 
## sigma.2     0.0551 0.0000 0.1149
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfm.srelcr))
##         % of total variance    I2
## Level 1            2.141714   ---
## Level 2           48.929143 48.93
## Level 3           48.929143 48.93
## Total I2: 97.86%
plot(dmetar::var.comp(MLREMCSC.tfm.srelcr))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfm.srelcr, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt      0.8 0.0164 23.5        0.766        0.834
# Profile plots
profile.rma.mv(MLREMCSC.tfm.srel1, sigma2=1)

profile.rma.mv(MLREMCSC.tfm.srel1, sigma2=2)

2.2.3.2 Moderator Analyses for the Reliability of Factor 1

2.2.3.2.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.age <- rma.mv(SREL1,
                                 SREL1.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  17.1451  -34.2901  -26.2901  -21.7482  -24.0679   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0045  0.0671     25     no       STUDID 
## sigma^2.2  0.0045  0.0671     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 927.3901, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.0163, p-val = 0.0958
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8694  0.0238  36.4585  23  <.0001   0.8200  0.9187  *** 
## Adults    -0.0754  0.0434  -1.7368  23  0.0958  -0.1653  0.0144    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.8694 0.0171 15.8        0.833       0.9056
##   Adults  -0.0754 0.0561 12.6       -0.197       0.0462
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8694 0.0238 0.8200 0.9187 0.6669 1.0718 
## 2 0.7939 0.0363 0.7189 0.8690 0.5837 1.0042
2.2.3.2.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.validity <- rma.mv(SREL1,
                                 SREL1.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  17.1637  -34.3274  -26.3274  -21.7854  -24.1052   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0040  0.0636     25     no       STUDID 
## sigma^2.2  0.0040  0.0636     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 851.3590, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.2775, p-val = 0.0833
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.8643  0.0210  41.1349  23  <.0001   0.8208  0.9077  *** 
## Validity   -0.0883  0.0488  -1.8104  23  0.0833  -0.1892  0.0126    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.validity, vcov = "CR2")
##     Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##   intrcpt   0.8643 0.0216 18.50        0.819       0.9095
##  Validity  -0.0883 0.0411  5.72       -0.190       0.0134
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8643 0.0210 0.8208 0.9077 0.6732 1.0554 
## 2 0.7760 0.0440 0.6850 0.8670 0.5688 0.9832
2.2.3.2.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.forms <- rma.mv(SREL1,
                                      SREL1.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfm.srel1.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  31.0809  -62.1618  -52.1618  -47.1831  -47.8760   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0011  0.0325     23     no       STUDID 
## sigma^2.2  0.0011  0.0325     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 850.5991, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 7.6967, p-val = 0.0033
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt              0.8872  0.0110  80.8489  20  <.0001   0.8643   0.9100  *** 
## factor(Forms)B      -0.1068  0.0420  -2.5444  20  0.0193  -0.1943  -0.0192    * 
## factor(Forms)Both   -0.2824  0.0921  -3.0643  20  0.0061  -0.4746  -0.0902   ** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.forms, vcov = "CR2")
##              Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##            intrcpt    0.887 0.0112 18.52        0.864       0.9105
##     factor(Forms)B   -0.107 0.0133  1.15       -0.232       0.0181
##  factor(Forms)Both   -0.282 0.0112 18.52       -0.306      -0.2590
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8872 0.0110 0.8643 0.9100 0.7887 0.9856 
## 2 0.7804 0.0405 0.6959 0.8649 0.6527 0.9081 
## 3 0.6048 0.0915 0.4139 0.7956 0.3912 0.8183
2.2.3.2.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.scores <- rma.mv(SREL1,
                                   SREL1.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  18.5855  -37.1711  -29.1711  -24.8069  -26.8181   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0040  0.0635     24     no       STUDID 
## sigma^2.2  0.0040  0.0635     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 931.2839, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.1066, p-val = 0.7471
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8605  0.0258  33.3413  22  <.0001   0.8070  0.9140  *** 
## Scores    -0.0125  0.0384  -0.3265  22  0.7471  -0.0921  0.0670      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.8605 0.0210 11.8       0.8146       0.9064
##   Scores  -0.0125 0.0394 21.0      -0.0946       0.0695
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8605 0.0258 0.8070 0.9140 0.6666 1.0544 
## 2 0.8480 0.0284 0.7891 0.9068 0.6526 1.0434
2.2.3.2.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.lang <- rma.mv(SREL1,
                                   SREL1.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  16.2293  -32.4585  -24.4585  -19.9165  -22.2363   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0052  0.0722     25     no       STUDID 
## sigma^2.2  0.0052  0.0722     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 465.0746, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.0674, p-val = 0.3123
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.8108  0.0394  20.6022  23  <.0001   0.7294  0.8922  *** 
## LanguageEnglish    0.0484  0.0468   1.0332  23  0.3123  -0.0485  0.1453      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.lang, vcov = "CR2")
##            Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt   0.8108 0.0665  6.56       0.6514        0.970
##  LanguageEnglish   0.0484 0.0678 12.28      -0.0989        0.196
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8108 0.0394 0.7294 0.8922 0.5844 1.0372 
## 2 0.8592 0.0254 0.8067 0.9117 0.6415 1.0769
2.2.3.2.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel1.cult <- rma.mv(SREL1,
                                   SREL1.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  16.3265  -32.6530  -24.6530  -20.1110  -22.4308   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0051  0.0713     25     no       STUDID 
## sigma^2.2  0.0051  0.0713     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 534.3155, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.2869, p-val = 0.2683
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.8146  0.0343  23.7516  23  <.0001   0.7436  0.8855  *** 
## CultureWestern    0.0493  0.0435   1.1344  23  0.2683  -0.0406  0.1392      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.cult, vcov = "CR2")
##           Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##         intrcpt   0.8146 0.0510  8.53       0.6983        0.931
##  CultureWestern   0.0493 0.0529 17.98      -0.0618        0.160
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel1.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8146 0.0343 0.7436 0.8855 0.5944 1.0348 
## 2 0.8639 0.0267 0.8086 0.9192 0.6482 1.0796
2.2.3.2.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfm.srel1.female <- rma.mv(SREL1,
                                   SREL1.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfm.srel1.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  14.6934  -29.3868  -21.3868  -17.0226  -19.0339   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0053  0.0727     24     no       STUDID 
## sigma^2.2  0.0053  0.0727     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 1001.2730, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.1342, p-val = 0.7176
## 
## Model Results:
## 
##                             estimate      se    tval  df    pval    ci.lb 
## intrcpt                       0.8179  0.0840  9.7399  22  <.0001   0.6437 
## asin(sqrt(PropFemale/100))    0.0342  0.0933  0.3663  22  0.7176  -0.1593 
##                              ci.ub      
## intrcpt                     0.9920  *** 
## asin(sqrt(PropFemale/100))  0.2276      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel1.female, vcov = "CR2")
##                       Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt   0.8179 0.0863 3.66        0.569        1.066
##  asin(sqrt(PropFemale/100))   0.0342 0.0831 2.27       -0.286        0.354

2.2.3.3 Moderator Analyses for the Reliability of Factor 2

2.2.3.3.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.age <- rma.mv(SREL2,
                                 SREL2.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.4208  -16.8415   -8.8415   -4.2996   -6.6193   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0110  0.1048     25     no       STUDID 
## sigma^2.2  0.0110  0.1048     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 648.6223, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.0133, p-val = 0.9090
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.6034  0.0380  15.8836  23  <.0001   0.5248  0.6820  *** 
## Adults    -0.0078  0.0675  -0.1155  23  0.9090  -0.1475  0.1319      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.6034 0.0387 15.7        0.521        0.686
##   Adults  -0.0078 0.0653 13.5       -0.148        0.133
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6034 0.0380 0.5248 0.6820 0.2868 0.9200 
## 2 0.5956 0.0558 0.4802 0.7111 0.2679 0.9233
2.2.3.3.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.validity <- rma.mv(SREL2,
                                      SREL2.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   9.8000  -19.5999  -11.5999   -7.0579   -9.3777   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0099  0.0997     25     no       STUDID 
## sigma^2.2  0.0099  0.0997     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 593.6872, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 2.7832, p-val = 0.1088
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.6259  0.0332  18.8696  23  <.0001   0.5573  0.6945  *** 
## Validity   -0.1299  0.0779  -1.6683  23  0.1088  -0.2909  0.0312      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.validity, vcov = "CR2")
##     Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##   intrcpt    0.626 0.0324 18.76        0.558       0.6937
##  Validity   -0.130 0.0838  5.57       -0.339       0.0791
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6259 0.0332 0.5573 0.6945 0.3263 0.9255 
## 2 0.4960 0.0704 0.3503 0.6417 0.1700 0.8220
2.2.3.3.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.forms <- rma.mv(SREL2,
                                   SREL2.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfm.srel2.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   7.5300  -15.0600   -5.0600   -0.0814   -0.7743   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0107  0.1034     23     no       STUDID 
## sigma^2.2  0.0107  0.1034     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 604.3319, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 1.3933, p-val = 0.2713
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt              0.6122  0.0344  17.7976  20  <.0001   0.5405  0.6840  *** 
## factor(Forms)B       0.0606  0.1128   0.5371  20  0.5972  -0.1748  0.2959      
## factor(Forms)Both   -0.2832  0.1830  -1.5472  20  0.1375  -0.6650  0.0986      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.forms, vcov = "CR2")
##              Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##            intrcpt   0.6122 0.0350 18.66        0.539        0.686
##     factor(Forms)B   0.0606 0.0671  1.21       -0.507        0.628
##  factor(Forms)Both  -0.2832 0.0350 18.66       -0.356       -0.210
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se   ci.lb  ci.ub   pi.lb  pi.ub 
## 1 0.6122 0.0344  0.5405 0.6840  0.2988 0.9257 
## 2 0.6728 0.1075  0.4487 0.8970  0.2943 1.0514 
## 3 0.3290 0.1798 -0.0460 0.7041 -0.1544 0.8125
2.2.3.3.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.scores <- rma.mv(SREL2,
                                    SREL2.vg,
                                    random = list(~ 1 | STUDID/ESID),
                                    data = srel.meta,
                                    method = "REML",
                                    slab = paste(Reference),
                                    tdist = TRUE,
                                    test = "t",
                                    mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.2912  -16.5824   -8.5824   -4.2182   -6.2294   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0106  0.1028     24     no       STUDID 
## sigma^2.2  0.0106  0.1028     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 405.1244, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 1.0632, p-val = 0.3137
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.5759  0.0423  13.6288  22  <.0001   0.4883  0.6636  *** 
## Scores     0.0650  0.0631   1.0311  22  0.3137  -0.0658  0.1959      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.576 0.0409 11.7       0.4865        0.665
##   Scores    0.065 0.0632 20.8      -0.0665        0.197
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.5759 0.0423 0.4883 0.6636 0.2619 0.8900 
## 2 0.6410 0.0468 0.5439 0.7381 0.3242 0.9578
2.2.3.3.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.lang <- rma.mv(SREL2,
                                   SREL2.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.4234  -16.8469   -8.8469   -4.3049   -6.6247   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0110  0.1049     25     no       STUDID 
## sigma^2.2  0.0110  0.1049     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 408.9066, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.0140, p-val = 0.9069
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.5955  0.0561  10.6206  23  <.0001   0.4795  0.7115  *** 
## LanguageEnglish    0.0080  0.0677   0.1183  23  0.9069  -0.1320  0.1480      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.lang, vcov = "CR2")
##            Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt  0.59547 0.0728  6.85        0.423        0.768
##  LanguageEnglish  0.00801 0.0794 13.34       -0.163        0.179
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.5955 0.0561 0.4795 0.7115 0.2675 0.9235 
## 2 0.6035 0.0379 0.5250 0.6819 0.2868 0.9201
2.2.3.3.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srel2.cult <- rma.mv(SREL2,
                                   SREL2.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.7507  -17.5014   -9.5014   -4.9594   -7.2792   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0108  0.1038     25     no       STUDID 
## sigma^2.2  0.0108  0.1038     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 455.1148, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.6709, p-val = 0.4211
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.5692  0.0500  11.3830  23  <.0001   0.4657  0.6726  *** 
## CultureWestern    0.0523  0.0639   0.8191  23  0.4211  -0.0798  0.1844      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.cult, vcov = "CR2")
##           Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##         intrcpt   0.5692 0.0661  8.78       0.4191        0.719
##  CultureWestern   0.0523 0.0723 18.64      -0.0991        0.204
## Predicted subgroup values
predict(MLMEMCSC.tfm.srel2.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.5692 0.0500 0.4657 0.6726 0.2485 0.8898 
## 2 0.6215 0.0397 0.5393 0.7037 0.3070 0.9360
2.2.3.3.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfm.srel2.female <- rma.mv(SREL2,
                                   SREL2.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfm.srel2.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.0386  -16.0772   -8.0772   -3.7130   -5.7242   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0111  0.1054     24     no       STUDID 
## sigma^2.2  0.0111  0.1054     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 644.3099, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.4098, p-val = 0.5287
## 
## Model Results:
## 
##                             estimate      se    tval  df    pval    ci.lb 
## intrcpt                       0.5194  0.1229  4.2278  22  0.0003   0.2646 
## asin(sqrt(PropFemale/100))    0.0875  0.1367  0.6402  22  0.5287  -0.1959 
##                              ci.ub      
## intrcpt                     0.7742  *** 
## asin(sqrt(PropFemale/100))  0.3709      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srel2.female, vcov = "CR2")
##                       Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt   0.5194 0.0929 3.61        0.250        0.789
##  asin(sqrt(PropFemale/100))   0.0875 0.0866 2.23       -0.251        0.426

2.2.3.4 Moderator Analyses for the Composite Reliability

2.2.3.4.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.age <- rma.mv(SRELCR,
                                 SRELCR.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  22.1519  -44.3038  -36.3038  -31.7618  -34.0816   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0031  0.0553     25     no       STUDID 
## sigma^2.2  0.0031  0.0553     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 690.3937, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.9183, p-val = 0.3479
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8103  0.0200  40.5962  23  <.0001   0.7690  0.8516  *** 
## Adults    -0.0342  0.0357  -0.9583  23  0.3479  -0.1082  0.0397      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.8103 0.0184 15.6        0.771       0.8494
##   Adults  -0.0342 0.0388 13.3       -0.118       0.0495
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8103 0.0200 0.7690 0.8516 0.6432 0.9774 
## 2 0.7761 0.0296 0.7147 0.8374 0.6029 0.9492
2.2.3.4.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.validity <- rma.mv(SRELCR,
                                 SRELCR.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  23.7950  -47.5900  -39.5900  -35.0481  -37.3678   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0028  0.0527     25     no       STUDID 
## sigma^2.2  0.0028  0.0527     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 607.4349, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 4.2762, p-val = 0.0501
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.8157  0.0175  46.7277  23  <.0001   0.7796  0.8518  *** 
## Validity   -0.0856  0.0414  -2.0679  23  0.0501  -0.1712  0.0000    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.validity, vcov = "CR2")
##     Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##   intrcpt   0.8157 0.0161 18.75        0.782       0.8494
##  Validity  -0.0856 0.0521  5.43       -0.217       0.0454
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8157 0.0175 0.7796 0.8518 0.6575 0.9739 
## 2 0.7301 0.0375 0.6525 0.8078 0.5576 0.9026
2.2.3.4.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.forms <- rma.mv(SRELCR,
                                      SRELCR.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  24.2827  -48.5655  -38.5655  -33.5868  -34.2798   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0018  0.0419     23     no       STUDID 
## sigma^2.2  0.0018  0.0419     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 589.0590, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 4.2341, p-val = 0.0293
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt              0.8207  0.0141  58.1555  20  <.0001   0.7913   0.8502  *** 
## factor(Forms)B      -0.0065  0.0470  -0.1379  20  0.8917  -0.1046   0.0916      
## factor(Forms)Both   -0.2642  0.0908  -2.9100  20  0.0087  -0.4536  -0.0748   ** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.forms, vcov = "CR2")
##              Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##            intrcpt  0.82074 0.0143 18.52        0.791        0.851
##     factor(Forms)B -0.00648 0.0259  1.21       -0.228        0.215
##  factor(Forms)Both -0.26420 0.0143 18.52       -0.294       -0.234
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8207 0.0141 0.7913 0.8502 0.6936 0.9479 
## 2 0.8143 0.0449 0.7207 0.9078 0.6592 0.9694 
## 3 0.5565 0.0897 0.3695 0.7436 0.3323 0.7808
2.2.3.4.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.scores <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  22.1055  -44.2109  -36.2109  -31.8468  -33.8580   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0029  0.0534     24     no       STUDID 
## sigma^2.2  0.0029  0.0534     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 535.7287, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.0965, p-val = 0.7590
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8006  0.0220  36.4337  22  <.0001   0.7550  0.8462  *** 
## Scores     0.0101  0.0326   0.3106  22  0.7590  -0.0576  0.0778      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.8006 0.0225 11.6        0.751       0.8498
##   Scores   0.0101 0.0323 21.0       -0.057       0.0772
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8006 0.0220 0.7550 0.8462 0.6374 0.9638 
## 2 0.8108 0.0241 0.7607 0.8608 0.6462 0.9753
2.2.3.4.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.lang <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  21.9336  -43.8672  -35.8672  -31.3252  -33.6449   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0032  0.0569     25     no       STUDID 
## sigma^2.2  0.0032  0.0569     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 417.2232, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.4465, p-val = 0.5106
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.7821  0.0307  25.4514  23  <.0001   0.7185  0.8456  *** 
## LanguageEnglish    0.0246  0.0369   0.6682  23  0.5106  -0.0516  0.1009      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.lang, vcov = "CR2")
##            Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt   0.7821 0.0443  6.74       0.6766        0.888
##  LanguageEnglish   0.0246 0.0468 12.90      -0.0765        0.126
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7821 0.0307 0.7185 0.8456 0.6040 0.9601 
## 2 0.8067 0.0204 0.7646 0.8488 0.6351 0.9783
2.2.3.4.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfm.srelcr.cult <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  22.4612  -44.9224  -36.9224  -32.3804  -34.7001   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0031  0.0555     25     no       STUDID 
## sigma^2.2  0.0031  0.0555     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 476.6963, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.5317, p-val = 0.2283
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.7735  0.0268  28.8471  23  <.0001   0.7180  0.8290  *** 
## CultureWestern    0.0422  0.0341   1.2376  23  0.2283  -0.0284  0.1128      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.cult, vcov = "CR2")
##           Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##         intrcpt   0.7735 0.0368  8.7       0.6898        0.857
##  CultureWestern   0.0422 0.0395 18.4      -0.0406        0.125
## Predicted subgroup values
predict(MLMEMCSC.tfm.srelcr.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7735 0.0268 0.7180 0.8290 0.6021 0.9450 
## 2 0.8158 0.0211 0.7721 0.8594 0.6478 0.9838
2.2.3.4.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfm.srelcr.female <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  20.3507  -40.7014  -32.7014  -28.3373  -30.3485   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0034  0.0587     24     no       STUDID 
## sigma^2.2  0.0034  0.0587     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 685.9332, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.1632, p-val = 0.6901
## 
## Model Results:
## 
##                             estimate      se     tval  df    pval    ci.lb 
## intrcpt                       0.7704  0.0684  11.2614  22  <.0001   0.6285 
## asin(sqrt(PropFemale/100))    0.0308  0.0761   0.4040  22  0.6901  -0.1271 
##                              ci.ub      
## intrcpt                     0.9122  *** 
## asin(sqrt(PropFemale/100))  0.1887      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfm.srelcr.female, vcov = "CR2")
##                       Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt   0.7704 0.0517 3.64        0.621        0.920
##  asin(sqrt(PropFemale/100))   0.0308 0.0461 2.26       -0.147        0.209

2.2.3.5 Publication Bias and Infuential Effect Sizes

## Reliability of factor 1

## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfm.srel1.pet <- rma.mv(SREL1,
                                 SREL1.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SREL1.vg))

## Summarize the results
summary(MLMEMCSC.tfm.srel1.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  39.1954  -78.3907  -70.3907  -65.8487  -68.1685   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0005  0.0220     25     no       STUDID 
## sigma^2.2  0.0005  0.0220     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 288.5573, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 83.6521, p-val < .0001
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt           0.9499  0.0111  85.9372  23  <.0001   0.9270   0.9728  *** 
## sqrt(SREL1.vg)   -4.8102  0.5259  -9.1462  23  <.0001  -5.8982  -3.7223  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel1.pet, vcov = "CR2")
##           Coef. Estimate    SE t-stat d.f. (Satt) p-val (Satt) Sig.
##         intrcpt     0.95 0.011  86.12       13.28       <0.001  ***
##  sqrt(SREL1.vg)    -4.81 0.674  -7.14        8.45       <0.001  ***
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfm.srel1.fpt <- rma.mv(SREL1,
                                 SREL1.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  17.5793  -35.1586  -27.1586  -22.6167  -24.9364   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0042  0.0649     25     no       STUDID 
## sigma^2.2  0.0042  0.0649     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 1015.0106, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 4.0950, p-val = 0.0548
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8045  0.0287  28.0528  23  <.0001   0.7452  0.8638  *** 
## N          0.0001  0.0000   2.0236  23  0.0548  -0.0000  0.0002    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel1.fpt, vcov = "CR2")
##    Coef.  Estimate        SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.8045152 0.0306352  26.26       16.13       <0.001  ***
##        N 0.0000885 0.0000372   2.38        5.41       0.0593    .
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfm.srel1, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfm.srel1.peese <- rma.mv(SREL1,
                                 SREL1.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ SREL1.vg)

## Summarize the results
summary(MLMEMCSC.tfm.srel1.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  31.7384  -63.4768  -55.4768  -50.9349  -53.2546   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0011  0.0325     25     no       STUDID 
## sigma^2.2  0.0011  0.0325     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 733.1016, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 47.1798, p-val < .0001
## 
## Model Results:
## 
##           estimate      se     tval  df    pval     ci.lb     ci.ub      
## intrcpt     0.8942  0.0112  79.8019  23  <.0001    0.8710    0.9174  *** 
## SREL1.vg  -48.9790  7.1307  -6.8688  23  <.0001  -63.7300  -34.2280  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel1.peese, vcov = "CR2")
##     Coef. Estimate      SE t-stat d.f. (Satt) p-val (Satt) Sig.
##   intrcpt    0.894  0.0117  76.39       19.42       <0.001  ***
##  SREL1.vg  -48.979 16.0820  -3.05        2.13       0.0859    .
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfm.srel1 <- influence.rma.uni(rma(SREL1, 
                                       SREL1.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfm.srel1)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfm.srel1)
## 
##    rstudent  dffits cook.d  cov.r tau2.del    QE.del    hat weight    dfbs inf 
## 1   -0.5806 -0.1003 0.0105 1.0837   0.0099  949.9482 0.0422 4.2245 -0.1004     
## 2    0.2076  0.0850 0.0078 1.1240   0.0103  982.7664 0.0430 4.3050  0.0851     
## 3   -2.0606 -0.4219 0.1611 0.8749   0.0080 1001.5586 0.0265 2.6491 -0.4346     
## 4    1.3711  0.2698 0.0697 1.0042   0.0091  830.4254 0.0439 4.3899  0.2694     
## 5   -0.7889 -0.1424 0.0204 1.0458   0.0096 1007.4539 0.0340 3.4027 -0.1423     
## 6   -4.4880 -1.3351 1.0272 0.4654   0.0040  955.0759 0.0322 3.2165 -1.5049   * 
## 7   -0.6963 -0.1222 0.0152 1.0585   0.0097 1006.0742 0.0356 3.5626 -0.1220     
## 8    0.5027  0.1430 0.0219 1.1139   0.0102  922.1433 0.0438 4.3765  0.1433     
## 9    0.6827  0.1722 0.0312 1.0975   0.0100 1015.6630 0.0426 4.2647  0.1723     
## 10   0.6894  0.1756 0.0325 1.0992   0.0100  970.7886 0.0438 4.3779  0.1759     
## 11   0.3810  0.1201 0.0155 1.1203   0.0103  934.4841 0.0437 4.3666  0.1203     
## 12   0.8492  0.2014 0.0421 1.0825   0.0099  994.3384 0.0438 4.3821  0.2016     
## 13   1.3083  0.2629 0.0669 1.0153   0.0092  871.8229 0.0439 4.3902  0.2626     
## 14   0.1694  0.0758 0.0062 1.1212   0.0103 1003.7755 0.0419 4.1870  0.0758     
## 15   0.6137  0.1621 0.0279 1.1052   0.0101  999.1130 0.0435 4.3483  0.1624     
## 16  -0.5950 -0.1035 0.0111 1.0807   0.0099  969.7595 0.0416 4.1582 -0.1035     
## 17   0.8177  0.1941 0.0392 1.0843   0.0099 1018.3396 0.0427 4.2746  0.1942     
## 18   0.7173  0.1791 0.0337 1.0955   0.0100 1012.8056 0.0432 4.3216  0.1793     
## 19   0.1452  0.0701 0.0053 1.1195   0.0103 1007.5334 0.0412 4.1192  0.0701     
## 20  -0.0710  0.0234 0.0006 1.1143   0.0102 1005.8988 0.0403 4.0257  0.0234     
## 21  -2.8836 -0.4781 0.2096 0.8208   0.0076 1001.2202 0.0178 1.7756 -0.5094     
## 22   0.1126  0.0652 0.0046 1.1247   0.0103  974.4674 0.0430 4.3037  0.0654     
## 23   0.1965  0.0817 0.0072 1.1218   0.0103 1001.5186 0.0422 4.2204  0.0818     
## 24  -0.3728 -0.0461 0.0022 1.0977   0.0101  999.1161 0.0399 3.9888 -0.0460     
## 25   0.3729  0.1185 0.0151 1.1207   0.0103  925.1126 0.0437 4.3685  0.1188
## Reliability of factor 2


## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfm.srel2.pet <- rma.mv(SREL2,
                                 SREL2.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SREL2.vg))

## Summarize the results
summary(MLMEMCSC.tfm.srel2.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  18.3446  -36.6892  -28.6892  -24.1472  -26.4670   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0050  0.0706     25     no       STUDID 
## sigma^2.2  0.0050  0.0706     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 327.0981, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 24.8624, p-val < .0001
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt           0.7775  0.0398  19.5277  23  <.0001   0.6951   0.8599  *** 
## sqrt(SREL2.vg)   -4.1215  0.8266  -4.9862  23  <.0001  -5.8314  -2.4116  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel2.pet, vcov = "CR2")
##           Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##         intrcpt    0.778 0.0363  21.43        14.2       <0.001  ***
##  sqrt(SREL2.vg)   -4.121 0.6029  -6.84         7.8       <0.001  ***
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfm.srel2.fpt <- rma.mv(SREL2,
                                 SREL2.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.5900  -17.1800   -9.1800   -4.6380   -6.9578   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0110  0.1048     25     no       STUDID 
## sigma^2.2  0.0110  0.1048     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 647.7970, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.3989, p-val = 0.5339
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.5792  0.0466  12.4271  23  <.0001   0.4828  0.6756  *** 
## N          0.0000  0.0001   0.6316  23  0.5339  -0.0001  0.0002      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel2.fpt, vcov = "CR2")
##    Coef.  Estimate        SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.5792180 0.0459125 12.616       16.45       <0.001  ***
##        N 0.0000449 0.0000657  0.683        5.36        0.523
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfm.srel2, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfm.srel2.peese <- rma.mv(SREL2,
                                   SREL2.vg, 
                                   random = list(~ 1 | STUDID/ESID),
                                   method = "REML",
                                   data = srel.meta,
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ SREL2.vg)

## Summarize the results
summary(MLMEMCSC.tfm.srel2.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  18.3353  -36.6705  -28.6705  -24.1286  -26.4483   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0052  0.0719     25     no       STUDID 
## sigma^2.2  0.0052  0.0719     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 461.1976, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 24.2103, p-val < .0001
## 
## Model Results:
## 
##           estimate      se     tval  df    pval     ci.lb     ci.ub      
## intrcpt     0.6882  0.0273  25.1864  23  <.0001    0.6316    0.7447  *** 
## SREL2.vg  -32.5633  6.6180  -4.9204  23  <.0001  -46.2537  -18.8729  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srel2.peese, vcov = "CR2")
##     Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##   intrcpt    0.688 0.0285  24.19       18.11      < 0.001  ***
##  SREL2.vg  -32.563 4.0114  -8.12        4.21      0.00101   **
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfm.srel2 <- influence.rma.uni(rma(SREL2, 
                                       SREL2.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfm.srel2)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfm.srel2)
## 
##    rstudent  dffits cook.d  cov.r tau2.del   QE.del    hat weight    dfbs inf 
## 1    0.1056  0.0482 0.0025 1.1058   0.0221 639.0781 0.0432 4.3250  0.0482     
## 2   -0.2152 -0.0221 0.0005 1.0976   0.0219 634.9549 0.0423 4.2250 -0.0222     
## 3   -1.5995 -0.3080 0.0903 0.9613   0.0192 638.2960 0.0296 2.9554 -0.3110     
## 4    1.2623  0.2636 0.0679 1.0256   0.0203 637.2752 0.0447 4.4671  0.2633     
## 5   -2.5287 -0.4562 0.1896 0.8690   0.0173 633.2235 0.0242 2.4213 -0.4724     
## 6   -0.5182 -0.0915 0.0087 1.0782   0.0215 632.9858 0.0410 4.0971 -0.0915     
## 7    0.8661  0.1887 0.0364 1.0654   0.0213 652.6997 0.0407 4.0702  0.1887     
## 8    0.4642  0.1228 0.0159 1.1001   0.0219 632.7336 0.0447 4.4712  0.1231     
## 9   -0.8895 -0.1673 0.0280 1.0371   0.0208 641.5569 0.0344 3.4394 -0.1672     
## 10   0.6213  0.1527 0.0244 1.0907   0.0217 648.0432 0.0445 4.4522  0.1530     
## 11  -0.9915 -0.2155 0.0460 1.0350   0.0205 574.0571 0.0432 4.3197 -0.2155     
## 12  -0.1923 -0.0169 0.0003 1.1026   0.0220 603.3660 0.0441 4.4060 -0.0170     
## 13   1.8369  0.3452 0.1053 0.9370   0.0183 316.8720 0.0450 4.4968  0.3431     
## 14  -2.3132 -0.4750 0.2002 0.8709   0.0172 628.9066 0.0299 2.9871 -0.4865     
## 15   0.8157  0.1870 0.0360 1.0745   0.0214 652.6535 0.0438 4.3845  0.1871     
## 16   0.1070  0.0480 0.0024 1.1044   0.0221 642.4575 0.0427 4.2696  0.0481     
## 17  -0.3028 -0.0397 0.0016 1.0759   0.0216 648.0831 0.0342 3.4243 -0.0395     
## 18   0.3897  0.1039 0.0114 1.0965   0.0219 650.1954 0.0416 4.1614  0.1040     
## 19   0.1463  0.0538 0.0030 1.0972   0.0220 648.9658 0.0398 3.9752  0.0537     
## 20   0.9473  0.2054 0.0429 1.0598   0.0211 652.5575 0.0420 4.2021  0.2055     
## 21  -0.6447 -0.1096 0.0122 1.0538   0.0212 645.9692 0.0325 3.2517 -0.1094     
## 22   0.3827  0.1051 0.0117 1.1009   0.0220 646.5277 0.0435 4.3492  0.1053     
## 23   1.3643  0.2755 0.0733 1.0117   0.0200 646.2333 0.0435 4.3529  0.2752     
## 24   0.7276  0.1673 0.0290 1.0785   0.0215 652.5489 0.0419 4.1928  0.1674     
## 25  -1.5719 -0.3847 0.1337 0.9492   0.0187 536.6417 0.0430 4.3025 -0.3837
## Reliability of factor 1

## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfm.srelcr.pet <- rma.mv(SRELCR,
                                 SRELCR.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SRELCR.vg))

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  37.2606  -74.5212  -66.5212  -61.9792  -64.2989   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0009  0.0297     25     no       STUDID 
## sigma^2.2  0.0009  0.0297     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 305.7577, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 43.4582, p-val < .0001
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt            0.8981  0.0163  55.2552  23  <.0001   0.8645   0.9317  *** 
## sqrt(SRELCR.vg)   -4.5673  0.6928  -6.5923  23  <.0001  -6.0005  -3.1341  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srelcr.pet, vcov = "CR2")
##            Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##          intrcpt    0.898 0.0145  61.99       13.14       <0.001  ***
##  sqrt(SRELCR.vg)   -4.567 0.5105  -8.95        7.61       <0.001  ***
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfm.srelcr.fpt <- rma.mv(SRELCR,
                                 SRELCR.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  22.9486  -45.8972  -37.8972  -33.3552  -35.6750   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0029  0.0543     25     no       STUDID 
## sigma^2.2  0.0029  0.0543     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 690.1930, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 2.6099, p-val = 0.1198
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.7710  0.0242  31.8378  23  <.0001   0.7209  0.8211  *** 
## N          0.0001  0.0000   1.6155  23  0.1198  -0.0000  0.0001      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srelcr.fpt, vcov = "CR2")
##    Coef.  Estimate        SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.7709769 0.0256130  30.10       16.40       <0.001  ***
##        N 0.0000594 0.0000333   1.79        5.39         0.13
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfm.srelcr, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfm.srelcr.peese <- rma.mv(SRELCR,
                                 SRELCR.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ SRELCR.vg)

## Summarize the results
summary(MLMEMCSC.tfm.srelcr.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  36.3145  -72.6291  -64.6291  -60.0871  -62.4068   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0010  0.0317     25     no       STUDID 
## sigma^2.2  0.0010  0.0317     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 469.3450, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 38.8556, p-val < .0001
## 
## Model Results:
## 
##            estimate       se     tval  df    pval     ci.lb     ci.ub      
## intrcpt      0.8477   0.0118  71.9485  23  <.0001    0.8233    0.8721  *** 
## SRELCR.vg  -65.4629  10.5019  -6.2334  23  <.0001  -87.1878  -43.7380  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfm.srelcr.peese, vcov = "CR2")
##      Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##    intrcpt    0.848 0.0118   71.9       18.87       <0.001  ***
##  SRELCR.vg  -65.463 6.2780  -10.4        3.45        0.001   **
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfm.srelcr <- influence.rma.uni(rma(SRELCR, 
                                       SRELCR.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfm.srelcr)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfm.srelcr)
## 
##    rstudent  dffits cook.d  cov.r tau2.del   QE.del    hat weight    dfbs inf 
## 1   -0.0374  0.0264 0.0007 1.1135   0.0065 667.6021 0.0432 4.3158  0.0264     
## 2    0.0529  0.0458 0.0022 1.1140   0.0065 675.7268 0.0429 4.2853  0.0459     
## 3   -2.5662 -0.5146 0.2335 0.8308   0.0048 671.1618 0.0257 2.5665 -0.5366     
## 4    1.5950  0.3015 0.0837 0.9705   0.0056 615.4980 0.0446 4.4569  0.3005     
## 5   -2.6293 -0.5155 0.2352 0.8281   0.0048 671.4950 0.0247 2.4717 -0.5391     
## 6   -1.6127 -0.3922 0.1382 0.9305   0.0054 648.9615 0.0391 3.9148 -0.3932     
## 7    0.4559  0.1221 0.0157 1.0987   0.0064 691.5093 0.0399 3.9919  0.1221     
## 8    0.4620  0.1308 0.0182 1.1094   0.0065 656.7034 0.0445 4.4494  0.1312     
## 9   -0.3206 -0.0382 0.0015 1.0892   0.0064 684.2077 0.0378 3.7811 -0.0381     
## 10   0.8852  0.2051 0.0433 1.0745   0.0063 692.8051 0.0444 4.4449  0.2054     
## 11  -0.5197 -0.0889 0.0082 1.0879   0.0063 610.2809 0.0436 4.3640 -0.0890     
## 12   0.3571  0.1101 0.0130 1.1135   0.0065 666.6957 0.0442 4.4214  0.1104     
## 13   1.7305  0.3156 0.0890 0.9456   0.0054 416.1811 0.0447 4.4686  0.3140     
## 14  -1.6402 -0.3692 0.1249 0.9335   0.0054 668.2991 0.0348 3.4818 -0.3722     
## 15   0.9765  0.2185 0.0486 1.0635   0.0062 693.0805 0.0440 4.3981  0.2186     
## 16  -0.0658  0.0198 0.0004 1.1116   0.0065 672.6476 0.0427 4.2665  0.0198     
## 17   0.2507  0.0813 0.0070 1.1011   0.0065 690.5957 0.0383 3.8255  0.0811     
## 18   0.4885  0.1321 0.0185 1.1026   0.0064 690.0260 0.0423 4.2287  0.1322     
## 19   0.2166  0.0768 0.0063 1.1062   0.0065 688.9800 0.0400 4.0024  0.0768     
## 20   0.8768  0.1987 0.0406 1.0721   0.0063 693.1537 0.0422 4.2228  0.1987     
## 21  -1.9516 -0.3808 0.1343 0.9087   0.0053 677.1957 0.0265 2.6451 -0.3894     
## 22   0.4532  0.1278 0.0174 1.1078   0.0065 684.7705 0.0436 4.3603  0.1280     
## 23   0.7062  0.1712 0.0306 1.0884   0.0064 692.3350 0.0425 4.2541  0.1714     
## 24  -0.0460  0.0227 0.0005 1.1054   0.0065 684.8985 0.0401 4.0066  0.0227     
## 25  -0.3530 -0.0471 0.0023 1.1012   0.0064 620.3470 0.0438 4.3756 -0.0471

2.2.3.6 Forest Plots

## Reliability of factor 1
#pdf(file = "ForestPlots-TwoFactorModel4.pdf", onefile = TRUE)
forest.rma(MLREMCSC.tfm.srel1,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfm.srel1$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Reliability Factor 1 (Model 4)")

## Reliability of factor 2

forest.rma(MLREMCSC.tfm.srel2,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfm.srel2$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Reliability Factor 2 (Model 4)")

## Composite reliability

forest.rma(MLREMCSC.tfm.srelcr,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfm.srelcr$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Composite Reliability (Model 4)")

#dev.off()

2.2.4 Meta-Analysis of the Two-Factor Model with Cross-Loadings

2.2.4.1 Meta-Analytic Baseline Models

## Reliability of factor 1

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfmc.srel1 <- rma.mv(SREL1C,
                             SREL1C.vg,
                             random = list(~ 1 | STUDID/ESID),
                             data = srel.meta,
                             method = "REML",
                             slab = paste(Reference),
                             tdist = TRUE,
                             test = "t")

## Summarize the results
summary(MLREMCSC.tfmc.srel1, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   5.9701  -11.9402   -5.9402   -2.4061   -4.7402   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0117  0.1080     25     no       STUDID 
## sigma^2.2  0.0117  0.1080     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 425.6621, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.7630  0.0322  23.6689  24  <.0001  0.6964  0.8295  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfmc.srel1, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0117 0.0000 0.0520 
## sigma.1     0.1080 0.0000 0.2280 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0117 0.0000 0.0520 
## sigma.2     0.1080 0.0000 0.2280
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfmc.srel1))
##         % of total variance    I2
## Level 1           0.6951387   ---
## Level 2          49.6524307 49.65
## Level 3          49.6524307 49.65
## Total I2: 99.3%
plot(dmetar::var.comp(MLREMCSC.tfmc.srel1))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfmc.srel1, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.763 0.0321 22.9        0.697        0.829
# Profile plots
profile.rma.mv(MLREMCSC.tfmc.srel1, sigma2=1)

profile.rma.mv(MLREMCSC.tfmc.srel1, sigma2=2)

## Reliability of factor 2

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfmc.srel2 <- rma.mv(SREL2C,
                             SREL2C.vg,
                             random = list(~ 1 | STUDID/ESID),
                             data = srel.meta,
                             method = "REML",
                             slab = paste(Reference),
                             tdist = TRUE,
                             test = "t")

## Summarize the results
summary(MLREMCSC.tfmc.srel2, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   9.2464  -18.4929  -12.4929   -8.9587  -11.2929   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0095  0.0973     25     no       STUDID 
## sigma^2.2  0.0095  0.0973     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 494.9445, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.6314  0.0304  20.7645  24  <.0001  0.5687  0.6942  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfmc.srel2, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0095 0.0000 0.0411 
## sigma.1     0.0973 0.0000 0.2028 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0095 0.0000 0.0411 
## sigma.2     0.0973 0.0000 0.2028
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfmc.srel2))
##         % of total variance    I2
## Level 1            4.020696   ---
## Level 2           47.989652 47.99
## Level 3           47.989652 47.99
## Total I2: 95.98%
plot(dmetar::var.comp(MLREMCSC.tfmc.srel2))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfmc.srel2, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.631 0.0303 22.1        0.569        0.694
# Profile plots
profile.rma.mv(MLREMCSC.tfmc.srel2, sigma2=1)

profile.rma.mv(MLREMCSC.tfmc.srel2, sigma2=2)

## Composite reliability

## Three-level REM 
## Model specification and estimation
MLREMCSC.tfmc.srelcr <- rma.mv(SRELCRC,
                              SRELCRC.vg,
                              random = list(~ 1 | STUDID/ESID),
                              data = srel.meta,
                              method = "REML",
                              slab = paste(Reference),
                              tdist = TRUE,
                              test = "t")

## Summarize the results
summary(MLREMCSC.tfmc.srelcr, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  24.4985  -48.9970  -42.9970  -39.4629  -41.7970   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0028  0.0529     25     no       STUDID 
## sigma^2.2  0.0028  0.0529     25     no  STUDID/ESID 
## 
## Test for Heterogeneity:
## Q(df = 24) = 522.6646, p-val < .0001
## 
## Model Results:
## 
## estimate      se     tval  df    pval   ci.lb   ci.ub      
##   0.8182  0.0158  51.7398  24  <.0001  0.7855  0.8508  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 95% confidence intervals
confint(MLREMCSC.tfmc.srelcr, digits=4)
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.1   0.0028 0.0000 0.0120 
## sigma.1     0.0529 0.0000 0.1097 
## 
##           estimate  ci.lb  ci.ub 
## sigma^2.2   0.0028 0.0000 0.0120 
## sigma.2     0.0529 0.0000 0.1097
## Variance distribution
summary(dmetar::var.comp(MLREMCSC.tfmc.srelcr))
##         % of total variance    I2
## Level 1            2.057698   ---
## Level 2           48.971151 48.97
## Level 3           48.971151 48.97
## Total I2: 97.94%
plot(dmetar::var.comp(MLREMCSC.tfmc.srelcr))

## RVE standard errors
clubSandwich::conf_int(MLREMCSC.tfmc.srelcr, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.818 0.0158 23.5        0.786        0.851
# Profile plots
profile.rma.mv(MLREMCSC.tfmc.srel1, sigma2=1)

profile.rma.mv(MLREMCSC.tfmc.srel1, sigma2=2)

2.2.4.2 Moderator Analyses for the Reliability of Factor 1

2.2.4.2.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.age <- rma.mv(SREL1C,
                                 SREL1C.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   5.1516  -10.3032   -2.3032    2.2388   -0.0810   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0125  0.1117     25     no       STUDID 
## sigma^2.2  0.0125  0.1117     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 366.0896, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.0950, p-val = 0.7607
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.7686  0.0396  19.4138  23  <.0001   0.6867  0.8505  *** 
## Adults    -0.0225  0.0729  -0.3082  23  0.7607  -0.1733  0.1284      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.7686 0.0437 15.8        0.676        0.861
##   Adults  -0.0225 0.0580 11.5       -0.149        0.104
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7686 0.0396 0.6867 0.8505 0.4319 1.1054 
## 2 0.7462 0.0612 0.6195 0.8728 0.3958 1.0965
2.2.4.2.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.validity <- rma.mv(SREL1C,
                                 SREL1C.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   5.7403  -11.4806   -3.4806    1.0613   -1.2584   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0113  0.1065     25     no       STUDID 
## sigma^2.2  0.0113  0.1065     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 372.2444, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.3813, p-val = 0.2519
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.7820  0.0355  22.0076  23  <.0001   0.7085  0.8555  *** 
## Validity   -0.0936  0.0797  -1.1753  23  0.2519  -0.2584  0.0712      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.validity, vcov = "CR2")
##     Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##   intrcpt   0.7820 0.0361 17.97        0.706       0.8580
##  Validity  -0.0936 0.0718  6.02       -0.269       0.0819
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7820 0.0355 0.7085 0.8555 0.4619 1.1022 
## 2 0.6884 0.0713 0.5409 0.8359 0.3437 1.0331
2.2.4.2.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.forms <- rma.mv(SREL1C,
                                      SREL1C.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   7.6493  -15.2985   -5.2985   -0.3198   -1.0128   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0086  0.0926     23     no       STUDID 
## sigma^2.2  0.0086  0.0926     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 361.7420, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 2.8583, p-val = 0.0809
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt              0.7954  0.0301  26.4088  20  <.0001   0.7325   0.8582  *** 
## factor(Forms)B      -0.0967  0.1030  -0.9390  20  0.3589  -0.3114   0.1181      
## factor(Forms)Both   -0.3846  0.1714  -2.2442  20  0.0363  -0.7421  -0.0271    * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.forms, vcov = "CR2")
##              Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##            intrcpt   0.7954 0.0305 18.8        0.731        0.859
##     factor(Forms)B  -0.0967 0.0471  1.2       -0.507        0.314
##  factor(Forms)Both  -0.3846 0.0305 18.8       -0.449       -0.321
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se  ci.lb  ci.ub   pi.lb  pi.ub 
## 1 0.7954 0.0301 0.7325 0.8582  0.5151 1.0756 
## 2 0.6987 0.0985 0.4933 0.9040  0.3569 1.0404 
## 3 0.4107 0.1687 0.0588 0.7627 -0.0348 0.8562
2.2.4.2.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.scores <- rma.mv(SREL1C,
                                   SREL1C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   6.4130  -12.8261   -4.8261   -0.4619   -2.4732   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0120  0.1095     24     no       STUDID 
## sigma^2.2  0.0120  0.1095     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 419.4714, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.8849, p-val = 0.3571
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.7920  0.0439  18.0318  22  <.0001   0.7009  0.8831  *** 
## Scores    -0.0619  0.0658  -0.9407  22  0.3571  -0.1982  0.0745      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.7920 0.0308 11.9        0.725       0.8592
##   Scores  -0.0619 0.0692 20.9       -0.206       0.0821
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7920 0.0439 0.7009 0.8831 0.4582 1.1258 
## 2 0.7301 0.0489 0.6286 0.8316 0.3934 1.0669
2.2.4.2.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.lang <- rma.mv(SREL1C,
                                   SREL1C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   6.9770  -13.9541   -5.9541   -1.4121   -3.7319   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0113  0.1063     25     no       STUDID 
## sigma^2.2  0.0113  0.1063     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 341.4132, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.7666, p-val = 0.0646
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.6623  0.0610  10.8581  23  <.0001   0.5362  0.7885  *** 
## LanguageEnglish    0.1386  0.0714   1.9408  23  0.0646  -0.0091  0.2864    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.lang, vcov = "CR2")
##            Coef. Estimate    SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt    0.662 0.108  5.95        0.397        0.928
##  LanguageEnglish    0.139 0.110 10.64       -0.104        0.382
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6623 0.0610 0.5362 0.7885 0.3267 0.9980 
## 2 0.8010 0.0372 0.7241 0.8779 0.4806 1.1214
2.2.4.2.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel1.cult <- rma.mv(SREL1C,
                                   SREL1C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   6.5957  -13.1914   -5.1914   -0.6494   -2.9692   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0114  0.1067     25     no       STUDID 
## sigma^2.2  0.0114  0.1067     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 372.6575, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.0470, p-val = 0.0942
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.6888  0.0533  12.9302  23  <.0001   0.5786  0.7990  *** 
## CultureWestern    0.1160  0.0665   1.7456  23  0.0942  -0.0215  0.2536    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.cult, vcov = "CR2")
##           Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##         intrcpt    0.689 0.0809  7.93        0.502        0.876
##  CultureWestern    0.116 0.0836 16.35       -0.061        0.293
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel1.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6888 0.0533 0.5786 0.7990 0.3577 1.0199 
## 2 0.8048 0.0398 0.7226 0.8871 0.4819 1.1278
2.2.4.2.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfmc.srel1.female <- rma.mv(SREL1C,
                                   SREL1C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   4.2226   -8.4452   -0.4452    3.9190    1.9078   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0135  0.1163     24     no       STUDID 
## sigma^2.2  0.0135  0.1163     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 369.2496, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.0049, p-val = 0.9446
## 
## Model Results:
## 
##                             estimate      se    tval  df    pval    ci.lb 
## intrcpt                       0.7529  0.1333  5.6489  22  <.0001   0.4765 
## asin(sqrt(PropFemale/100))    0.0104  0.1476  0.0703  22  0.9446  -0.2956 
##                              ci.ub      
## intrcpt                     1.0293  *** 
## asin(sqrt(PropFemale/100))  0.3164      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel1.female, vcov = "CR2")
##                       Coef. Estimate    SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt   0.7529 0.114 3.74        0.426        1.079
##  asin(sqrt(PropFemale/100))   0.0104 0.119 2.28       -0.446        0.467

2.2.4.3 Moderator Analyses for the Reliability of Factor 2

2.2.4.3.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.age <- rma.mv(SREL2C,
                                 SREL2C.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.6756  -17.3512   -9.3512   -4.8093   -7.1290   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0099  0.0996     25     no       STUDID 
## sigma^2.2  0.0099  0.0996     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 490.4978, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.7239, p-val = 0.4036
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.6482  0.0371  17.4756  23  <.0001   0.5715  0.7249  *** 
## Adults    -0.0577  0.0678  -0.8509  23  0.4036  -0.1980  0.0826      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.6482 0.0309 15.0        0.582        0.714
##   Adults  -0.0577 0.0812 11.6       -0.235        0.120
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6482 0.0371 0.5715 0.7249 0.3469 0.9495 
## 2 0.5905 0.0568 0.4730 0.7079 0.2763 0.9046
2.2.4.3.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.validity <- rma.mv(SREL2C,
                                      SREL2C.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   9.7565  -19.5130  -11.5130   -6.9710   -9.2908   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0082  0.0908     25     no       STUDID 
## sigma^2.2  0.0082  0.0908     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 428.6923, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.2051, p-val = 0.0866
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.6587  0.0320  20.5751  23  <.0001   0.5925  0.7249  *** 
## Validity   -0.1280  0.0715  -1.7903  23  0.0866  -0.2758  0.0199    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.validity, vcov = "CR2")
##     Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##   intrcpt    0.659 0.0337 17.14        0.588      0.72973
##  Validity   -0.128 0.0542  5.93       -0.261      0.00514
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6587 0.0320 0.5925 0.7249 0.3849 0.9325 
## 2 0.5307 0.0639 0.3985 0.6629 0.2340 0.8275
2.2.4.3.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.forms <- rma.mv(SREL2C,
                                   SREL2C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  10.0585  -20.1171  -10.1171   -5.1384   -5.8313   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0077  0.0880     23     no       STUDID 
## sigma^2.2  0.0077  0.0880     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 457.5460, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 1.1039, p-val = 0.3509
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt              0.6527  0.0301  21.6527  20  <.0001   0.5898  0.7156  *** 
## factor(Forms)B      -0.0015  0.1000  -0.0153  20  0.9880  -0.2102  0.2071      
## factor(Forms)Both   -0.2615  0.1761  -1.4846  20  0.1532  -0.6289  0.1059      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.forms, vcov = "CR2")
##              Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##            intrcpt  0.65268 0.0306 17.95        0.588        0.717
##     factor(Forms)B -0.00153 0.0600  1.21       -0.513        0.510
##  factor(Forms)Both -0.26148 0.0306 17.95       -0.326       -0.197
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se  ci.lb  ci.ub   pi.lb  pi.ub 
## 1 0.6527 0.0301 0.5898 0.7156  0.3856 0.9198 
## 2 0.6512 0.0954 0.4522 0.8501  0.3241 0.9782 
## 3 0.3912 0.1735 0.0292 0.7532 -0.0542 0.8366
2.2.4.3.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.scores <- rma.mv(SREL2C,
                                    SREL2C.vg,
                                    random = list(~ 1 | STUDID/ESID),
                                    data = srel.meta,
                                    method = "REML",
                                    slab = paste(Reference),
                                    tdist = TRUE,
                                    test = "t",
                                    mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.7763  -17.5527   -9.5527   -5.1885   -7.1997   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0092  0.0958     24     no       STUDID 
## sigma^2.2  0.0092  0.0958     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 248.0145, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 1.1842, p-val = 0.2883
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.6039  0.0396  15.2449  22  <.0001   0.5217  0.6860  *** 
## Scores     0.0663  0.0609   1.0882  22  0.2883  -0.0600  0.1926      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.6039 0.0302 11.8        0.538        0.670
##   Scores   0.0663 0.0652 19.2       -0.070        0.203
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6039 0.0396 0.5217 0.6860 0.3112 0.8966 
## 2 0.6702 0.0463 0.5742 0.7661 0.3733 0.9670
2.2.4.3.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.lang <- rma.mv(SREL2C,
                                   SREL2C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.7982  -17.5965   -9.5965   -5.0545   -7.3742   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0090  0.0950     25     no       STUDID 
## sigma^2.2  0.0090  0.0950     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 150.2834, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.0279, p-val = 0.3212
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.6797  0.0557  12.2090  23  <.0001   0.5645  0.7948  *** 
## LanguageEnglish   -0.0668  0.0659  -1.0138  23  0.3212  -0.2031  0.0695      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.lang, vcov = "CR2")
##            Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt   0.6797 0.0795  6.02        0.485        0.874
##  LanguageEnglish  -0.0668 0.0841 11.10       -0.252        0.118
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6797 0.0557 0.5645 0.7948 0.3789 0.9804 
## 2 0.6129 0.0352 0.5400 0.6858 0.3257 0.9001
2.2.4.3.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srel2.cult <- rma.mv(SREL2C,
                                   SREL2C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.3362  -16.6724   -8.6724   -4.1304   -6.4501   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0102  0.1009     25     no       STUDID 
## sigma^2.2  0.0102  0.1009     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 212.8276, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.0456, p-val = 0.8327
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.6218  0.0520  11.9646  23  <.0001   0.5143  0.7293  *** 
## CultureWestern    0.0139  0.0652   0.2136  23  0.8327  -0.1210  0.1489      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.cult, vcov = "CR2")
##           Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##         intrcpt   0.6218 0.0777  8.03        0.443        0.801
##  CultureWestern   0.0139 0.0808 16.58       -0.157        0.185
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srel2.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.6218 0.0520 0.5143 0.7293 0.3078 0.9358 
## 2 0.6357 0.0394 0.5542 0.7172 0.3296 0.9418
2.2.4.3.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfmc.srel2.female <- rma.mv(SREL2C,
                                   SREL2C.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   7.7170  -15.4340   -7.4340   -3.0699   -5.0811   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0104  0.1020     24     no       STUDID 
## sigma^2.2  0.0104  0.1020     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 483.8490, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.5703, p-val = 0.4581
## 
## Model Results:
## 
##                             estimate      se    tval  df    pval    ci.lb 
## intrcpt                       0.5389  0.1213  4.4418  22  0.0002   0.2873 
## asin(sqrt(PropFemale/100))    0.1007  0.1333  0.7552  22  0.4581  -0.1758 
##                              ci.ub      
## intrcpt                     0.7905  *** 
## asin(sqrt(PropFemale/100))  0.3772      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srel2.female, vcov = "CR2")
##                       Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt    0.539 0.0927 3.68        0.272        0.805
##  asin(sqrt(PropFemale/100))    0.101 0.0836 2.21       -0.228        0.430

2.2.4.4 Moderator Analyses for the Composite Reliability

2.2.4.4.1 MODERATOR: Age groups
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.age <- rma.mv(SRELCRC,
                                 SRELCRC.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Adults)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.age, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  23.7634  -47.5268  -39.5268  -34.9848  -37.3046   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0027  0.0521     25     no       STUDID 
## sigma^2.2  0.0027  0.0521     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 522.6509, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.7859, p-val = 0.1945
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8324  0.0188  44.3556  23  <.0001   0.7936  0.8712  *** 
## Adults    -0.0450  0.0337  -1.3364  23  0.1945  -0.1147  0.0247      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.age, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt    0.832 0.0162 15.7        0.798       0.8668
##   Adults   -0.045 0.0388 13.2       -0.129       0.0387
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.age, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8324 0.0188 0.7936 0.8712 0.6751 0.9897 
## 2 0.7874 0.0280 0.7295 0.8453 0.6243 0.9504
2.2.4.4.2 MODERATOR: Validity evidence
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.validity <- rma.mv(SRELCRC,
                                 SRELCRC.vg,
                                 random = list(~ 1 | STUDID/ESID),
                                 data = srel.meta,
                                 method = "REML",
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ Validity)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.validity, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  24.7551  -49.5102  -41.5102  -36.9682  -39.2879   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0025  0.0502     25     no       STUDID 
## sigma^2.2  0.0025  0.0502     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 444.1613, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.8597, p-val = 0.0617
## 
## Model Results:
## 
##           estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt     0.8331  0.0167  49.9023  23  <.0001   0.7985  0.8676  *** 
## Validity   -0.0765  0.0389  -1.9646  23  0.0617  -0.1570  0.0041    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.validity, vcov = "CR2")
##     Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##   intrcpt   0.8331 0.0159 18.7        0.800        0.866
##  Validity  -0.0765 0.0452  5.6       -0.189        0.036
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.validity, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8331 0.0167 0.7985 0.8676 0.6821 0.9840 
## 2 0.7566 0.0352 0.6838 0.8293 0.5926 0.9206
2.2.4.4.3 MODERATOR: Test forms
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.forms <- rma.mv(SRELCRC,
                                      SRELCRC.vg,
                                      random = list(~ 1 | STUDID/ESID),
                                      data = srel.meta,
                                      method = "REML",
                                      slab = paste(Reference),
                                      tdist = TRUE,
                                      test = "t",
                                      mods =~ factor(Forms))

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.forms, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 23; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  27.8527  -55.7053  -45.7053  -40.7267  -41.4196   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0014  0.0368     23     no       STUDID 
## sigma^2.2  0.0014  0.0368     23     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 20) = 408.6778, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 5.2885, p-val = 0.0143
## 
## Model Results:
## 
##                    estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt              0.8420  0.0124  67.8009  20  <.0001   0.8161   0.8679  *** 
## factor(Forms)B      -0.0257  0.0419  -0.6145  20  0.5458  -0.1130   0.0616      
## factor(Forms)Both   -0.2876  0.0894  -3.2163  20  0.0043  -0.4742  -0.1011   ** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.forms, vcov = "CR2")
##              Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##            intrcpt   0.8420 0.0126 18.6        0.816        0.868
##     factor(Forms)B  -0.0257 0.0269  1.2       -0.258        0.206
##  factor(Forms)Both  -0.2876 0.0126 18.6       -0.314       -0.261
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.forms, newmods = cbind(c(0,1,0),
                                                  c(0,0,1)))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8420 0.0124 0.8161 0.8679 0.7304 0.9535 
## 2 0.8163 0.0400 0.7329 0.8997 0.6794 0.9531 
## 3 0.5544 0.0886 0.3696 0.7391 0.3401 0.7686
2.2.4.4.4 MODERATOR: Test scores
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.scores <- rma.mv(SRELCRC,
                                   SRELCRC.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ Scores)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.scores, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  23.5969  -47.1938  -39.1938  -34.8296  -36.8409   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0026  0.0507     24     no       STUDID 
## sigma^2.2  0.0026  0.0507     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 426.8649, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.0088, p-val = 0.9261
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.8252  0.0207  39.8103  22  <.0001   0.7822  0.8682  *** 
## Scores    -0.0029  0.0309  -0.0938  22  0.9261  -0.0671  0.0613      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.scores, vcov = "CR2")
##    Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##  intrcpt   0.8252 0.0201 11.7       0.7813       0.8692
##   Scores  -0.0029 0.0310 20.9      -0.0673       0.0615
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.scores, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.8252 0.0207 0.7822 0.8682 0.6705 0.9799 
## 2 0.8223 0.0230 0.7747 0.8699 0.6663 0.9784
2.2.4.4.5 MODERATOR: Language English
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.lang <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ LanguageEnglish)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.lang, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  21.9336  -43.8672  -35.8672  -31.3252  -33.6449   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0032  0.0569     25     no       STUDID 
## sigma^2.2  0.0032  0.0569     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 417.2232, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.4465, p-val = 0.5106
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt            0.7821  0.0307  25.4514  23  <.0001   0.7185  0.8456  *** 
## LanguageEnglish    0.0246  0.0369   0.6682  23  0.5106  -0.0516  0.1009      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.lang, vcov = "CR2")
##            Coef. Estimate     SE  d.f. Lower 95% CI Upper 95% CI
##          intrcpt   0.7821 0.0443  6.74       0.6766        0.888
##  LanguageEnglish   0.0246 0.0468 12.90      -0.0765        0.126
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.lang, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7821 0.0307 0.7185 0.8456 0.6040 0.9601 
## 2 0.8067 0.0204 0.7646 0.8488 0.6351 0.9783
2.2.4.4.6 MODERATOR: Western Culture
## Three-level MEM
## Model specification and estimation
MLMEMCSC.tfmc.srelcr.cult <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ CultureWestern)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.cult, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  22.4612  -44.9224  -36.9224  -32.3804  -34.7001   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0031  0.0555     25     no       STUDID 
## sigma^2.2  0.0031  0.0555     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 476.6963, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 1.5317, p-val = 0.2283
## 
## Model Results:
## 
##                 estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt           0.7735  0.0268  28.8471  23  <.0001   0.7180  0.8290  *** 
## CultureWestern    0.0422  0.0341   1.2376  23  0.2283  -0.0284  0.1128      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.cult, vcov = "CR2")
##           Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##         intrcpt   0.7735 0.0368  8.7       0.6898        0.857
##  CultureWestern   0.0422 0.0395 18.4      -0.0406        0.125
## Predicted subgroup values
predict(MLMEMCSC.tfmc.srelcr.cult, newmods = c(0,1))
## 
##     pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
## 1 0.7735 0.0268 0.7180 0.8290 0.6021 0.9450 
## 2 0.8158 0.0211 0.7721 0.8594 0.6478 0.9838
2.2.4.4.7 MODERATOR: Proportion of women in the sample
## Three-level MEM
## Model specification and estimation

## Note: The proportion is arcsine-square-root transformed to stabilize the distribution
## and approximate normality.
## Source: Schwarzer et al. (2019), https://doi.org/10.1002/jrsm.1348 
MLMEMCSC.tfmc.srelcr.female <- rma.mv(SRELCR,
                                   SRELCR.vg,
                                   random = list(~ 1 | STUDID/ESID),
                                   data = srel.meta,
                                   method = "REML",
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ asin(sqrt(PropFemale/100)))

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.female, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 24; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  20.3507  -40.7014  -32.7014  -28.3373  -30.3485   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0034  0.0587     24     no       STUDID 
## sigma^2.2  0.0034  0.0587     24     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 22) = 685.9332, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.1632, p-val = 0.6901
## 
## Model Results:
## 
##                             estimate      se     tval  df    pval    ci.lb 
## intrcpt                       0.7704  0.0684  11.2614  22  <.0001   0.6285 
## asin(sqrt(PropFemale/100))    0.0308  0.0761   0.4040  22  0.6901  -0.1271 
##                              ci.ub      
## intrcpt                     0.9122  *** 
## asin(sqrt(PropFemale/100))  0.1887      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
clubSandwich::conf_int(MLMEMCSC.tfmc.srelcr.female, vcov = "CR2")
##                       Coef. Estimate     SE d.f. Lower 95% CI Upper 95% CI
##                     intrcpt   0.7704 0.0517 3.64        0.621        0.920
##  asin(sqrt(PropFemale/100))   0.0308 0.0461 2.26       -0.147        0.209

2.2.4.5 Publication Bias and Infuential Effect Sizes

## Reliability of factor 1

## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfmc.srel1.pet <- rma.mv(SREL1C,
                                 SREL1C.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SREL1C.vg))

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  23.6111  -47.2223  -39.2223  -34.6803  -37.0001   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0007  0.0265     25     no       STUDID 
## sigma^2.2  0.0007  0.0265     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 186.3863, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 76.3920, p-val < .0001
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt            0.9000  0.0137  65.6949  23  <.0001   0.8717   0.9283  *** 
## sqrt(SREL1C.vg)   -4.0655  0.4651  -8.7403  23  <.0001  -5.0277  -3.1033  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel1.pet, vcov = "CR2")
##            Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##          intrcpt     0.90 0.0206  43.60       12.95      < 0.001  ***
##  sqrt(SREL1C.vg)    -4.07 1.0480  -3.88        9.29      0.00352   **
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfmc.srel1.fpt <- rma.mv(SREL1C,
                                 SREL1C.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   6.9163  -13.8326   -5.8326   -1.2906   -3.6103   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0103  0.1014     25     no       STUDID 
## sigma^2.2  0.0103  0.1014     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 418.8469, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.9690, p-val = 0.0583
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.6979  0.0453  15.4084  23  <.0001   0.6042  0.7916  *** 
## N          0.0001  0.0001   1.9922  23  0.0583  -0.0000  0.0003    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel1.fpt, vcov = "CR2")
##    Coef. Estimate       SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.697914 0.055971  12.47       15.56       <0.001  ***
##        N 0.000137 0.000073   1.87        5.39        0.116
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfmc.srel1, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfmc.srel1.peese <- rma.mv(SREL1C,
                                 SREL1C.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ SREL1C.vg)

## Summarize the results
summary(MLMEMCSC.tfmc.srel1.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   7.9836  -15.9673   -7.9673   -3.4253   -5.7450   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0098  0.0989     25     no       STUDID 
## sigma^2.2  0.0098  0.0989     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 390.6398, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.4707, p-val = 0.0753
## 
## Model Results:
## 
##            estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt      0.7736  0.0300  25.7989  23  <.0001   0.7116  0.8356  *** 
## SREL1C.vg   -3.2596  1.7497  -1.8630  23  0.0753  -6.8791  0.3599    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel1.peese, vcov = "CR2")
##      Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##    intrcpt    0.774 0.0313 24.715       22.54       <0.001  ***
##  SREL1C.vg   -3.260 8.4850 -0.384        1.05        0.764
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfmc.srel1 <- influence.rma.uni(rma(SREL1C, 
                                       SREL1C.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfmc.srel1)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfmc.srel1)
## 
##    rstudent  dffits cook.d  cov.r tau2.del   QE.del    hat weight    dfbs inf 
## 1    0.0428  0.0433 0.0020 1.1270   0.0253 399.2283 0.0438 4.3765  0.0434     
## 2    0.4758  0.1315 0.0185 1.1157   0.0250 420.2750 0.0441 4.4089  0.1317     
## 3   -2.0587 -0.4375 0.1690 0.8610   0.0193 407.0371 0.0300 2.9975 -0.4495     
## 4    0.1642  0.0684 0.0050 1.1247   0.0253 417.3371 0.0430 4.3005  0.0684     
## 5   -0.5757 -0.0998 0.0103 1.0822   0.0243 410.4367 0.0400 3.9995 -0.0997     
## 6   -1.2987 -0.2673 0.0684 0.9794   0.0220 411.4365 0.0338 3.3755 -0.2688     
## 7   -0.1631 -0.0036 0.0000 1.1111   0.0250 418.9619 0.0399 3.9890 -0.0036     
## 8    0.2768  0.0929 0.0093 1.1259   0.0252 356.1077 0.0444 4.4376  0.0931     
## 9   -5.9128 -1.5778 1.2860 0.3218   0.0066 358.8042 0.0300 2.9998 -2.0176   * 
## 10   0.7582  0.1829 0.0350 1.0919   0.0244 423.9669 0.0444 4.4409  0.1831     
## 11   0.4035  0.1180 0.0150 1.1205   0.0251 402.0327 0.0443 4.4327  0.1182     
## 12   0.8308  0.1952 0.0395 1.0836   0.0242 413.0919 0.0444 4.4435  0.1954     
## 13   0.7782  0.1863 0.0362 1.0897   0.0244 422.7039 0.0444 4.4406  0.1865     
## 14   0.0914  0.0531 0.0030 1.1251   0.0253 414.7629 0.0430 4.3015  0.0532     
## 15   0.7410  0.1796 0.0338 1.0934   0.0245 425.3786 0.0442 4.4234  0.1798     
## 16  -0.6255 -0.1138 0.0134 1.0796   0.0242 401.9331 0.0413 4.1324 -0.1137     
## 17   0.6777  0.1602 0.0268 1.0911   0.0245 425.6607 0.0400 4.0004  0.1601     
## 18   0.0656  0.0474 0.0024 1.1240   0.0252 416.1942 0.0427 4.2658  0.0474     
## 19   0.6114  0.1555 0.0256 1.1043   0.0248 425.3541 0.0435 4.3536  0.1557     
## 20   0.7455  0.1794 0.0337 1.0920   0.0245 425.5211 0.0437 4.3745  0.1796     
## 21  -1.0199 -0.0561 0.0032 0.9993   0.0233 424.1353 0.0029 0.2859 -0.0562     
## 22   0.4521  0.1270 0.0173 1.1172   0.0250 418.3646 0.0441 4.4126  0.1272     
## 23   0.2874  0.0933 0.0094 1.1218   0.0252 420.9575 0.0430 4.2963  0.0934     
## 24  -0.7191 -0.1369 0.0192 1.0674   0.0239 403.5294 0.0406 4.0648 -0.1369     
## 25   0.9945  0.2214 0.0498 1.0622   0.0237 310.1251 0.0445 4.4461  0.2215
## Reliability of factor 2


## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfmc.srel2.pet <- rma.mv(SREL2C,
                                 SREL2C.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SREL2C.vg))

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  11.7491  -23.4982  -15.4982  -10.9562  -13.2760   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0064  0.0797     25     no       STUDID 
## sigma^2.2  0.0064  0.0797     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 320.6533, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 6.7122, p-val = 0.0163
## 
## Model Results:
## 
##                  estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt            0.7112  0.0386  18.4088  23  <.0001   0.6313   0.7912  *** 
## sqrt(SREL2C.vg)   -1.6624  0.6416  -2.5908  23  0.0163  -2.9897  -0.3350    * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel2.pet, vcov = "CR2")
##            Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##          intrcpt    0.711 0.0418  17.01       11.83       <0.001  ***
##  sqrt(SREL2C.vg)   -1.662 0.9334  -1.78        4.34        0.144
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfmc.srel2.fpt <- rma.mv(SREL2C,
                                 SREL2C.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   8.3137  -16.6273   -8.6273   -4.0854   -6.4051   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0101  0.1006     25     no       STUDID 
## sigma^2.2  0.0101  0.1006     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 494.3038, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.0947, p-val = 0.7610
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.6198  0.0473  13.0900  23  <.0001   0.5218  0.7177  *** 
## N          0.0000  0.0001   0.3078  23  0.7610  -0.0001  0.0002      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel2.fpt, vcov = "CR2")
##    Coef.  Estimate        SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.6197671 0.0479670 12.921        15.1       <0.001  ***
##        N 0.0000216 0.0000573  0.377         5.2        0.721
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfmc.srel2, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfmc.srel2.peese <- rma.mv(SREL2C,
                                   SREL2C.vg, 
                                   random = list(~ 1 | STUDID/ESID),
                                   method = "REML",
                                   data = srel.meta,
                                   slab = paste(Reference),
                                   tdist = TRUE,
                                   test = "t",
                                   mods =~ SREL2C.vg)

## Summarize the results
summary(MLMEMCSC.tfmc.srel2.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##   9.6282  -19.2564  -11.2564   -6.7144   -9.0341   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0089  0.0946     25     no       STUDID 
## sigma^2.2  0.0089  0.0946     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 467.0447, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.8934, p-val = 0.3544
## 
## Model Results:
## 
##            estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt      0.6398  0.0308  20.7941  23  <.0001   0.5762  0.7035  *** 
## SREL2C.vg   -1.8922  2.0018  -0.9452  23  0.3544  -6.0332  2.2489      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srel2.peese, vcov = "CR2")
##      Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##    intrcpt     0.64 0.0291  21.99       21.59       <0.001  ***
##  SREL2C.vg    -1.89 1.5272  -1.24        1.23        0.402
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfmc.srel2 <- influence.rma.uni(rma(SREL2C, 
                                       SREL2C.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfmc.srel2)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfmc.srel2)
## 
##    rstudent  dffits cook.d  cov.r tau2.del   QE.del    hat weight    dfbs inf 
## 1   -0.4546 -0.0817 0.0070 1.0938   0.0199 473.8330 0.0455 4.5523 -0.0818     
## 2   -0.1583 -0.0117 0.0001 1.1092   0.0202 483.3117 0.0454 4.5434 -0.0117     
## 3   -1.3485 -0.2400 0.0562 0.9895   0.0181 486.8228 0.0276 2.7559 -0.2417     
## 4    1.4482  0.3034 0.0868 0.9963   0.0178 475.4692 0.0478 4.7798  0.3025     
## 5   -1.5066 -0.3378 0.1063 0.9625   0.0173 471.6695 0.0395 3.9549 -0.3391     
## 6   -2.3690 -0.4958 0.2145 0.8520   0.0152 472.6836 0.0319 3.1900 -0.5095     
## 7    0.4920  0.1218 0.0155 1.0940   0.0200 494.6315 0.0418 4.1822  0.1217     
## 8    0.0278  0.0314 0.0011 1.1197   0.0203 446.5656 0.0483 4.8251  0.0315     
## 9    1.4476  0.2702 0.0705 0.9997   0.0181 492.5023 0.0381 3.8128  0.2708     
## 10   0.1709  0.0629 0.0042 1.1182   0.0203 477.9306 0.0478 4.7817  0.0631     
## 11  -1.1009 -0.2549 0.0632 1.0231   0.0184 418.1080 0.0467 4.6734 -0.2547     
## 12   0.3491  0.1015 0.0110 1.1146   0.0202 479.9340 0.0483 4.8253  0.1019     
## 13   1.6847  0.3423 0.1050 0.9543   0.0170 204.9424 0.0487 4.8677  0.3402     
## 14  -2.7553 -0.5805 0.2827 0.7994   0.0142 468.4919 0.0314 3.1370 -0.6034     
## 15   0.3051  0.0904 0.0087 1.1120   0.0202 490.9536 0.0465 4.6467  0.0906     
## 16  -0.2046 -0.0223 0.0005 1.1034   0.0201 486.7779 0.0437 4.3669 -0.0223     
## 17  -0.2109 -0.0128 0.0002 1.0116   0.0191 494.7088 0.0052 0.5249 -0.0128     
## 18   0.3228  0.0915 0.0089 1.1063   0.0202 493.2400 0.0442 4.4209  0.0916     
## 19   0.4808  0.1232 0.0160 1.0996   0.0200 494.3278 0.0442 4.4169  0.1232     
## 20   0.5570  0.1365 0.0195 1.0934   0.0199 494.7227 0.0433 4.3251  0.1365     
## 21  -0.0527 -0.0007 0.0000 1.0153   0.0191 494.8203 0.0065 0.6472 -0.0007     
## 22   0.0842  0.0430 0.0020 1.1157   0.0203 485.5125 0.0465 4.6541  0.0431     
## 23   1.1937  0.2594 0.0663 1.0347   0.0186 490.3481 0.0470 4.6951  0.2592     
## 24   0.5432  0.1367 0.0196 1.0978   0.0200 494.4961 0.0450 4.5010  0.1368     
## 25  -0.6043 -0.1111 0.0127 1.0701   0.0195 486.6137 0.0392 3.9196 -0.1110
## Reliability of factor 1

## Egger's regression test (PET)
## Details: https://wviechtb.github.io/metafor/reference/regtest.html
## Three-level MEM
MLMEMCSC.tfmc.srelcr.pet <- rma.mv(SRELCRC,
                                 SRELCRC.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ sqrt(SRELCRC.vg))

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.pet, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  38.5774  -77.1549  -69.1549  -64.6129  -66.9326   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0007  0.0262     25     no       STUDID 
## sigma^2.2  0.0007  0.0262     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 232.1572, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 47.8856, p-val < .0001
## 
## Model Results:
## 
##                   estimate      se     tval  df    pval    ci.lb    ci.ub      
## intrcpt             0.9125  0.0145  62.7468  23  <.0001   0.8824   0.9425  *** 
## sqrt(SRELCRC.vg)   -4.6279  0.6688  -6.9199  23  <.0001  -6.0113  -3.2444  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srelcr.pet, vcov = "CR2")
##             Coef. Estimate     SE t-stat d.f. (Satt) p-val (Satt) Sig.
##           intrcpt    0.912 0.0126  72.65       12.95       <0.001  ***
##  sqrt(SRELCRC.vg)   -4.628 0.6472  -7.15        8.06       <0.001  ***
## Result: The standard errors are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.



## Funnel plot test
## Three-level MEM
MLMEMCSC.tfmc.srelcr.fpt <- rma.mv(SRELCRC,
                                 SRELCRC.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ N)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.fpt, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  24.5762  -49.1524  -41.1524  -36.6104  -38.9301   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0026  0.0508     25     no       STUDID 
## sigma^2.2  0.0026  0.0508     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 518.9919, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 3.5613, p-val = 0.0718
## 
## Model Results:
## 
##          estimate      se     tval  df    pval    ci.lb   ci.ub      
## intrcpt    0.7872  0.0227  34.7324  23  <.0001   0.7403  0.8340  *** 
## N          0.0001  0.0000   1.8871  23  0.0718  -0.0000  0.0001    . 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srelcr.fpt, vcov = "CR2")
##    Coef. Estimate        SE t-stat d.f. (Satt) p-val (Satt) Sig.
##  intrcpt 0.787152 0.0248723  31.65       16.41       <0.001  ***
##        N 0.000065 0.0000341   1.91        5.38        0.111
## Contour-enhanced funnel plot
funnel(MLREMCSC.tfmc.srelcr, 
       main="Standard Error", 
       level = c(90, 95, 99), 
       shade = c("white", "gray55", "gray75"),
       legend = TRUE)

## Result: No evidence for publication or selection bias.


## Precision-Effect Estimate with SE (PEESE)
## Three-level MEM
MLMEMCSC.tfmc.srelcr.peese <- rma.mv(SRELCRC,
                                 SRELCRC.vg, 
                                 random = list(~ 1 | STUDID/ESID),
                                 method = "REML",
                                 data = srel.meta,
                                 slab = paste(Reference),
                                 tdist = TRUE,
                                 test = "t",
                                 mods =~ SRELCRC.vg)

## Summarize the results
summary(MLMEMCSC.tfmc.srelcr.peese, digits=4)
## 
## Multivariate Meta-Analysis Model (k = 25; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc   
##  36.4251  -72.8502  -64.8502  -60.3083  -62.6280   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed       factor 
## sigma^2.1  0.0009  0.0296     25     no       STUDID 
## sigma^2.2  0.0009  0.0296     25     no  STUDID/ESID 
## 
## Test for Residual Heterogeneity:
## QE(df = 23) = 331.1155, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 37.9578, p-val < .0001
## 
## Model Results:
## 
##             estimate       se     tval  df    pval     ci.lb     ci.ub      
## intrcpt       0.8633   0.0110  78.1818  23  <.0001    0.8405    0.8862  *** 
## SRELCRC.vg  -68.5051  11.1192  -6.1610  23  <.0001  -91.5068  -45.5033  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RVE standard errors
coef_test(MLMEMCSC.tfmc.srelcr.peese, vcov = "CR2")
##       Coef. Estimate      SE t-stat d.f. (Satt) p-val (Satt) Sig.
##     intrcpt    0.863  0.0101  85.67       18.21      < 0.001  ***
##  SRELCRC.vg  -68.505 10.1813  -6.73        3.05      0.00637   **
## Result: The sampling variances are significantly moderating the effect size.
## This can be considered evidence for publication or selection bias.


## Influential effect sizes

## Analyses based on the REM with variation between effect sizes
## Plots indicating potential influential effect sizes
inf.tfmc.srelcr <- influence.rma.uni(rma(SRELCRC, 
                                       SRELCRC.vg, 
                                       data = srel.meta, 
                                       method = "REML"))

plot.infl.rma.uni(inf.tfmc.srelcr)

# Increase max print options to show all effect sizes
options(max.print = 1000000) 
print(inf.tfmc.srelcr)
## 
##    rstudent  dffits cook.d  cov.r tau2.del   QE.del    hat weight    dfbs inf 
## 1   -0.1663 -0.0056 0.0000 1.1071   0.0060 495.4587 0.0430 4.2976 -0.0056     
## 2    0.3227  0.0986 0.0103 1.1090   0.0060 514.7507 0.0432 4.3164  0.0987     
## 3   -2.7417 -0.5080 0.2305 0.8294   0.0045 501.8788 0.0233 2.3292 -0.5328     
## 4    1.3824  0.2778 0.0740 1.0069   0.0054 472.8212 0.0444 4.4392  0.2773     
## 5   -1.8689 -0.4123 0.1531 0.9062   0.0049 499.4453 0.0330 3.3040 -0.4178     
## 6   -2.2029 -0.5695 0.2641 0.8319   0.0044 472.4256 0.0381 3.8127 -0.5743     
## 7    0.2985  0.0893 0.0084 1.1012   0.0060 520.4364 0.0397 3.9673  0.0893     
## 8    0.3347  0.1025 0.0112 1.1114   0.0060 479.9229 0.0443 4.4341  0.1027     
## 9    0.0787  0.0461 0.0022 1.1050   0.0060 517.3624 0.0402 4.0206  0.0461     
## 10   0.8772  0.2019 0.0419 1.0734   0.0058 522.5130 0.0443 4.4338  0.2021     
## 11  -0.5283 -0.0928 0.0090 1.0859   0.0058 445.4642 0.0435 4.3538 -0.0929     
## 12   0.7028  0.1718 0.0309 1.0897   0.0059 519.6958 0.0443 4.4320  0.1721     
## 13   1.5047  0.2939 0.0810 0.9872   0.0053 338.7830 0.0445 4.4522  0.2931     
## 14  -1.7136 -0.3875 0.1363 0.9251   0.0049 496.4310 0.0353 3.5308 -0.3907     
## 15   0.8789  0.2010 0.0415 1.0725   0.0058 522.5865 0.0438 4.3839  0.2012     
## 16  -0.3086 -0.0386 0.0016 1.0990   0.0059 497.2894 0.0424 4.2350 -0.0386     
## 17   0.0238  0.0298 0.0009 1.0868   0.0059 520.6986 0.0333 3.3304  0.0296     
## 18   0.2770  0.0880 0.0082 1.1074   0.0060 517.7329 0.0420 4.1965  0.0881     
## 19   0.5083  0.1313 0.0181 1.0969   0.0059 521.4169 0.0413 4.1337  0.1313     
## 20   0.9818  0.2146 0.0468 1.0598   0.0057 522.1870 0.0426 4.2602  0.2147     
## 21  -2.1406 -0.4041 0.1504 0.8937   0.0048 506.5283 0.0252 2.5213 -0.4152     
## 22   0.4544  0.1248 0.0165 1.1047   0.0060 516.5492 0.0436 4.3568  0.1250     
## 23   0.4890  0.1291 0.0176 1.0998   0.0059 520.6466 0.0422 4.2201  0.1293     
## 24  -0.2742 -0.0302 0.0010 1.0939   0.0059 512.7552 0.0395 3.9459 -0.0302     
## 25   0.5264  0.1373 0.0199 1.0994   0.0059 520.2911 0.0429 4.2922  0.1375

2.2.4.6 Forest Plots

## Reliability of factor 1
#pdf(file = "ForestPlots-TwoFactorModel3.pdf", onefile = TRUE)
forest.rma(MLREMCSC.tfmc.srel1,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfmc.srel1$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Reliability Factor 1 (Model 3)")

## Reliability of factor 2

forest.rma(MLREMCSC.tfmc.srel2,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfmc.srel2$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Reliability Factor 2 (Model 3)")

## Composite reliability

forest.rma(MLREMCSC.tfmc.srelcr,
           addfit = TRUE,
           order = "obs",
           header = "Reference",
           refline = 0,
           rows = 1:MLREMCSC.tfmc.srelcr$k,
           digits = 3,
           level = 95,
           cex = .6,
           xlab = "Omega Coefficient",
           main = "Composite Reliability (Model 3)")

#dev.off()

3 R session info

sessionInfo()
## R version 4.3.1 (2023-06-16)
## Platform: aarch64-apple-darwin20 (64-bit)
## Running under: macOS Ventura 13.4.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/Chicago
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] dmetar_0.1.0        semPower_2.0.1      devtools_2.4.5     
##  [4] usethis_2.2.2       dplyr_1.1.2         lavaan_0.6-16      
##  [7] clubSandwich_0.5.10 robumeta_2.1        metafor_4.4-0      
## [10] numDeriv_2016.8-1.1 metadat_1.2-0       Matrix_1.6-1       
## [13] metaSEM_1.3.1       OpenMx_2.21.8       reshape2_1.4.4     
## [16] psych_2.3.6         pacman_0.5.1       
## 
## loaded via a namespace (and not attached):
##   [1] mathjaxr_1.6-0     rstudioapi_0.15.0  jsonlite_1.8.7    
##   [4] magrittr_2.0.3     modeltools_0.2-23  farver_2.1.1      
##   [7] nloptr_2.0.3       rmarkdown_2.24     fs_1.6.3          
##  [10] vctrs_0.6.4        memoise_2.0.1      minqa_1.2.6       
##  [13] CompQuadForm_1.4.3 htmltools_0.5.6    sass_0.4.7        
##  [16] bslib_0.5.1        htmlwidgets_1.6.2  plyr_1.8.8        
##  [19] poibin_1.5         sandwich_3.0-2     zoo_1.8-12        
##  [22] cachem_1.0.8       mime_0.12          lifecycle_1.0.3   
##  [25] pkgconfig_2.0.3    R6_2.5.1           fastmap_1.1.1     
##  [28] shiny_1.7.5        magic_1.6-1        digest_0.6.33     
##  [31] colorspace_2.1-0   ps_1.7.5           pkgload_1.3.3     
##  [34] ellipse_0.5.0      labeling_0.4.3     fansi_1.0.5       
##  [37] abind_1.4-5        compiler_4.3.1     remotes_2.4.2.1   
##  [40] withr_2.5.1        meta_6.5-0         pkgbuild_1.4.2    
##  [43] highr_0.10         MASS_7.3-60        sessioninfo_1.2.2 
##  [46] tools_4.3.1        pbivnorm_0.6.0     prabclus_2.3-3    
##  [49] httpuv_1.6.11      nnet_7.3-19        glue_1.6.2        
##  [52] quadprog_1.5-8     callr_3.7.3        nlme_3.1-162      
##  [55] promises_1.2.1     grid_4.3.1         cluster_2.1.4     
##  [58] generics_0.1.3     gtable_0.3.4       class_7.3-22      
##  [61] xml2_1.3.5         utf8_1.2.4         flexmix_2.3-19    
##  [64] ggrepel_0.9.4      pillar_1.9.0       stringr_1.5.0     
##  [67] later_1.3.1        robustbase_0.99-0  splines_4.3.1     
##  [70] lattice_0.21-8     tidyselect_1.2.0   pbapply_1.7-2     
##  [73] miniUI_0.1.1.1     knitr_1.43         gridExtra_2.3     
##  [76] stats4_4.3.1       xfun_0.40          diptest_0.76-0    
##  [79] DEoptimR_1.1-3     MuMIn_1.47.5       netmeta_2.8-2     
##  [82] stringi_1.7.12     yaml_2.3.7         boot_1.3-28.1     
##  [85] evaluate_0.22      codetools_0.2-19   kernlab_0.9-32    
##  [88] tibble_3.2.1       cli_3.6.1          RcppParallel_5.1.7
##  [91] xtable_1.8-4       munsell_0.5.0      processx_3.8.2    
##  [94] jquerylib_0.1.4    Rcpp_1.0.11        parallel_4.3.1    
##  [97] ellipsis_0.3.2     ggplot2_3.4.4      prettyunits_1.2.0 
## [100] mclust_6.0.0       profvis_0.3.8      urlchecker_1.0.1  
## [103] lme4_1.1-34        mvtnorm_1.2-3      scales_1.2.1      
## [106] purrr_1.0.2        crayon_1.5.2       fpc_2.2-10        
## [109] rlang_1.1.1        mnormt_2.1.1