This script is the set of analyses for the Cog Sci paper.

require(knitr)
## Loading required package: knitr
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2     ✓ purrr   0.3.4
## ✓ tibble  3.0.4     ✓ dplyr   1.0.2
## ✓ tidyr   1.1.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(brms)
## Loading required package: Rcpp
## Loading 'brms' package (version 2.13.5). Useful instructions
## can be found by typing help('brms'). A more detailed introduction
## to the package is available through vignette('brms_overview').
## 
## Attaching package: 'brms'
## The following object is masked from 'package:stats':
## 
##     ar
library(lme4)
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
## 
## Attaching package: 'lme4'
## The following object is masked from 'package:brms':
## 
##     ngrps
library(mcmcplots)
## Loading required package: coda
library(tidybayes)
## 
## Attaching package: 'tidybayes'
## The following objects are masked from 'package:brms':
## 
##     dstudent_t, pstudent_t, qstudent_t, rstudent_t
library(ggthemes)
theme_set(theme_minimal())

Open eye-tracking data: There are three separate datasets – one for RTs, one for Proportions and one for pre-onset proportion of looks to target.

LT_30mo <- read_csv("Data_Processing/LT_30mo.csv") 
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   Target = col_character(),
##   ParticipantName = col_character(),
##   MediaName = col_character(),
##   AOI = col_character(),
##   Blind_ID = col_character()
## )
## See spec(...) for full column specifications.
nrow(data.frame(unique(LT_30mo $ParticipantName))) 
## [1] 100
RT_30mo  <- read_csv("Data_Processing/RT_30mo.csv") 
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   Target = col_character(),
##   ParticipantName = col_character(),
##   MediaName = col_character(),
##   FirstAOI = col_character(),
##   Blind_ID = col_character(),
##   TargetSide = col_character()
## )
## See spec(...) for full column specifications.
nrow(data.frame(unique(RT_30mo $ParticipantName))) 
## [1] 100
Prior_looks <- read_csv("Data_Processing/Prior_looks.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   Target = col_character(),
##   ParticipantName = col_character(),
##   MediaName = col_character(),
##   AOI = col_character(),
##   Blind_ID = col_character()
## )
## See spec(...) for full column specifications.

Frequency for each word:

LT_30mo %>%
  group_by(Target) %>%
  summarise(
    Freq = mean(COCA_Freq_2)
  )
## `summarise()` ungrouping output (override with `.groups` argument)

Get average looks to target in pre-onset window, for each word averaged across participants, and participant-specific averages.

Prop_by_target <- Prior_looks %>%
                    group_by(Target) %>%
                    dplyr::summarize(
                    TargetProp = mean(Prop)
                    )
## `summarise()` ungrouping output (override with `.groups` argument)
Prop_by_target_part <- Prior_looks%>%
                       group_by(ParticipantName, Target) %>%
                       dplyr::summarize(
                       PartTargetProp = mean(Prop)
                       )
## `summarise()` regrouping output by 'ParticipantName' (override with `.groups` argument)
RT_30mo <- merge(RT_30mo, Prop_by_target, by="Target")
RT_30mo <- merge(RT_30mo, Prop_by_target_part, by=c("ParticipantName", "Target"))

LT_30mo <- merge(LT_30mo, Prop_by_target, by="Target")
LT_30mo <- merge(LT_30mo, Prop_by_target_part, by=c("ParticipantName", "Target"))

Median Split for Subgroup Analyses

RT_30mo%>%
  group_by(ParticipantName) %>%
  slice(1) %>%
  ungroup() %>%
  summarise(
    median = median(VocabTotal)
  )
RT_30mo$VocabSplit <- ifelse(RT_30mo$VocabTotal < 545, yes=0, no =1)
RT_30mo$VocabSplit <- factor(RT_30mo$VocabSplit, labels = c("low", "high"))
LT_30mo$VocabSplit <- ifelse(LT_30mo$VocabTotal < 545, yes=0, no =1)
LT_30mo$VocabSplit <- factor(LT_30mo$VocabSplit,labels = c("low", "high"))

First, analyse looks to target in pre onset window

Get average looks to target for each word prior to word onset.

Prior_looks %>%
  group_by(Target) %>%
  summarise(
    Prop_mean = mean(Prop, na.rm=TRUE), 
    Prop_sd = sd(Prop, na.rm=TRUE),
  )
## `summarise()` ungrouping output (override with `.groups` argument)

Transform proportions to remove 0s and 1s for beta distribution. Divide variables by 100 (otherwise regression coefficients are all .00 and difficult to interpret)

Prior_looks$Prop2 <- ((Prior_looks$Prop)*(Prior_looks$SamplesTotal-1) + 1/2)/Prior_looks$SamplesTotal
Prior_looks <- mutate(Prior_looks, 
Vocab.c100 = (Vocab.c)/100,
Median_Initial.c100 = Median_Initial.c/100,
AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
logfreq.c100 = logfreq.c/100,
TrialNumber.100 = TrialNumber/100) 

Beta Regression predicting average proportion of looks to target in the pre-onset window

mpo <- brm(Prop2 ~ 1 + (1 |ParticipantName) + (1 | Target),  family=Beta("logit", "log"), 
           data=Prior_looks, 
           chains=4, 
           iter=5000, 
           cores=8, 
           file="mpo", 
           save_all_pars=TRUE)
summary(mpo)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ 1 + (1 | ParticipantName) + (1 | Target) 
##    Data: Prior_looks (Number of observations: 3534) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##               Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)     0.13      0.02     0.08     0.17 1.00     3728     3234
## 
## ~Target (Number of levels: 18) 
##               Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)     0.44      0.09     0.31     0.65 1.00     2090     3789
## 
## Population-Level Effects: 
##           Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept     0.29      0.11     0.08     0.51 1.00     1300     2283
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     3.61      0.08     3.46     3.77 1.00    13695     7202
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

See if proportion of looks pre onset is predicted by substantive or methodological variables.

mpo_baseline <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 + 
                      (1 + Median_Initial.c100  + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100  || ParticipantName) + 
                      (1 + First_Instance + Vocab.c100 + TrialNumber.100  || Target), 
                    family=Beta("logit", "log"),
                    data=Prior_looks,
                    chains=4, 
                    iter=5000,  
                    cores=8, 
                    file="mpo_baseline",
                    save_all_pars=TRUE)
