These are the analyses for the entire dataset. For analyses including only effect sizes based on Pearson’s R, click here. See R Markdown file for code used to open data set and calculated effect size variances etc. It prints kind of messy, and I have suppressed it from this HTML file.

1 Determining Baseline Model

Fit baseline model to the full data set

m1 <- rma.mv(yi, vi, random=~1|Article/Comp, data=EffectSizes_short)
summary(m1)
## 
## Multivariate Meta-Analysis Model (k = 95; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc 
## -15.2654   30.5308   36.5308   44.1607   36.7975   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed        factor 
## sigma^2.1  0.0530  0.2302     30     no       Article 
## sigma^2.2  0.0027  0.0522     95     no  Article/Comp 
## 
## Test for Heterogeneity:
## Q(df = 94) = 249.8259, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.2904  0.0501  5.7965  <.0001  0.1922  0.3886  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Look at residuals

boxplot(resid(m1, method="rstandard"))

hist(resid(m1, method="rstandard"))

These residuals aren’t great.

Summary, controlling for correlated sampling error.

summary(robust(m1, cluster=EffectSizes_short$Article))
## 
## Number of outcomes:   95
## Number of clusters:   30
## Outcomes per cluster: 1-8 (mean: 3.17, median: 2)
## 
## Model Results:
## 
## estimate      se    tval  df    pval   ci.lb   ci.ub 
##   0.2904  0.0500  5.8039  29  <.0001  0.1880  0.3927  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Tests of publication bias.

regtest(rma(yi, vi, data=EffectSizes_short))
## 
## Regression Test for Funnel Plot Asymmetry
## 
## Model:     mixed-effects meta-regression model
## Predictor: standard error
## 
## Test for Funnel Plot Asymmetry: z = 2.4505, p = 0.0143
## Limit Estimate (as sei -> 0):   b = 0.1186 (CI: 0.0168, 0.2203)
funnel(rma(yi, vi, data=EffectSizes_short))

There are a lot of effect size variances that are quite large because a subset of the correlaions were calculated on very small sample sizes. These variances could potentially strongly influence the slope of the corrections for effect sizes. If we look at a histogram of the effect size standard errors, we see that all of the especially large effect sizes standard errors come from studies with sample sizes < = 10.

EffectSizes_short %>%
  mutate(
    small_n = ifelse(n <= 10, yes="N <= 10", no = "N > 10")
  ) %>%
  ggplot(aes(x = sei, fill=small_n)) + geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Given that, these effect sizes could strongly influence the publication bias correction, and that effect sizes based on 10 participants are likely not very informative to begin with. I have decided to drop these corrections from subsequent analyses.

Here I fit the model again, without those effect sizes.

