Molly_DATA_PATH <- here("data/processed/syntactic_bootstrapping_tidy_data_molly.csv") 
Anjie_DATA_PATH <- here("data/processed/syntactic_bootstrapping_tidy_data.csv")

ma_data_Molly <- read_csv(Molly_DATA_PATH) %>%
  mutate(row_id = 1:n()) %>%
  mutate(agent_argument_type2 = case_when(str_detect(agent_argument_type, "pronoun") ~ "pronoun",
                                          TRUE ~ "noun"),
         transitive_event_type2 = case_when(transitive_event_type == "direct_caused_action" ~ "direct_caused_action",
                                            TRUE ~ "indirect_caused_action"))
## Parsed with column specification:
## cols(
##   .default = col_character(),
##   se = col_double(),
##   mean_age = col_double(),
##   productive_vocab_mean = col_double(),
##   productive_vocab_median = col_double(),
##   n_train_test_pair = col_double(),
##   n_test_trial_per_pair = col_double(),
##   n_repetitions_sentence = col_double(),
##   n_repetitions_video = col_double(),
##   inclusion_certainty = col_double(),
##   n_1 = col_double(),
##   x_1 = col_double(),
##   x_2 = col_double(),
##   x_2_raw = col_double(),
##   sd_1 = col_double(),
##   sd_2 = col_double(),
##   sd_2_raw = col_double(),
##   t = col_double(),
##   d = col_double(),
##   d_calc = col_double(),
##   d_var_calc = col_double()
##   # ... with 1 more columns
## )
## See spec(...) for full column specifications.
ma_data_Anjie <- read_csv(Anjie_DATA_PATH) %>%
  mutate(row_id = 1:n()) %>%
  mutate(agent_argument_type2 = case_when(str_detect(agent_argument_type, "pronoun") ~ "pronoun",
                                          TRUE ~ "noun"),
         transitive_event_type2 = case_when(transitive_event_type == "direct_caused_action" ~ "direct_caused_action",
                                            TRUE ~ "indirect_caused_action"))
## Parsed with column specification:
## cols(
##   .default = col_character(),
##   se = col_double(),
##   mean_age = col_double(),
##   productive_vocab_mean = col_double(),
##   productive_vocab_median = col_double(),
##   n_train_test_pair = col_double(),
##   n_test_trial_per_pair = col_double(),
##   n_repetitions_sentence = col_double(),
##   n_repetitions_video = col_double(),
##   inclusion_certainty = col_double(),
##   n_1 = col_double(),
##   x_1 = col_double(),
##   x_2 = col_double(),
##   x_2_raw = col_double(),
##   sd_1 = col_double(),
##   sd_2 = col_double(),
##   sd_2_raw = col_double(),
##   t = col_double(),
##   d = col_double(),
##   d_calc = col_double(),
##   d_var_calc = col_double()
##   # ... with 1 more columns
## )
## See spec(...) for full column specifications.

Basic Check

d_calc

summary(comparedf(data.frame(ma_data_Molly$d_calc), data.frame(ma_data_Anjie$d_var_calc)))
## 
## 
## Table: Summary of data.frames
## 
## version   arg                                     ncol   nrow
## --------  -------------------------------------  -----  -----
## x         data.frame(ma_data_Molly$d_calc)           1     53
## y         data.frame(ma_data_Anjie$d_var_calc)       1     53
## 
## 
## 
## Table: Summary of overall comparison
## 
## statistic                                                      value
## ------------------------------------------------------------  ------
## Number of by-variables                                             0
## Number of non-by variables in common                               0
## Number of variables compared                                       0
## Number of variables in x but not y                                 1
## Number of variables in y but not x                                 1
## Number of variables compared with some values unequal              0
## Number of variables compared with all values equal                 0
## Number of observations in common                                  53
## Number of observations in x but not y                              0
## Number of observations in y but not x                              0
## Number of observations with some compared variables unequal        0
## Number of observations with all compared variables equal          53
## Number of values unequal                                           0
## 
## 
## 
## Table: Variables not shared
## 
## version   variable                    position  class   
## --------  -------------------------  ---------  --------
## x         ma_data_Molly.d_calc               1  numeric 
## y         ma_data_Anjie.d_var_calc           1  numeric 
## 
## 
## 
## Table: Other variables not compared
## 
## |                                |
## |:-------------------------------|
## |No other variables not compared |
## 
## 
## 
## Table: Observations not shared
## 
## |                           |
## |:--------------------------|
## |No observations not shared |
## 
## 
## 
## Table: Differences detected by variable
## 
## |                                    |
## |:-----------------------------------|
## |No differences detected by variable |
## 
## 
## 
## Table: Differences detected
## 
## |                        |
## |:-----------------------|
## |No differences detected |
## 
## 
## 
## Table: Non-identical attributes
## 
## |                            |
## |:---------------------------|
## |No non-identical attributes |