summary(mpo_baseline)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 + (1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target) 
##    Data: Prior_looks (Number of observations: 3534) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.04      0.03     0.00     0.10 1.00     2248
## sd(Median_Initial.c100)     0.28      0.20     0.01     0.73 1.00     4140
## sd(AoA.c100)                2.42      1.03     0.24     4.25 1.00     2308
## sd(First_Instance)          0.08      0.04     0.01     0.17 1.00     2324
## sd(TrialNumber.100)         0.78      0.11     0.56     1.00 1.00     4416
## sd(logfreq.c100)           10.53      3.49     1.88    16.47 1.00     1954
##                         Tail_ESS
## sd(Intercept)               4453
## sd(Median_Initial.c100)     4888
## sd(AoA.c100)                2725
## sd(First_Instance)          3533
## sd(TrialNumber.100)         6259
## sd(logfreq.c100)            1678
## 
## ~Target (Number of levels: 18) 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)           0.42      0.11     0.26     0.67 1.00     4507     5033
## sd(First_Instance)      0.10      0.06     0.01     0.22 1.00     2973     4675
## sd(Vocab.c100)          0.08      0.03     0.04     0.14 1.00     3544     3621
## sd(TrialNumber.100)     0.82      0.29     0.29     1.46 1.00     3710     3517
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               0.30      0.12     0.06     0.55 1.00     5475     5592
## Median_Initial.c100    -0.21      1.12    -2.38     2.03 1.00     5644     5490
## Vocab.c100              0.00      0.03    -0.05     0.06 1.00     8401     7562
## AoA.c100                0.63      3.93    -7.07     8.52 1.00     6130     5969
## First_Instance         -0.09      0.05    -0.20     0.02 1.00    13842     7965
## TrialNumber.100         0.21      0.31    -0.40     0.84 1.00     8751     7324
## logfreq.c100           -1.19     14.07   -29.34    26.62 1.00     4950     5050
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     3.83      0.09     3.66     4.01 1.00    10210     7399
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
marginal_effects(mpo_baseline, "First_Instance")
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.

hypothesis(mpo_baseline, "First_Instance < 0")
## Hypothesis Tests for class b:
##             Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (First_Instance) < 0    -0.09      0.05    -0.18        0      18.46
##   Post.Prob Star
## 1      0.95     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
mpo_1<- brm(Prop2 ~ Median_Initial.c100*Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 +
              (1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) + 
              (1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target), 
            family=Beta("logit", "log"), prior=prior(student_t(3,0,2), class=sd), 
            data=Prior_looks, chains=4, iter=5000, 
            file="mpo_1",
            cores=8, save_all_pars=TRUE)
summary(mpo_1)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 * Vocab.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 + (1 + Median_Initial.c100 + AoA.c100 + First_Instance + TrialNumber.100 + logfreq.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + TrialNumber.100 || Target) 
##    Data: Prior_looks (Number of observations: 3534) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.04      0.03     0.00     0.10 1.00     2367
## sd(Median_Initial.c100)     0.28      0.20     0.01     0.73 1.00     4810
## sd(AoA.c100)                2.28      1.03     0.21     4.18 1.00     2334
## sd(First_Instance)          0.09      0.04     0.01     0.17 1.00     2385
## sd(TrialNumber.100)         0.77      0.12     0.55     1.01 1.00     3674
## sd(logfreq.c100)           10.18      3.93     0.89    16.57 1.00     1530
##                         Tail_ESS
## sd(Intercept)               3568
## sd(Median_Initial.c100)     5194
## sd(AoA.c100)                2986
## sd(First_Instance)          4196
## sd(TrialNumber.100)         5044
## sd(logfreq.c100)            1715
## 
## ~Target (Number of levels: 18) 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)           0.42      0.11     0.26     0.67 1.00     5182     5967
## sd(First_Instance)      0.10      0.06     0.01     0.22 1.00     2968     5551
## sd(Vocab.c100)          0.08      0.03     0.04     0.14 1.00     3804     5094
## sd(TrialNumber.100)     0.81      0.29     0.28     1.42 1.00     4276     4148
## 
## Population-Level Effects: 
##                                Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept                          0.30      0.12     0.06     0.55 1.00
## Median_Initial.c100               -0.20      1.08    -2.35     1.93 1.00
## Vocab.c100                         0.00      0.03    -0.05     0.06 1.00
## AoA.c100                           0.69      3.84    -6.95     8.21 1.00
## First_Instance                    -0.09      0.05    -0.19     0.02 1.00
## TrialNumber.100                    0.21      0.31    -0.40     0.84 1.00
## logfreq.c100                      -1.28     13.76   -28.66    26.00 1.00
## Median_Initial.c100:Vocab.c100    -0.07      0.25    -0.56     0.43 1.00
##                                Bulk_ESS Tail_ESS
## Intercept                          6209     7228
## Median_Initial.c100                7086     6675
## Vocab.c100                         8804     6458
## AoA.c100                           7516     6589
## First_Instance                    14467     7801
## TrialNumber.100                   10396     7534
## logfreq.c100                       7516     6413
## Median_Initial.c100:Vocab.c100     9853     7400
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     3.83      0.09     3.65     4.01 1.00     8665     6800
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
remove(mpo)
remove(mpo_baseline)
remove(mpo_1)

Analysis of RTs

Get number of trials per participant

## 
##  4  6  7  8  9 10 11 12 13 14 15 16 17 18 19 
##  1  3  3  5  6 18 17  6 10  9 11  5  1  2  3

Re-scale variables to make coefficients more interpretable

RT_30mo <- mutate(RT_30mo,
  Vocab.c100 = Vocab.c/100,
  logfreq.c100 = logfreq.c/100,
  Median_Initial.c100 = Median_Initial.c/100,
  log_Median_Initial.c = (log(Median_Initial) - mean(log(Median_Initial)))/100, 
  AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
  Duration.c100 = (Duration-mean(Duration))/100,
  TrialNumber.c100 = (TrialNumber - median(TrialNumber))/100
  )
mean(RT_30mo$VocabTotal)
## [1] 524.9899
sd(RT_30mo$VocabTotal)
## [1] 109.8289

Summary statistics by words

RT_30mo %>%
  group_by(Target) %>%
  summarise(
    RT_mean = mean(RT, na.rm=TRUE), 
    RT_sd = sd(RT, na.rm=TRUE),
    count = n()
  )
## `summarise()` ungrouping output (override with `.groups` argument)

Baseline model – main effect of Initial density.

m0 <- brm(RT ~ Median_Initial.c100+ Vocab.c100  + First_Instance + PartTargetProp + TargetProp + logfreq.c100+ AoA.c100 + First_Instance + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp +  Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100|| ParticipantName) + (1 +  Vocab.c100 + First_Instance + PartTargetProp  || Target), prior=prior(student_t(3,0,2), class=sd), family="shifted_lognormal", file="m0",
           data=RT_30mo, chains=4, iter=5000, cores=8, save_all_pars=TRUE)