m2 <- rma.mv(yi, vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(m2)
## 
## Multivariate Meta-Analysis Model (k = 77; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc 
##  11.8113  -23.6227  -17.6227  -10.6305  -17.2894   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed        factor 
## sigma^2.1  0.0443  0.2104     25     no       Article 
## sigma^2.2  0.0025  0.0502     77     no  Article/Comp 
## 
## Test for Heterogeneity:
## Q(df = 76) = 200.6366, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.2726  0.0489  5.5736  <.0001  0.1767  0.3684  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

and test for publication bias again

regtest(rma(yi, vi, data=EffectSizes_short2))
## 
## Regression Test for Funnel Plot Asymmetry
## 
## Model:     mixed-effects meta-regression model
## Predictor: standard error
## 
## Test for Funnel Plot Asymmetry: z = 3.4964, p = 0.0005
## Limit Estimate (as sei -> 0):   b = 0.0249 (CI: -0.0930, 0.1428)
funnel(rma(yi, vi, data=EffectSizes_short2))

The funnel plots and regression test still suggest publication bias, but there aren’t the disproporionately large effect sizes that would influence the publication bias correction.

boxplot(resid(m2, method="rstandard"))

hist(resid(m2, method="rstandard"))

The residuals look much better, if still a bit skewed.

Here’s a forest plot

forest(m2, slab=EffectSizes_short2$Article, xlim=c(-2.8,2.8))

Add variance to correct for publication bias

m3 <- rma.mv(yi, vi, mods=vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(m3)
## 
## Multivariate Meta-Analysis Model (k = 77; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc 
##  12.5781  -25.1561  -17.1561   -7.8862  -16.5847   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed        factor 
## sigma^2.1  0.0433  0.2080     25     no       Article 
## sigma^2.2  0.0025  0.0504     77     no  Article/Comp 
## 
## Test for Residual Heterogeneity:
## QE(df = 75) = 161.7020, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 1.2157, p-val = 0.2702
## 
## Model Results:
## 
##          estimate      se    zval    pval    ci.lb   ci.ub 
## intrcpt    0.1965  0.0841  2.3355  0.0195   0.0316  0.3614  * 
## mods       2.0704  1.8778  1.1026  0.2702  -1.6099  5.7508    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(resid(m3, method="rstandard"))

hist(resid(m3, method="rstandard"))

Summarize the above model, with cluster robust variance estimation, by article, to account for the correlated sampling errors within articles.

summary(robust(m3, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 23) = 0.8505, p-val = 0.3660
## 
## Model Results:
## 
##          estimate      se    tval  df    pval    ci.lb   ci.ub 
## intrcpt    0.1965  0.0887  2.2147  23  0.0370   0.0130  0.3801  * 
## mods       2.0704  2.2450  0.9222  23  0.3660  -2.5738  6.7146    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
predict(robust(m3, cluster=EffectSizes_short2$Article), 0,transf=transf.ztor) # get estimates on scale of r. 
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1940 0.0130 0.3628 -0.2754 0.5888

2 Tests of the Moderators

Here are all of the analyses of the moderator variables. The code for each moderator is basically the same, so I have annotated it for the model testing the effect of modality only.

2.1 Modality: Comprehension or Production

m_modal <- rma.mv(yi, vi, mods= ~ Modalitys*vi, random=~1|Article/Comp, data=EffectSizes_short2) # fit multilevel model. 
summary(robust(m_modal, cluster=EffectSizes_short2$Article)) # get robust standard errors
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 5.6576, p-val = 0.0053
## 
## Model Results:
## 
##                estimate      se     tval  df    pval    ci.lb    ci.ub 
## intrcpt          0.2071  0.0912   2.2719  21  0.0337   0.0175   0.3967    * 
## Modalitys1       0.0648  0.0166   3.9075  21  0.0008   0.0303   0.0993  *** 
## vi               1.8178  2.3850   0.7622  21  0.4544  -3.1420   6.7776      
## Modalitys1:vi   -1.5354  0.5995  -2.5610  21  0.0182  -2.7822  -0.2886    * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_modal, cluster=EffectSizes_short2$Article), btt=2) # F test with robust standard errors
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 15.2682, p-val = 0.0008
predict(robust(m_modal, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor) # get means and CIs for level 1 (assuming 0 se)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.2654 0.0836 0.4301 -0.2018 0.6342
predict(robust(m_modal, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor) # get means and CIs for level -1 (assuming 0 se)
## 
##    pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1413 -0.0548 0.3270 -0.3256 0.5528
table(EffectSizes_short2$Modalitys)
## 
## comp prod 
##   30   47
contrasts(EffectSizes_short2$Modalitys) # Just a sanity check: which is -1 and which is 1
##      [,1]
## comp    1
## prod   -1
EffectSizes_short2 %>% # get descriptive statistics for each level of the variable. 
  group_by(Modalitys) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )

2.2 Measure: Vocab vs Other

m_measure <- rma.mv(yi, vi, mods= ~ Measures*vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(robust(m_measure, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 3.5611, p-val = 0.0316
## 
## Model Results:
## 
##               estimate      se     tval  df    pval    ci.lb   ci.ub 
## intrcpt         0.2041  0.0929   2.1978  21  0.0393   0.0110  0.3972   * 
## Measures1       0.0317  0.0108   2.9434  21  0.0078   0.0093  0.0541  ** 
## vi              2.0221  2.1402   0.9448  21  0.3555  -2.4288  6.4729     
## Measures1:vi   -0.3147  0.7604  -0.4139  21  0.6832  -1.8961  1.2667     
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_measure, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 8.6639, p-val = 0.0078
predict(robust(m_measure, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.2315 0.0506 0.3977 -0.2540 0.6239
predict(robust(m_measure, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor)
## 
##    pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1707 -0.0309 0.3590 -0.3186 0.5882
table(EffectSizes_short2$Measures)
## 
## Other Vocab 
##    27    50
contrasts(EffectSizes_short2$Measures)
##       [,1]
## Other    1
## Vocab   -1
EffectSizes_short2 %>%
  group_by(Measures) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )

2.3 Pointing Context: Gesture Alone vs Gesture and Speech Combination

m_context <- rma.mv(yi, vi, mods= ~ Just_Pointings*vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(robust(m_context, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 13.7663, p-val < .0001
## 
## Model Results:
## 
##                     estimate      se     tval  df    pval    ci.lb    ci.ub 
## intrcpt               0.0699  0.0898   0.7780  21  0.4452  -0.1169   0.2566 
## Just_Pointings1       0.1319  0.0334   3.9532  21  0.0007   0.0625   0.2013 
## vi                    6.3399  2.1775   2.9116  21  0.0083   1.8116  10.8681 
## Just_Pointings1:vi   -4.6652  1.6018  -2.9126  21  0.0083  -7.9963  -1.3342 
##  
## intrcpt 
## Just_Pointings1     *** 
## vi                   ** 
## Just_Pointings1:vi   ** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_context, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 15.6282, p-val = 0.0007
table(EffectSizes_short2$Just_Pointings)
## 
##             pointing_alone Gesture_Speech_Combination 
##                         70                          7
predict(robust(m_context, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1991 0.0021 0.3812 -0.2989 0.6119
predict(robust(m_context, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor)
## 
##     pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  -0.0620 -0.2551 0.1359 -0.5167 0.4200
contrasts(EffectSizes_short2$Just_Pointings)
##                            [,1]
## pointing_alone                1
## Gesture_Speech_Combination   -1
EffectSizes_short2 %>%
  group_by(Just_Pointings) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )

2.4 Age of Pointing. < 18 month or > 18 month.

m_pointing <- rma.mv(yi, vi, mods= ~ Age_Pointings*vi , random=~1|Article/Comp, data=EffectSizes_short2)
summary(robust(m_pointing, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 31.2276, p-val < .0001
## 
## Model Results:
## 
##                    estimate      se    tval  df    pval    ci.lb   ci.ub 
## intrcpt              0.2733  0.0934  2.9273  21  0.0080   0.0791  0.4674   ** 
## Age_Pointings1       0.0544  0.0077  7.0699  21  <.0001   0.0384  0.0704  *** 
## vi                   1.4229  2.1185  0.6717  21  0.5091  -2.9827  5.8284      
## Age_Pointings1:vi    0.9696  0.6970  1.3910  21  0.1788  -0.4799  2.4190      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_pointing, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 49.9831, p-val < .0001
predict(robust(m_pointing, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.3165 0.1382 0.4749 -0.1598 0.6732
predict(robust(m_pointing, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.2155 0.0181 0.3966 -0.2681 0.6123
contrasts(EffectSizes_short2$Age_Pointings)
##          [,1]
## Over_18     1
## Under 18   -1
EffectSizes_short2 %>%
  group_by(Age_Pointings) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )

2.5 Language: English, Mixed, Other

m_language <- rma.mv(yi, vi, mods= ~ Languages*vi, random=~1|Article/Comp, data=EffectSizes_short2)
## Warning: Redundant predictors dropped from the model.
summary(robust(m_language, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:5):
## F(df1 = 4, df2 = 20) = 12.9868, p-val < .0001
## 
## Model Results:
## 
##                estimate      se     tval  df    pval    ci.lb   ci.ub 
## intrcpt          0.1071  0.0614   1.7453  20  0.0963  -0.0209  0.2352  . 
## Languages1       0.1804  0.0893   2.0193  20  0.0571  -0.0060  0.3667  . 
## Languages2      -0.0914  0.0541  -1.6881  20  0.1069  -0.2043  0.0215    
## vi               2.7234  1.9068   1.4282  20  0.1687  -1.2542  6.7010    
## Languages1:vi   -1.2896  1.9068  -0.6763  20  0.5066  -5.2672  2.6880    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_language, cluster=EffectSizes_short2$Article), btt=c(2, 3))
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 20) = 2.9318, p-val = 0.0765
table(EffectSizes_short2$Languages)
## 
## English   Mixed   Other 
##      37       8      32
predict(robust(m_language, cluster=EffectSizes_short2$Article), c(-1, -1, 0, 0), transf=transf.ztor) #Other
## 
##    pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  0.0181 -0.2510 0.2847 -0.4645 0.4925
predict(robust(m_language, cluster=EffectSizes_short2$Article), c(1, 0, 0, 0), transf=transf.ztor) #English
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.2799 0.0413 0.4882 -0.2158 0.6608
predict(robust(m_language, cluster=EffectSizes_short2$Article), c(0, 1, 0, 0), transf=transf.ztor) #Mixed
## 
##    pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  0.0157 -0.0021 0.0336 -0.4033 0.4293
contrasts(EffectSizes_short2$Languages)
##         [,1] [,2]
## English    1    0
## Mixed      0    1
## Other     -1   -1
EffectSizes_short2 %>%
  group_by(Languages) %>%
  summarise(
    N_part = sum(n),
    K = n(), 
    mean = median(yi)
  )

2.6 Country: North America/Other

m_country <- rma.mv(yi, vi, mods= ~ Countrys*vi , random=~1|Article/Comp, data=EffectSizes_short2)
## Warning: Redundant predictors dropped from the model.
summary(robust(m_country, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 1.9682, p-val = 0.1497
## 
## Model Results:
## 
##               estimate      se     tval  df    pval    ci.lb   ci.ub 
## intrcpt         0.1465  0.0929   1.5773  21  0.1297  -0.0467  0.3397    
## Countrys1       0.1825  0.0929   1.9645  21  0.0628  -0.0107  0.3756  . 
## vi              3.0190  2.1642   1.3949  21  0.1776  -1.4818  7.5197    
## Countrys1:vi   -2.7592  2.1642  -1.2749  21  0.2163  -7.2599  1.7415    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_country, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 3.8593, p-val = 0.0628
predict(robust(m_country, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.3176 0.0673 0.5303 -0.1597 0.6746
predict(robust(m_country, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor)
## 
##     pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  -0.0360 -0.3097 0.2433 -0.4919 0.4354
contrasts(EffectSizes_short2$Countrys)
##               [,1] [,2]
## North America    1    0
## Mixed            0    1
## Other           -1   -1
EffectSizes_short2 %>%
  group_by(Countrys) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )

2.7 Pointing Measure: Frequency/Onset

m_fo <- rma.mv(yi, vi, mods= ~ Pointing_Measures + vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(robust(m_fo, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:3):
## F(df1 = 2, df2 = 22) = 0.4055, p-val = 0.6715
## 
## Model Results:
## 
##                     estimate      se    tval  df    pval    ci.lb   ci.ub 
## intrcpt               0.1829  0.1135  1.6113  22  0.1214  -0.0525  0.4182    
## Pointing_Measures1    0.0189  0.0656  0.2874  22  0.7765  -0.1172  0.1549    
## vi                    2.1323  2.3753  0.8977  22  0.3791  -2.7938  7.0584    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(robust(m_fo, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 22) = 0.0826, p-val = 0.7765
predict(robust(m_fo, cluster=EffectSizes_short2$Article), c(1, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1990 0.0212 0.3647 -0.2805 0.5991
predict(robust(m_fo, cluster=EffectSizes_short2$Article), c(-1, 0), transf=transf.ztor)
## 
##    pred   ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1626 -0.1736 0.4648 -0.3834 0.6243
contrasts(EffectSizes_short2$Pointing_Measures)
##           [,1]
## frequency    1
## onset       -1
EffectSizes_short2 %>%
  group_by(Pointing_Measures) %>%
  summarise(
    N_part = sum(n),
    K = n(),
    S = sum(as.integer(Pointing_Measures)),
    mean(yi)
  )
# I got strange predicted values when I allowed the interaction between variance and condition, so I removed the interaction. 

2.8 Design: Concurrent/Longitudinal

m_design <- rma.mv(yi, vi, mods= ~ Designs*vi, random=~1|Article/Comp, data=EffectSizes_short2)
summary(robust(m_design, cluster=EffectSizes_short2$Article))
## 
## Number of outcomes:   77
## Number of clusters:   25
## Outcomes per cluster: 1-8 (mean: 3.08, median: 2)
## 
## Test of Moderators (coefficients 2:4):
## F(df1 = 3, df2 = 21) = 2.5581, p-val = 0.0825
## 
## Model Results:
## 
##              estimate      se     tval  df    pval    ci.lb   ci.ub 
## intrcpt        0.2084  0.0890   2.3412  21  0.0292   0.0233  0.3935  * 
## Designs1       0.0198  0.0159   1.2454  21  0.2267  -0.0133  0.0528    
## vi             1.9085  2.0413   0.9349  21  0.3605  -2.3367  6.1537    
## Designs1:vi   -0.0697  1.1315  -0.0616  21  0.9515  -2.4227  2.2834    
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
table(EffectSizes_short2$Designs)
## 
##   Concurrent Longitudinal 
##           24           53
anova(robust(m_design, cluster=EffectSizes_short2$Article), btt=2)
## 
## Test of Moderators (coefficient 2):
## F(df1 = 1, df2 = 21) = 1.5511, p-val = 0.2267
predict(robust(m_design, cluster=EffectSizes_short2$Article), c(1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.2243 0.0209 0.4099 -0.2601 0.6185
predict(robust(m_design, cluster=EffectSizes_short2$Article), c(-1, 0, 0), transf=transf.ztor)
## 
##    pred  ci.lb  ci.ub   pi.lb  pi.ub 
##  0.1864 0.0221 0.3409 -0.2823 0.5833
contrasts(EffectSizes_short2$Designs)
##              [,1]
## Concurrent      1
## Longitudinal   -1
EffectSizes_short2 %>%
  group_by(Designs) %>%
  summarise(
    N_part = sum(n),
    K = n()
  )
sessionInfo()
## R version 4.1.0 (2021-05-18)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19043)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=Dutch_Netherlands.1252  LC_CTYPE=Dutch_Netherlands.1252   
## [3] LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C                      
## [5] LC_TIME=Dutch_Netherlands.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] forcats_0.5.1   stringr_1.4.0   dplyr_1.0.7     purrr_0.3.4    
##  [5] tidyr_1.1.3     tibble_3.1.3    ggplot2_3.3.5   tidyverse_1.3.1
##  [9] metafor_3.0-2   Matrix_1.3-3    readr_2.0.0    
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.7        lubridate_1.7.10  lattice_0.20-44   assertthat_0.2.1 
##  [5] digest_0.6.27     utf8_1.2.2        R6_2.5.0          cellranger_1.1.0 
##  [9] backports_1.2.1   reprex_2.0.1      evaluate_0.14     highr_0.9        
## [13] httr_1.4.2        pillar_1.6.2      rlang_0.4.11      readxl_1.3.1     
## [17] rstudioapi_0.13   jquerylib_0.1.4   rmarkdown_2.9     mathjaxr_1.4-0   
## [21] labeling_0.4.2    bit_4.0.4         munsell_0.5.0     broom_0.7.9      
## [25] compiler_4.1.0    modelr_0.1.8      xfun_0.24         pkgconfig_2.0.3  
## [29] htmltools_0.5.1.1 tidyselect_1.1.1  fansi_0.5.0       crayon_1.4.1     
## [33] tzdb_0.1.2        dbplyr_2.1.1      withr_2.4.2       grid_4.1.0       
## [37] nlme_3.1-152      jsonlite_1.7.2    gtable_0.3.0      lifecycle_1.0.0  
## [41] DBI_1.1.1         magrittr_2.0.1    scales_1.1.1      cli_3.0.1        
## [45] stringi_1.7.3     vroom_1.5.3       farver_2.1.0      fs_1.5.0         
## [49] xml2_1.3.2        bslib_0.2.5.1     ellipsis_0.3.2    generics_0.1.0   
## [53] vctrs_0.3.8       tools_4.1.0       bit64_4.0.5       glue_1.4.2       
## [57] hms_1.1.0         parallel_4.1.0    yaml_2.2.1        colorspace_2.0-2 
## [61] rvest_1.0.1       knitr_1.33        haven_2.4.3       sass_0.4.0