d_var_calc

summary(comparedf(data.frame(ma_data_Molly$d_var_calc), data.frame(ma_data_Anjie$d_var_calc)))
## 
## 
## Table: Summary of data.frames
## 
## version   arg                                     ncol   nrow
## --------  -------------------------------------  -----  -----
## x         data.frame(ma_data_Molly$d_var_calc)       1     53
## y         data.frame(ma_data_Anjie$d_var_calc)       1     53
## 
## 
## 
## Table: Summary of overall comparison
## 
## statistic                                                      value
## ------------------------------------------------------------  ------
## Number of by-variables                                             0
## Number of non-by variables in common                               0
## Number of variables compared                                       0
## Number of variables in x but not y                                 1
## Number of variables in y but not x                                 1
## Number of variables compared with some values unequal              0
## Number of variables compared with all values equal                 0
## Number of observations in common                                  53
## Number of observations in x but not y                              0
## Number of observations in y but not x                              0
## Number of observations with some compared variables unequal        0
## Number of observations with all compared variables equal          53
## Number of values unequal                                           0
## 
## 
## 
## Table: Variables not shared
## 
## version   variable                    position  class   
## --------  -------------------------  ---------  --------
## x         ma_data_Molly.d_var_calc           1  numeric 
## y         ma_data_Anjie.d_var_calc           1  numeric 
## 
## 
## 
## Table: Other variables not compared
## 
## |                                |
## |:-------------------------------|
## |No other variables not compared |
## 
## 
## 
## Table: Observations not shared
## 
## |                           |
## |:--------------------------|
## |No observations not shared |
## 
## 
## 
## Table: Differences detected by variable
## 
## |                                    |
## |:-----------------------------------|
## |No differences detected by variable |
## 
## 
## 
## Table: Differences detected
## 
## |                        |
## |:-----------------------|
## |No differences detected |
## 
## 
## 
## Table: Non-identical attributes
## 
## |                            |
## |:---------------------------|
## |No non-identical attributes |

x_1

x_1_molly <- round(ma_data_Molly$x_1, digits = 2)
x_1_anjie <- round(ma_data_Anjie$x_1, digits = 2)
setdiff(x_1_anjie, x_1_molly)
## numeric(0)

sd_1

sd_1_molly <- round(ma_data_Molly$sd_1, digits = 2)
sd_1_anjie <- round(ma_data_Anjie$sd_1, digits = 2)
setdiff(sd_1_anjie, sd_1_molly)
## numeric(0)
setdiff(sd_1_molly, sd_1_anjie)
## numeric(0)

d_calc

negligible?

d_calc_molly <- round(ma_data_Molly$d_calc, digits = 2)
d_calc_anjie <- round(ma_data_Anjie$d_calc, digits = 2)
setdiff(d_calc_anjie, d_calc_molly)
## [1] -0.70  0.79  1.45 -1.01
setdiff(d_calc_molly,d_calc_anjie) 
## [1] -0.71  0.80  1.46 -0.95

d_var_calc

d_var_calc_molly <- round(ma_data_Molly$d_var_calc, digits = 2)
d_var_calc_anjie <- round(ma_data_Anjie$d_var_calc, digits = 2)
setdiff(d_var_calc_molly,d_var_calc_anjie)
## numeric(0)

Model Check

Small discrepancies but acceptable?

Base Model

base_mv_molly <-  rma.uni(d_calc,  d_var_calc,  
                       data=ma_data_Molly)


base_mv_anjie <-  rma.uni(d_calc,  d_var_calc,  
                        data=ma_data_Anjie)