m0<- add_criterion(m0, "loo")
tibble(m0_k = m0$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m0_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

pp_check(m0)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.

summary(m0)
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + PartTargetProp + TargetProp + logfreq.c100 + AoA.c100 + First_Instance + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: RT_30mo (Number of observations: 1187) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.11      0.06     0.01     0.21 1.00      928
## sd(Median_Initial.c100)     0.99      0.31     0.27     1.57 1.00     2425
## sd(First_Instance)          0.10      0.06     0.01     0.21 1.00     2830
## sd(TargetProp)              0.14      0.09     0.01     0.34 1.00     1429
## sd(Duration.c100)           0.04      0.03     0.00     0.09 1.00     3094
## sd(PartTargetProp)          0.22      0.11     0.02     0.43 1.00     1045
## sd(logfreq.c100)            2.48      2.37     0.06     9.01 1.00     5606
## sd(AoA.c100)                1.69      1.03     0.09     3.81 1.00     2763
##                         Tail_ESS
## sd(Intercept)               3518
## sd(Median_Initial.c100)     2489
## sd(First_Instance)          4666
## sd(TargetProp)              3064
## sd(Duration.c100)           5270
## sd(PartTargetProp)          3516
## sd(logfreq.c100)            5577
## sd(AoA.c100)                4542
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.06      0.04     0.00     0.17 1.00     4018     5943
## sd(Vocab.c100)         0.03      0.02     0.00     0.08 1.00     4812     6493
## sd(First_Instance)     0.09      0.05     0.01     0.20 1.00     3294     5250
## sd(PartTargetProp)     0.14      0.09     0.01     0.33 1.00     3509     4933
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               6.30      0.23     5.83     6.77 1.00    10275     7536
## Median_Initial.c100     0.51      0.36    -0.20     1.22 1.00    11136     7109
## Vocab.c100             -0.08      0.03    -0.13    -0.02 1.00    10266     7057
## First_Instance         -0.01      0.04    -0.10     0.08 1.00    14296     7948
## PartTargetProp         -0.19      0.15    -0.49     0.10 1.00    17355     7885
## TargetProp             -0.86      0.44    -1.75     0.00 1.00    10564     7438
## logfreq.c100            3.64      4.30    -4.57    12.53 1.00    10761     7101
## AoA.c100                1.36      1.44    -1.39     4.40 1.00     9956     6506
## Duration.c100           0.01      0.03    -0.06     0.07 1.00     8757     6071
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.59      0.03     0.54     0.64 1.00     9441     7404
## ndt     142.94      9.89   122.02   160.59 1.00    12678     7676
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m0, "Median_Initial.c100  > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.51      0.36    -0.08     1.11      12.21
##   Post.Prob Star
## 1      0.92     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
RT_30mo%>%
  mutate(
    m0_k = m0$criteria$loo$diagnostics$pareto_k
  ) %>%
  filter(m0_k >= .70)

On some prior runs, I had large Pareto k’s, so I removed them and refit. I saved this code in case it needs to be used in the future. #{r} #m0b <- RT_30mo%>% # mutate( # m0_k = m0$criteria$loo$diagnostics$pareto_k # ) %>% # filter(m0_k < .70) %>% # brm(RT ~ Median_Initial.c100+Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + #PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + #PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + #First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m0b", data=., #prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE) #

#{r} #summary(m0b) #3 #hypothesis(m0b, "Median_Initial.c100 > 0") #

Add Interaction

m1 <- brm(RT ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp +  PartTargetProp + AoA.c100 + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + + Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100|| ParticipantName) + (1 +  Vocab.c100 + First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m1", data=RT_30mo, prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)

m1 <- add_criterion(m1, "loo")
summary(m1)
## Warning: There were 1 divergent transitions after warmup. Increasing adapt_delta
## above 0.8 may help. See http://mc-stan.org/misc/warnings.html#divergent-
## transitions-after-warmup
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 * Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + AoA.c100 + Duration.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + +Duration.c100 + PartTargetProp + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: RT_30mo (Number of observations: 1187) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.11      0.06     0.01     0.21 1.01     1157
## sd(Median_Initial.c100)     0.99      0.31     0.28     1.56 1.00     2565
## sd(First_Instance)          0.10      0.05     0.01     0.20 1.00     2733
## sd(TargetProp)              0.14      0.09     0.01     0.34 1.01     1424
## sd(Duration.c100)           0.04      0.03     0.00     0.10 1.00     2960
## sd(PartTargetProp)          0.22      0.11     0.01     0.43 1.00     1242
## sd(logfreq.c100)            2.55      2.38     0.08     8.99 1.00     4749
## sd(AoA.c100)                1.75      1.05     0.10     3.87 1.00     2517
##                         Tail_ESS
## sd(Intercept)               3076
## sd(Median_Initial.c100)     2770
## sd(First_Instance)          4623
## sd(TargetProp)              2542
## sd(Duration.c100)           5222
## sd(PartTargetProp)          3017
## sd(logfreq.c100)            5163
## sd(AoA.c100)                4716
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.06      0.04     0.00     0.17 1.00     3667     5562
## sd(Vocab.c100)         0.03      0.02     0.00     0.08 1.00     5153     6441
## sd(First_Instance)     0.09      0.05     0.01     0.20 1.00     3129     4908
## sd(PartTargetProp)     0.14      0.09     0.01     0.33 1.00     3055     5688
## 
## Population-Level Effects: 
##                                Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept                          6.30      0.23     5.85     6.76 1.00
## Median_Initial.c100                0.56      0.37    -0.15     1.28 1.00
## Vocab.c100                        -0.09      0.03    -0.14    -0.03 1.00
## First_Instance                    -0.01      0.05    -0.10     0.08 1.00
## logfreq.c100                       3.59      4.18    -4.52    12.17 1.00
## TargetProp                        -0.86      0.44    -1.74    -0.01 1.00
## PartTargetProp                    -0.20      0.15    -0.50     0.10 1.00
## AoA.c100                           1.36      1.43    -1.33     4.39 1.00
## Duration.c100                      0.01      0.03    -0.06     0.07 1.00
## Median_Initial.c100:Vocab.c100     0.36      0.20    -0.05     0.76 1.00
##                                Bulk_ESS Tail_ESS
## Intercept                         11353     7180
## Median_Initial.c100               10616     7240
## Vocab.c100                         9979     6893
## First_Instance                    13578     6915
## logfreq.c100                      11016     7427
## TargetProp                        11848     7187
## PartTargetProp                    16829     7872
## AoA.c100                           9808     5977
## Duration.c100                      9081     6405
## Median_Initial.c100:Vocab.c100    13301     7651
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.59      0.03     0.54     0.65 1.00     8851     7605
## ndt     143.51     10.03   121.76   161.36 1.00    11309     7151
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m1, "Median_Initial.c100:Vocab.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.36       0.2     0.02      0.7      23.69
##   Post.Prob Star
## 1      0.96    *
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(m1, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.56      0.37    -0.03     1.15      16.42
##   Post.Prob Star
## 1      0.94     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
tibble(m1_k = m1$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m1_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

1 observations had pareto ks above .7. #{r} #RT_30mo%>% # mutate( # m1_k = m1$criteria$loo$diagnostics$pareto_k # ) %>% # filter(m1_k >= .70) #

I have noticed that in some runs, this model has trouble – producing large R hat statistics, small effective sample sizes and Pareto’s Ks of 8 or so. It usually runs fine however and produces output similar to what is discussed in the paper. #{r} #m1b <- RT_30mo%>% # mutate( # m1_k = m1$criteria$loo$diagnostics$pareto_k # ) %>% # filter(m1_k < .69) %>% # brm(RT ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + #PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + #PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100|| ParticipantName) + (1 + Vocab.c100 + #First_Instance + PartTargetProp || Target), family="shifted_lognormal", file="m1b", data=., #prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE) #

#{r} #$summary(m1b) #

#{r} #hypothesis(m1b, "Median_Initial.c100:Vocab.c100 > 0") #hypothesis(m1b, "Median_Initial.c100 > 0") #

#{r} #m1b <- add_criterion(m1b, "loo") #tibble(m1b_k = m1b$criteria$loo$diagnostics$pareto_k) %>% # ggplot(aes(x=m1b_k)) + # geom_vline(xintercept=.5, linetype=2) + # stat_dots() #

library(patchwork)
p1 <- plot(marginal_effects(m0, "Median_Initial.c100"), points=TRUE) 
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.

p <- p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw()|
p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() + ylim(c(200, 1000))
ggsave(
 filename = "plot1.tiff",
 plot = p, 
 width=5.5, 
 height=2.5, 
 units="in",
 device="tiff",
 dpi=600
)
## Warning: Removed 82 rows containing missing values (geom_point).
p2 <- plot(marginal_effects(m1, "Median_Initial.c100:Vocab.c100"), points=TRUE)
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.

p2a <- p2[[1]] +  xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) 
p2b <- p2[[1]] +  xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low"))  + 
  ylim(c(200, 1000))
p.2 <- p2a + p2b + plot_layout(guides = "collect")
ggsave(
 filename = "plot2.tiff",
 plot = p.2, 
 width=6.2, 
 height=2.5, 
 units="in",
 device="tiff",
 dpi=600
)
## Warning: Removed 82 rows containing missing values (geom_point).
m1 %>%
  posterior_samples %>%
  select("b_Median_Initial.c100", "b_Median_Initial.c100:Vocab.c100") %>%
  mutate(
    Below_Mean =  b_Median_Initial.c100 - 1.28839*`b_Median_Initial.c100:Vocab.c100`,
    At_Mean = b_Median_Initial.c100 - 0.1901011*`b_Median_Initial.c100:Vocab.c100`, 
    Above_Mean = b_Median_Initial.c100 + 0.9081879*`b_Median_Initial.c100:Vocab.c100`
 ) %>%
  select(Below_Mean, At_Mean, Above_Mean) %>%
  pivot_longer(everything()) %>%
  group_by(name) %>%
  mean_hdi()
hypothesis(
  m1, "Median_Initial.c100 - 1.28839*Median_Initial.c100:Vocab.c100 > 0"
)
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.11      0.43     -0.6      0.8        1.5
##   Post.Prob Star
## 1       0.6     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(
  m1, "Median_Initial.c100 - 0.1901011*Median_Initial.c100:Vocab.c100 > 0"
)
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0      0.5      0.36     -0.1     1.08      11.66
##   Post.Prob Star
## 1      0.92     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(
  m1, "Median_Initial.c100  +0.9081879*Median_Initial.c100:Vocab.c100 > 0"
)
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.89      0.43      0.2     1.59      50.55
##   Post.Prob Star
## 1      0.98    *
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
544 - 1.28839*100
## [1] 415.161
544 - 0.190101*100
## [1] 524.9899
544 + 0.9081879*100
## [1] 634.8188
remove(m1)
remove(m1b)
## Warning in remove(m1b): object 'm1b' not found
remove(m0)

Split dataset by high and low vocbaulary groups

low_only <- filter(RT_30mo, VocabSplit=="low")
high_only <- filter(RT_30mo, VocabSplit=="high")
m2 <- brm(RT ~ Median_Initial.c100 + First_Instance + logfreq.c100  + TargetProp + PartTargetProp + Duration.c100 + Vocab.c100+ AoA.c100+ (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + PartTargetProp   + TargetProp + Duration.c100 + PartTargetProp + AoA.c100 || ParticipantName) + (1 +  First_Instance + Vocab.c100 + PartTargetProp  || Target), family="shifted_lognormal", data=high_only, chains=4, file="m2", iter=5000, cores=8, save_all_pars=TRUE)


m2 <- add_criterion(m2, "loo")
tibble(m2_k = m2$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m2_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

summary(m2)
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 + First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100 + Vocab.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + PartTargetProp + TargetProp + Duration.c100 + PartTargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target) 
##    Data: high_only (Number of observations: 601) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 51) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.11      0.07     0.01     0.25 1.00     1613
## sd(Median_Initial.c100)     0.89      0.45     0.07     1.77 1.00     2348
## sd(First_Instance)          0.09      0.06     0.00     0.23 1.00     3355
## sd(logfreq.c100)            6.25      5.56     0.18    19.34 1.00     2330
## sd(PartTargetProp)          0.22      0.13     0.01     0.49 1.00     1716
## sd(TargetProp)              0.18      0.12     0.01     0.43 1.00     1838
## sd(Duration.c100)           0.09      0.04     0.01     0.16 1.00     2206
## sd(AoA.c100)                2.07      1.35     0.10     5.00 1.00     2913
##                         Tail_ESS
## sd(Intercept)               3998
## sd(Median_Initial.c100)     3996
## sd(First_Instance)          4970
## sd(logfreq.c100)            4202
## sd(PartTargetProp)          3850
## sd(TargetProp)              3621
## sd(Duration.c100)           2621
## sd(AoA.c100)                4508
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.07      0.06     0.00     0.22 1.00     3417     4379
## sd(First_Instance)     0.12      0.08     0.01     0.29 1.00     3172     4909
## sd(Vocab.c100)         0.08      0.06     0.00     0.22 1.00     5189     5949
## sd(PartTargetProp)     0.16      0.12     0.01     0.44 1.00     3489     5250
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               6.36      0.32     5.73     7.02 1.00     8290     6418
## Median_Initial.c100     0.76      0.51    -0.25     1.77 1.00     6612     6933
## First_Instance         -0.07      0.07    -0.20     0.06 1.00    10517     7555
## logfreq.c100            2.52      6.18    -9.77    14.73 1.00     6515     5010
## TargetProp             -1.42      0.61    -2.67    -0.23 1.00     7141     6192
## PartTargetProp          0.03      0.23    -0.42     0.48 1.00    10578     7043
## Duration.c100          -0.01      0.05    -0.11     0.09 1.00     5957     5295
## Vocab.c100              0.06      0.10    -0.15     0.26 1.00    10300     7531
## AoA.c100                1.42      2.05    -2.41     5.76 1.00     6140     5797
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.63      0.04     0.56     0.71 1.00     6195     6251
## ndt     156.60     10.95   132.39   175.07 1.00     7604     6733
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m2, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.76      0.51    -0.07      1.6      14.38
##   Post.Prob Star
## 1      0.94     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
high_only%>%
  mutate(
    m1_k = m2$criteria$loo$diagnostics$pareto_k
  ) %>%
  filter(m1_k > .7)
m2b <- high_only%>%
  mutate(
    m1_k = m2$criteria$loo$diagnostics$pareto_k
  ) %>%
  filter(m1_k < .7) %>%
  brm(RT ~ Median_Initial.c100+ Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp +  PartTargetProp +  Duration.c100  +  AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100  + logfreq.c100 + AoA.c100|| ParticipantName) + (1 +  Vocab.c100 + First_Instance + PartTargetProp  || Target), family="shifted_lognormal", file="m2b", data=., prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
summary(m2b)
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: . (Number of observations: 600) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 51) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.12      0.07     0.00     0.25 1.00     1158
## sd(Median_Initial.c100)     0.87      0.45     0.06     1.76 1.00     1963
## sd(First_Instance)          0.09      0.06     0.00     0.22 1.00     2801
## sd(TargetProp)              0.19      0.12     0.01     0.44 1.00     1356
## sd(PartTargetProp)          0.22      0.13     0.01     0.48 1.00     1360
## sd(Duration.c100)           0.09      0.04     0.01     0.17 1.01     1577
## sd(logfreq.c100)            5.26      5.42     0.13    18.98 1.00     1622
## sd(AoA.c100)                1.92      1.30     0.10     4.77 1.00     2334
##                         Tail_ESS
## sd(Intercept)               2035
## sd(Median_Initial.c100)     2509
## sd(First_Instance)          3668
## sd(TargetProp)              3093
## sd(PartTargetProp)          3315
## sd(Duration.c100)           1925
## sd(logfreq.c100)            3113
## sd(AoA.c100)                3754
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.07      0.06     0.00     0.20 1.00     2812     4290
## sd(Vocab.c100)         0.07      0.05     0.00     0.20 1.00     4178     4601
## sd(First_Instance)     0.13      0.08     0.01     0.31 1.00     2482     3643
## sd(PartTargetProp)     0.15      0.11     0.01     0.42 1.00     2418     4096
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               6.36      0.32     5.74     7.01 1.00     5446     5627
## Median_Initial.c100     0.79      0.50    -0.22     1.77 1.00     4540     5613
## Vocab.c100              0.07      0.11    -0.14     0.28 1.00     6803     7056
## First_Instance         -0.06      0.07    -0.20     0.07 1.00     5296     5834
## logfreq.c100            2.68      6.04    -9.06    15.16 1.00     3868     4403
## TargetProp             -1.43      0.61    -2.69    -0.27 1.00     4855     5360
## PartTargetProp          0.04      0.23    -0.40     0.49 1.00     7252     6585
## Duration.c100          -0.00      0.05    -0.11     0.09 1.00     3713     4176
## AoA.c100                1.40      1.97    -2.31     5.47 1.00     3927     4114
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.63      0.04     0.55     0.71 1.00     3744     4741
## ndt     156.57     11.25   131.48   175.34 1.00     4572     5064
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m2b, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.79       0.5    -0.03      1.6      16.57
##   Post.Prob Star
## 1      0.94     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.

Low vocabulary participants.

m3 <- brm(RT ~ Median_Initial.c100 + First_Instance+ logfreq.c100 + Vocab.c100 + PartTargetProp + TargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + Duration.c100+ PartTargetProp + TargetProp + AoA.c100 || ParticipantName) + (1 +  First_Instance + Vocab.c100 + PartTargetProp  || Target), family="shifted_lognormal", data=low_only, chains=4, iter=5000, file="m3", cores=8,prior=prior(student_t(3,0,2)), save_all_pars=TRUE)

m3 <- add_criterion(m3, "loo")
tibble(m3_k = m3$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m3_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

summary(m3)
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 + First_Instance + logfreq.c100 + Vocab.c100 + PartTargetProp + TargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + Duration.c100 + PartTargetProp + TargetProp + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target) 
##    Data: low_only (Number of observations: 586) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 49) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.10      0.06     0.01     0.22 1.01     1144
## sd(Median_Initial.c100)     0.99      0.43     0.11     1.81 1.00     1425
## sd(First_Instance)          0.11      0.07     0.01     0.25 1.00     2148
## sd(logfreq.c100)            2.08      1.77     0.08     6.65 1.00     6965
## sd(Duration.c100)           0.03      0.02     0.00     0.08 1.00     4456
## sd(PartTargetProp)          0.23      0.12     0.01     0.46 1.00     1276
## sd(TargetProp)              0.14      0.10     0.01     0.36 1.00     1684
## sd(AoA.c100)                1.71      1.17     0.07     4.30 1.00     2731
##                         Tail_ESS
## sd(Intercept)               2750
## sd(Median_Initial.c100)     1338
## sd(First_Instance)          3320
## sd(logfreq.c100)            5159
## sd(Duration.c100)           3961
## sd(PartTargetProp)          2497
## sd(TargetProp)              3090
## sd(AoA.c100)                3569
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.06      0.04     0.00     0.16 1.00     3619     4794
## sd(First_Instance)     0.07      0.05     0.00     0.18 1.00     4653     5683
## sd(Vocab.c100)         0.03      0.03     0.00     0.09 1.00     4009     4043
## sd(PartTargetProp)     0.12      0.09     0.01     0.33 1.00     2784     3921
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               6.07      0.26     5.54     6.58 1.00     6765     6900
## Median_Initial.c100     0.15      0.40    -0.65     0.95 1.00     6861     6212
## First_Instance          0.06      0.06    -0.06     0.17 1.00     9362     7578
## logfreq.c100            0.64      2.26    -3.56     5.55 1.00    10402     6083
## Vocab.c100             -0.07      0.04    -0.16     0.01 1.00     5906     6652
## PartTargetProp         -0.46      0.21    -0.87    -0.06 1.00     9053     7348
## TargetProp             -0.17      0.48    -1.12     0.78 1.00     6591     6816
## Duration.c100           0.04      0.03    -0.03     0.11 1.00     5995     6656
## AoA.c100                0.47      1.20    -1.87     2.90 1.00     7406     6550
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.58      0.04     0.51     0.65 1.00     5340     6194
## ndt     140.74     15.19   107.03   166.34 1.00     5139     5303
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m3, "Median_Initial.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.15       0.4    -0.51      0.8       1.83
##   Post.Prob Star
## 1      0.65     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m3b <- low_only%>%
  mutate(
    m1_k = m3$criteria$loo$diagnostics$pareto_k
  ) %>%
  filter(m1_k < .7) %>%
  brm(RT ~ Median_Initial.c100+ Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp +  PartTargetProp + Duration.c100  +   AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp +Duration.c100  +  logfreq.c100 + AoA.c100|| ParticipantName) + (1 +  Vocab.c100 + First_Instance + PartTargetProp  || Target), family="shifted_lognormal", file="m3b", data=., prior=prior(student_t(3,0,2), class=sd), chains=4, iter=5000, cores=8, save_all_pars=TRUE)