summary(base_mv_molly)
## 
## Random-Effects Model (k = 53; tau^2 estimator: REML)
## 
##   logLik  deviance       AIC       BIC      AICc 
## -44.0984   88.1968   92.1968   96.0993   92.4417   
## 
## tau^2 (estimated amount of total heterogeneity): 0.1525 (SE = 0.0489)
## tau (square root of estimated tau^2 value):      0.3905
## I^2 (total heterogeneity / total variability):   63.86%
## H^2 (total variability / sampling variability):  2.77
## 
## Test for Heterogeneity:
## Q(df = 52) = 139.1246, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.3412  0.0693  4.9220  <.0001  0.2054  0.4771  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(base_mv_anjie)
## 
## Random-Effects Model (k = 53; tau^2 estimator: REML)
## 
##   logLik  deviance       AIC       BIC      AICc 
## -44.2354   88.4707   92.4707   96.3732   92.7156   
## 
## tau^2 (estimated amount of total heterogeneity): 0.1532 (SE = 0.0491)
## tau (square root of estimated tau^2 value):      0.3914
## I^2 (total heterogeneity / total variability):   63.96%
## H^2 (total variability / sampling variability):  2.78
## 
## Test for Heterogeneity:
## Q(df = 52) = 139.4183, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.3405  0.0694  4.9041  <.0001  0.2044  0.4766  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Multilevel Model

multi_mv_molly <-  rma.mv(d_calc,  d_var_calc,  
                         random = ~ 1 | short_cite/same_infant/row_id, data=ma_data_Molly)


multi__mv_anjie <-  rma.mv(d_calc,  d_var_calc,  
                         random = ~ 1 | short_cite/same_infant/row_id, data=ma_data_Anjie)

summary(multi_mv_molly)
## 
## Multivariate Meta-Analysis Model (k = 53; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc 
## -43.5676   87.1352   95.1352  102.9402   95.9863   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed                         factor 
## sigma^2.1  0.0251  0.1584     15     no                     short_cite 
## sigma^2.2  0.1351  0.3675     52     no         short_cite/same_infant 
## sigma^2.3  0.0000  0.0000     53     no  short_cite/same_infant/row_id 
## 
## Test for Heterogeneity:
## Q(df = 52) = 139.1246, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.3250  0.0841  3.8653  0.0001  0.1602  0.4898  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(multi__mv_anjie)
## 
## Multivariate Meta-Analysis Model (k = 53; method: REML)
## 
##   logLik  Deviance       AIC       BIC      AICc 
## -43.7029   87.4059   95.4059  103.2108   96.2569   
## 
## Variance Components:
## 
##             estim    sqrt  nlvls  fixed                         factor 
## sigma^2.1  0.0251  0.1584     15     no                     short_cite 
## sigma^2.2  0.1357  0.3684     52     no         short_cite/same_infant 
## sigma^2.3  0.0000  0.0000     53     no  short_cite/same_infant/row_id 
## 
## Test for Heterogeneity:
## Q(df = 52) = 139.4183, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.3242  0.0842  3.8518  0.0001  0.1592  0.4892  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Trim and Fill Check

trimfill(base_mv_molly)
## 
## Estimated number of missing studies on the left side: 11 (SE = 4.8066)
## 
## Random-Effects Model (k = 64; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.2891 (SE = 0.0720)
## tau (square root of estimated tau^2 value):      0.5377
## I^2 (total heterogeneity / total variability):   75.20%
## H^2 (total variability / sampling variability):  4.03
## 
## Test for Heterogeneity:
## Q(df = 63) = 210.6251, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.1871  0.0800  2.3393  0.0193  0.0303  0.3438  * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
trimfill(base_mv_anjie)
## 
## Estimated number of missing studies on the left side: 11 (SE = 4.8069)
## 
## Random-Effects Model (k = 64; tau^2 estimator: REML)
## 
## tau^2 (estimated amount of total heterogeneity): 0.2904 (SE = 0.0723)
## tau (square root of estimated tau^2 value):      0.5389
## I^2 (total heterogeneity / total variability):   75.28%
## H^2 (total variability / sampling variability):  4.05
## 
## Test for Heterogeneity:
## Q(df = 63) = 210.9602, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub 
##   0.1861  0.0801  2.3229  0.0202  0.0291  0.3431  * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1