summary(m3b)
##  Family: shifted_lognormal 
##   Links: mu = identity; sigma = identity; ndt = identity 
## Formula: RT ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + logfreq.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: . (Number of observations: 586) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 49) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.11      0.06     0.01     0.23 1.01     1303
## sd(Median_Initial.c100)     0.99      0.43     0.09     1.80 1.00     1640
## sd(First_Instance)          0.11      0.07     0.01     0.25 1.00     1689
## sd(TargetProp)              0.14      0.10     0.01     0.36 1.00     1629
## sd(PartTargetProp)          0.22      0.12     0.01     0.47 1.00     1288
## sd(Duration.c100)           0.03      0.02     0.00     0.08 1.00     3823
## sd(logfreq.c100)            1.73      1.52     0.06     5.73 1.00     6921
## sd(AoA.c100)                1.53      1.09     0.08     4.06 1.00     3102
##                         Tail_ESS
## sd(Intercept)               2889
## sd(Median_Initial.c100)     1582
## sd(First_Instance)          2946
## sd(TargetProp)              3387
## sd(PartTargetProp)          2557
## sd(Duration.c100)           3780
## sd(logfreq.c100)            4602
## sd(AoA.c100)                4344
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.06      0.05     0.00     0.18 1.00     2874     3905
## sd(Vocab.c100)         0.03      0.03     0.00     0.10 1.00     3353     4308
## sd(First_Instance)     0.07      0.05     0.00     0.19 1.00     3730     4432
## sd(PartTargetProp)     0.14      0.10     0.01     0.36 1.00     2754     3864
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               6.09      0.28     5.54     6.64 1.00     6103     5734
## Median_Initial.c100     0.19      0.43    -0.66     1.06 1.00     5219     5867
## Vocab.c100             -0.07      0.04    -0.16     0.01 1.00     5458     6468
## First_Instance          0.06      0.06    -0.06     0.17 1.00     7588     7020
## logfreq.c100            3.25      4.98    -6.63    13.25 1.00     5497     6033
## TargetProp             -0.23      0.53    -1.27     0.80 1.00     5881     6314
## PartTargetProp         -0.47      0.21    -0.88    -0.06 1.00     8487     7875
## Duration.c100           0.03      0.04    -0.05     0.11 1.00     4768     5046
## AoA.c100                1.11      1.72    -2.19     4.62 1.00     4396     4827
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma     0.58      0.04     0.51     0.65 1.00     4582     6421
## ndt     141.91     14.63   109.80   166.90 1.00     4448     5445
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
remove(m2)
remove(m2b)
remove(m3)
remove(m3b)

Proportion of Looks to Target

LT_30mo$Prop2 <- ((LT_30mo$Prop)*(LT_30mo$SamplesTotal-1) + 1/2)/LT_30mo$SamplesTotal
LT_30mo <- mutate(LT_30mo, 
Vocab.c100 = (Vocab.c - median(Vocab.c))/100,
AoA.c100 = (Percent_75_Amer - mean(Percent_75_Amer))/100,
Median_Initial.c100 = Median_Initial.c/100,
logfreq.c100 = logfreq.c/100, 
Duration.c100 = (Duration - mean(Duration))/100)

Get descriptive statistics for proportions

LT_30mo %>%
  group_by(Target) %>%
  summarise(
    Prop_mean = mean(Prop, na.rm=TRUE), 
    Prop_sd = sd(Prop, na.rm=TRUE),
  )
## `summarise()` ungrouping output (override with `.groups` argument)
m4 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + logfreq.c100 +  First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100  + (1 + Median_Initial.c100  + TargetProp + PartTargetProp+ logfreq.c100 + Duration.c100 +  First_Instance + AoA.c100|| ParticipantName) + (1 + First_Instance  + Vocab.c100 +  PartTargetProp  || Target),prior=prior(student_t(3,0,2), class=sd), file="m4", family=Beta("logit", "log"), data=LT_30mo, chains=4,  cores=8, iter=5000, save_all_pars=TRUE)

m4 <- add_criterion(m4, "loo")
tibble(m4_k = m4$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m4_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

loo(m4)
## 
## Computed from 10000 by 3401 log-likelihood matrix
## 
##          Estimate    SE
## elpd_loo   2545.3  76.1
## p_loo        96.9   3.0
## looic     -5090.6 152.2
## ------
## Monte Carlo SE of elpd_loo is 0.1.
## 
## All Pareto k estimates are good (k < 0.5).
## See help('pareto-k-diagnostic') for details.
summary(m4)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + TargetProp + PartTargetProp + logfreq.c100 + Duration.c100 + First_Instance + AoA.c100 || ParticipantName) + (1 + First_Instance + Vocab.c100 + PartTargetProp || Target) 
##    Data: LT_30mo (Number of observations: 3401) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.20      0.05     0.08     0.27 1.00     1016
## sd(Median_Initial.c100)     0.30      0.22     0.01     0.82 1.00     3829
## sd(TargetProp)              0.11      0.08     0.00     0.31 1.00      913
## sd(PartTargetProp)          0.11      0.08     0.00     0.29 1.00     1151
## sd(logfreq.c100)            1.83      1.63     0.07     6.19 1.00     5290
## sd(Duration.c100)           0.02      0.01     0.00     0.06 1.00     5504
## sd(First_Instance)          0.07      0.05     0.00     0.17 1.00     2445
## sd(AoA.c100)                1.11      0.79     0.05     2.91 1.00     3570
##                         Tail_ESS
## sd(Intercept)                731
## sd(Median_Initial.c100)     4831
## sd(TargetProp)               905
## sd(PartTargetProp)          1975
## sd(logfreq.c100)            4960
## sd(Duration.c100)           4782
## sd(First_Instance)          4191
## sd(AoA.c100)                4790
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.08      0.05     0.00     0.20 1.00     1897     2746
## sd(First_Instance)     0.11      0.06     0.01     0.23 1.00     2702     2501
## sd(Vocab.c100)         0.02      0.02     0.00     0.06 1.00     5952     5081
## sd(PartTargetProp)     0.13      0.08     0.01     0.32 1.00     2567     4256
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept              -0.84      0.26    -1.38    -0.34 1.00     6242     5671
## Median_Initial.c100    -0.55      0.38    -1.28     0.23 1.00     5708     5286
## Vocab.c100              0.01      0.03    -0.04     0.07 1.00     7456     6955
## logfreq.c100            0.86      4.84    -9.21     9.85 1.00     5662     4811
## First_Instance          0.00      0.05    -0.09     0.10 1.00     8224     7322
## TargetProp              2.45      0.47     1.54     3.43 1.00     6203     5477
## PartTargetProp          1.29      0.14     1.02     1.56 1.00    10997     7319
## Duration.c100           0.01      0.04    -0.05     0.09 1.00     5162     4422
## AoA.c100               -1.28      1.65    -4.80     1.72 1.00     4527     3889
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     2.39      0.06     2.28     2.51 1.00    11391     7354
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
pp_check(m4)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.

p3 <- plot(conditional_effects(m4, "Median_Initial.c100"), theme(axis.title.x=element_text(size=2000)), points=TRUE)  

p.3 <- p3[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + ylab("Proportion of Looks to Target") |
p3[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)")+ ylab("Proportion of Looks to Target") + ylim(.5, 1)
ggsave(
 filename = "plot3.tiff",
 plot = p.3, 
 width=6.2, 
 height=2.5, 
 units="in",
 device="tiff",
 dpi=600
)
## Warning: Removed 432 rows containing missing values (geom_point).
hypothesis(m4, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0    -0.55      0.38    -1.15     0.08      13.16
##   Post.Prob Star
## 1      0.93     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m5 <- brm(Prop2 ~ Median_Initial.c100*Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100+   (1 + Median_Initial.c100 +First_Instance + TargetProp  + logfreq.c100 + PartTargetProp + Duration.c100 + AoA.c100|| ParticipantName) + (1 +  Vocab.c100 +First_Instance ++ PartTargetProp  || Target), prior(student_t(3,0,2), class=sd),  family=Beta("logit", "log"), data=LT_30mo, chains=4, file="m5", iter=5000,  cores=8, save_all_pars=TRUE)

m5 <- add_criterion(m5, "loo")
pp_check(m5)
## Using 10 posterior samples for ppc type 'dens_overlay' by default.

tibble(m5_k = m5$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m5_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

summary(m5)
## Warning: There were 1 divergent transitions after warmup. Increasing adapt_delta
## above 0.8 may help. See http://mc-stan.org/misc/warnings.html#divergent-
## transitions-after-warmup
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 * Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + TargetProp + logfreq.c100 + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + +PartTargetProp || Target) 
##    Data: LT_30mo (Number of observations: 3401) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 100) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.20      0.04     0.09     0.27 1.00      732
## sd(Median_Initial.c100)     0.30      0.22     0.01     0.81 1.00     3286
## sd(First_Instance)          0.07      0.05     0.00     0.18 1.00     1690
## sd(TargetProp)              0.11      0.08     0.00     0.32 1.00      799
## sd(logfreq.c100)            1.84      1.63     0.06     6.08 1.00     4982
## sd(PartTargetProp)          0.11      0.08     0.00     0.29 1.00     1143
## sd(Duration.c100)           0.02      0.02     0.00     0.06 1.00     4681
## sd(AoA.c100)                1.10      0.81     0.05     3.00 1.00     2661
##                         Tail_ESS
## sd(Intercept)                469
## sd(Median_Initial.c100)     4385
## sd(First_Instance)          3413
## sd(TargetProp)               591
## sd(logfreq.c100)            4005
## sd(PartTargetProp)          1964
## sd(Duration.c100)           4287
## sd(AoA.c100)                3824
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.08      0.05     0.00     0.20 1.00     1967     3581
## sd(Vocab.c100)         0.02      0.02     0.00     0.06 1.00     5277     4174
## sd(First_Instance)     0.11      0.06     0.01     0.23 1.00     2031     1730
## sd(PartTargetProp)     0.13      0.08     0.01     0.32 1.00     2304     4225
## 
## Population-Level Effects: 
##                                Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept                         -0.85      0.26    -1.40    -0.34 1.00
## Median_Initial.c100               -0.53      0.38    -1.27     0.23 1.00
## Vocab.c100                         0.01      0.03    -0.05     0.07 1.00
## First_Instance                     0.00      0.05    -0.09     0.10 1.00
## logfreq.c100                       0.89      4.89    -9.11    10.57 1.00
## TargetProp                         2.45      0.48     1.53     3.44 1.00
## PartTargetProp                     1.29      0.14     1.02     1.56 1.00
## Duration.c100                      0.01      0.04    -0.06     0.09 1.00
## AoA.c100                          -1.29      1.60    -4.63     1.72 1.00
## Median_Initial.c100:Vocab.c100     0.11      0.18    -0.24     0.46 1.00
##                                Bulk_ESS Tail_ESS
## Intercept                          4721     4436
## Median_Initial.c100                5078     5193
## Vocab.c100                         5008     7279
## First_Instance                     6747     7008
## logfreq.c100                       4643     4850
## TargetProp                         4559     4667
## PartTargetProp                     8623     7225
## Duration.c100                      4226     4190
## AoA.c100                           4104     4372
## Median_Initial.c100:Vocab.c100     9458     6862
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     2.39      0.06     2.28     2.50 1.00     8497     7200
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m5, "Median_Initial.c100:Vocab.c100 > 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... > 0     0.11      0.18    -0.19     0.41       2.87
##   Post.Prob Star
## 1      0.74     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
hypothesis(m5, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0    -0.53      0.38    -1.14     0.09      12.14
##   Post.Prob Star
## 1      0.92     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
p1 <- plot(marginal_effects(m4, "Median_Initial.c100")) 
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.

p1[[1]] + xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw()

p2 <- plot(marginal_effects(m5, "Median_Initial.c100:Vocab.c100"), points=TRUE)
## Warning: Method 'marginal_effects' is deprecated. Please use
## 'conditional_effects' instead.

p5<- p2[[1]] +  xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
  ylab("Proportion of Looks to Target") 

p6<- p2[[1]] +  xlab("Onset Neighbourhood Density \n(Centred and divided by 100)") + theme_bw() +
scale_colour_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
scale_fill_discrete(name = "Vocab", labels = c("High", "Medium", "Low")) + 
  ylab("Proportion of Looks to Target") + ylim(.5, 1)

p5 + p6 + plot_layout(guides = "collect")
## Warning: Removed 432 rows containing missing values (geom_point).

Split by vocabulary

low_only <- filter(LT_30mo, VocabSplit == "low")
high_only <- filter(LT_30mo, VocabSplit == "high")
m6 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 +First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 +  Vocab.c100 +First_Instance + PartTargetProp || Target),  family=Beta("logit", "log"), data=high_only, iter=5000, prior = prior(student_t(3,0,2)), file="m6", chains=4,  cores=8, save_all_pars=TRUE)


m6 <- add_criterion(m6, "loo")
summary(m6)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: high_only (Number of observations: 1739) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 52) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.16      0.07     0.02     0.28 1.00     1166
## sd(Median_Initial.c100)     0.33      0.25     0.01     0.92 1.00     4659
## sd(First_Instance)          0.06      0.05     0.00     0.17 1.00     4026
## sd(logfreq.c)               0.07      0.04     0.00     0.16 1.00     2717
## sd(TargetProp)              0.15      0.10     0.01     0.38 1.00     1573
## sd(PartTargetProp)          0.16      0.11     0.01     0.39 1.00     1368
## sd(Duration.c100)           0.03      0.02     0.00     0.07 1.00     4746
## sd(AoA.c100)                1.35      1.00     0.05     3.69 1.00     3372
##                         Tail_ESS
## sd(Intercept)               1928
## sd(Median_Initial.c100)     4294
## sd(First_Instance)          3726
## sd(logfreq.c)               3723
## sd(TargetProp)              2681
## sd(PartTargetProp)          3679
## sd(Duration.c100)           3192
## sd(AoA.c100)                3583
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.05      0.04     0.00     0.14 1.00     4363     4382
## sd(Vocab.c100)         0.09      0.06     0.00     0.23 1.00     2941     3936
## sd(First_Instance)     0.12      0.07     0.01     0.28 1.00     2374     3132
## sd(PartTargetProp)     0.08      0.07     0.00     0.25 1.00     3980     3840
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept              -0.90      0.28    -1.46    -0.35 1.00     7323     6680
## Median_Initial.c100    -0.38      0.39    -1.14     0.40 1.00     7547     7035
## Vocab.c100              0.07      0.10    -0.13     0.27 1.00     7884     7226
## First_Instance          0.10      0.06    -0.02     0.23 1.00     9011     7307
## logfreq.c100            0.78      2.27    -3.56     5.74 1.00    10607     5747
## TargetProp              2.43      0.50     1.44     3.45 1.00     6949     6826
## PartTargetProp          1.27      0.18     0.91     1.63 1.00    11857     8578
## Duration.c100          -0.00      0.04    -0.07     0.07 1.00     7346     7226
## AoA.c100               -0.11      1.25    -2.65     2.40 1.00     8460     6846
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     2.40      0.08     2.24     2.56 1.00    10067     7867
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
tibble(m6_k = m6$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m6_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

#saveRDS(m6, "Z:/Analyses/LWL_30mt_after_01_10_19/Subgroup_Analyses/m6.Rds")
summary(m6)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: high_only (Number of observations: 1739) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 52) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.16      0.07     0.02     0.28 1.00     1166
## sd(Median_Initial.c100)     0.33      0.25     0.01     0.92 1.00     4659
## sd(First_Instance)          0.06      0.05     0.00     0.17 1.00     4026
## sd(logfreq.c)               0.07      0.04     0.00     0.16 1.00     2717
## sd(TargetProp)              0.15      0.10     0.01     0.38 1.00     1573
## sd(PartTargetProp)          0.16      0.11     0.01     0.39 1.00     1368
## sd(Duration.c100)           0.03      0.02     0.00     0.07 1.00     4746
## sd(AoA.c100)                1.35      1.00     0.05     3.69 1.00     3372
##                         Tail_ESS
## sd(Intercept)               1928
## sd(Median_Initial.c100)     4294
## sd(First_Instance)          3726
## sd(logfreq.c)               3723
## sd(TargetProp)              2681
## sd(PartTargetProp)          3679
## sd(Duration.c100)           3192
## sd(AoA.c100)                3583
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.05      0.04     0.00     0.14 1.00     4363     4382
## sd(Vocab.c100)         0.09      0.06     0.00     0.23 1.00     2941     3936
## sd(First_Instance)     0.12      0.07     0.01     0.28 1.00     2374     3132
## sd(PartTargetProp)     0.08      0.07     0.00     0.25 1.00     3980     3840
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept              -0.90      0.28    -1.46    -0.35 1.00     7323     6680
## Median_Initial.c100    -0.38      0.39    -1.14     0.40 1.00     7547     7035
## Vocab.c100              0.07      0.10    -0.13     0.27 1.00     7884     7226
## First_Instance          0.10      0.06    -0.02     0.23 1.00     9011     7307
## logfreq.c100            0.78      2.27    -3.56     5.74 1.00    10607     5747
## TargetProp              2.43      0.50     1.44     3.45 1.00     6949     6826
## PartTargetProp          1.27      0.18     0.91     1.63 1.00    11857     8578
## Duration.c100          -0.00      0.04    -0.07     0.07 1.00     7346     7226
## AoA.c100               -0.11      1.25    -2.65     2.40 1.00     8460     6846
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     2.40      0.08     2.24     2.56 1.00    10067     7867
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
hypothesis(m6, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0    -0.38      0.39    -1.02     0.27       5.41
##   Post.Prob Star
## 1      0.84     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.
m7 <- brm(Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100  + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100+ (1 + Median_Initial.c100 +First_Instance  + logfreq.c100  + TargetProp + PartTargetProp + Duration.c100+ AoA.c100|| ParticipantName) + (1 +  Vocab.c100 +First_Instance + PartTargetProp || Target),  family=Beta("logit", "log"),prior=prior(student_t(3,0,2), class=sd),  data=low_only, chains=4, file="m7", iter=5000, cores=8, save_all_pars=TRUE)

m7 <- add_criterion(m7, "loo")
summary(m7)
##  Family: beta 
##   Links: mu = logit; phi = identity 
## Formula: Prop2 ~ Median_Initial.c100 + Vocab.c100 + First_Instance + logfreq.c100 + First_Instance + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 + (1 + Median_Initial.c100 + First_Instance + logfreq.c100 + TargetProp + PartTargetProp + Duration.c100 + AoA.c100 || ParticipantName) + (1 + Vocab.c100 + First_Instance + PartTargetProp || Target) 
##    Data: low_only (Number of observations: 1662) 
## Samples: 4 chains, each with iter = 5000; warmup = 2500; thin = 1;
##          total post-warmup samples = 10000
## 
## Group-Level Effects: 
## ~ParticipantName (Number of levels: 48) 
##                         Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS
## sd(Intercept)               0.19      0.07     0.02     0.32 1.00     1019
## sd(Median_Initial.c100)     0.54      0.36     0.02     1.33 1.00     3335
## sd(First_Instance)          0.13      0.08     0.01     0.29 1.00     1973
## sd(logfreq.c100)            1.90      1.72     0.07     6.46 1.00     7277
## sd(TargetProp)              0.16      0.11     0.01     0.42 1.00     1319
## sd(PartTargetProp)          0.15      0.11     0.01     0.39 1.00     1394
## sd(Duration.c100)           0.03      0.02     0.00     0.09 1.00     4142
## sd(AoA.c100)                1.35      1.01     0.06     3.73 1.00     3715
##                         Tail_ESS
## sd(Intercept)               1323
## sd(Median_Initial.c100)     4253
## sd(First_Instance)          3099
## sd(logfreq.c100)            5298
## sd(TargetProp)              2088
## sd(PartTargetProp)          2604
## sd(Duration.c100)           3870
## sd(AoA.c100)                4314
## 
## ~Target (Number of levels: 18) 
##                    Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept)          0.10      0.07     0.01     0.25 1.00     2099     3992
## sd(Vocab.c100)         0.04      0.03     0.00     0.10 1.00     4229     4737
## sd(First_Instance)     0.10      0.07     0.01     0.25 1.00     2895     3781
## sd(PartTargetProp)     0.16      0.11     0.01     0.41 1.00     2320     3749
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept              -0.74      0.34    -1.44    -0.10 1.00     5913     5189
## Median_Initial.c100    -0.73      0.51    -1.74     0.31 1.00     6029     5936
## Vocab.c100             -0.01      0.05    -0.10     0.09 1.00     6491     7331
## First_Instance         -0.10      0.06    -0.23     0.03 1.00     8641     6695
## logfreq.c100           -1.17      6.36   -14.32    11.01 1.00     5360     6215
## TargetProp              2.35      0.63     1.17     3.64 1.00     5754     4767
## PartTargetProp          1.27      0.20     0.87     1.66 1.00    11084     6909
## Duration.c100           0.02      0.05    -0.07     0.12 1.00     4751     4610
## AoA.c100               -2.11      2.17    -6.59     1.98 1.00     4986     5166
## 
## Family Specific Parameters: 
##     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## phi     2.42      0.08     2.26     2.60 1.00    10028     7697
## 
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
tibble(m7_k = m7$criteria$loo$diagnostics$pareto_k) %>%
  ggplot(aes(x=m7_k)) +
  geom_vline(xintercept=.5, linetype=2) +
  stat_dots()

hypothesis(m7, "Median_Initial.c100 < 0")
## Hypothesis Tests for class b:
##                 Hypothesis Estimate Est.Error CI.Lower CI.Upper Evid.Ratio
## 1 (Median_Initial.c... < 0    -0.73      0.51    -1.55     0.11      12.95
##   Post.Prob Star
## 1      0.93     
## ---
## 'CI': 90%-CI for one-sided and 95%-CI for two-sided hypotheses.
## '*': For one-sided hypotheses, the posterior probability exceeds 95%;
## for two-sided hypotheses, the value tested against lies outside the 95%-CI.
## Posterior probabilities of point hypotheses assume equal prior probabilities.