1 Introduction and hypotheses cross-situational word learning task

52 children (26 TD, 26 DLD) participated in this experiment. In the learning phase of the CSWL task, children could learn 8 word-referent pairings in 28 trials. On every trial, children saw two pictures (at the same time) and heard two words. Every trial was ambiguous in the sense that it was not clear which picture should be paired with which word. The order of the words (first/second) and the order of the pictures (left/right) was congruent in half of the trials. Each word-referent pair occurred 7 times. There were 2 learning conditions: low contextual diversity (LowCD) and high contextual diversity (highCD). In the HighCD condition, each word-referent pair appeared together with a different word-referent pair in each of the 7 trials, while in the LowCD condition, a word-referent pair appeared with only 3 different word-referent pairs in the 7 trials. Thus, in the HighCD condition there was a larger variety in the learning environment, meaning less ambiguity. In the test phase, participants heard each of the 8 words and had to choose between 4 pictures which one should be paired with that word. Learning should be reflected by above-chance (25%) performance on the test phase. We expect better learning in the HighCD Condition (main effect of Condition). Moreover, we expect the children with DLD to be less sensitive to cross-situational statistics than children with DLD (main effect of Group). Finally, it could be the case that children with DLD are more OR less hindered by the effect of Condition (interaction between Group and Condition).

2 The data

2.1 Load

CSL_Test <- read.delim("Data/CSL_Test.txt", sep="\t", dec=".")

2.2 Age check

#Age (months) per group
#I selected 26 TD participants (from 49) based on age
tapply(CSL_Test$Age_months, list(CSL_Test$Group), mean, na.rm=TRUE)
##      DLD       TD 
## 97.03846 97.64000
t.test(CSL_Test$Age_months~CSL_Test$Group)
## 
##  Welch Two Sample t-test
## 
## data:  CSL_Test$Age_months by CSL_Test$Group
## t = -1.0206, df = 380.14, p-value = 0.3081
## alternative hypothesis: true difference in means between group DLD and group TD is not equal to 0
## 95 percent confidence interval:
##  -1.7604066  0.5573296
## sample estimates:
## mean in group DLD  mean in group TD 
##          97.03846          97.64000

2.3 Look at the data

#Two participants
kable(CSL_Test[1:16, ])
Subject Trial Item Word Distr1 Distr2 Distr3 Target PosDis1 PosDis2 PosDis3 PosTarget TestResp Acc Condition MeanAcc Gender Group Age_months Age_ym
PP501 32 8 8 g e d f 1 2 3 4 3 0 LowCD 0.25 F TD 100 8;4
PP501 35 2 2 h a b c 3 4 1 2 1 0 LowCD 0.25 F TD 100 8;4
PP501 36 6 6 c e d b 3 4 1 2 4 0 LowCD 0.25 F TD 100 8;4
PP501 33 7 7 a b f d 4 1 2 3 3 1 LowCD 0.25 F TD 100 8;4
PP501 34 3 3 h c d a 4 1 2 3 3 1 LowCD 0.25 F TD 100 8;4
PP501 30 5 5 g b f e 2 3 4 1 4 0 LowCD 0.25 F TD 100 8;4
PP501 31 4 4 h e f g 1 2 3 4 1 0 LowCD 0.25 F TD 100 8;4
PP501 37 1 1 c a g h 2 3 4 1 4 0 LowCD 0.25 F TD 100 8;4
PP502 37 7 7 c d e b 4 1 2 3 2 0 HighCD 0.50 F TD 95 7;11
PP502 36 6 6 b c d h 3 4 1 2 3 0 HighCD 0.50 F TD 95 7;11
PP502 32 2 2 f a g e 3 4 1 2 2 1 HighCD 0.50 F TD 95 7;11
PP502 30 5 5 h b c g 2 3 4 1 2 0 HighCD 0.50 F TD 95 7;11
PP502 31 4 4 g h b a 1 2 3 4 3 0 HighCD 0.50 F TD 95 7;11
PP502 33 3 3 a g h f 4 1 2 3 3 1 HighCD 0.50 F TD 95 7;11
PP502 34 8 8 d e f c 1 2 3 4 4 1 HighCD 0.50 F TD 95 7;11
PP502 35 1 1 e f a d 2 3 4 1 1 1 HighCD 0.50 F TD 95 7;11

3 Plots

3.1 Violin plot accuracy per Group

p

3.2 Violin plot accuracy per Group and Condition

p

4 Statistical analysis

4.1 Set contrasts for glmer model

CSL_Test$Group <- as.factor(CSL_Test$Group)
CSL_Test$Condition <- as.factor(CSL_Test$Condition)

contrast <- cbind(c(-0.5, +0.5)) # DLD, TD 
colnames (contrast) <-  c("-DLD+TD")
contrasts (CSL_Test$Group) <- contrast
contrasts(CSL_Test$Group)
##     -DLD+TD
## DLD    -0.5
## TD      0.5
contrast <- cbind(c(+0.5, -0.5)) # Condition HighCD, condition LowCD 
colnames (contrast) <-  c("-LowCD+HighCD")
contrasts (CSL_Test$Condition) <- contrast
contrasts(CSL_Test$Condition)
##        -LowCD+HighCD
## HighCD           0.5
## LowCD           -0.5
CSL_Test$Age_months <- scale(CSL_Test["Age_months"],center=T,scale=T)

4.2 glmer

model <- glmer(Acc~Group*Condition*Age_months+(1|Subject)+(1|Item), data=CSL_Test, family=binomial, control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=2e5)))
isSingular(model)
## [1] FALSE
tab_model(model,  show.se = T, show.stat = T, digits.p = 3, transform = NULL)
  Acc
Predictors Log-Odds std. Error CI Statistic p
(Intercept) 0.62 0.24 0.15 – 1.10 2.58 0.010
Group-DLD+TD 1.31 0.39 0.55 – 2.08 3.36 0.001
Condition-LowCD+HighCD 0.51 0.38 -0.23 – 1.26 1.35 0.178
Age months -0.49 0.21 -0.89 – -0.08 -2.37 0.018
Group-DLD+TD *
Condition-LowCD+HighCD
-0.10 0.76 -1.60 – 1.39 -0.14 0.892
Group-DLD+TD * Age months -0.86 0.41 -1.66 – -0.05 -2.08 0.038
Condition-LowCD+HighCD *
Age months
0.38 0.41 -0.42 – 1.19 0.94 0.347
(Group-DLD+TD
Condition-LowCD+HighCD)

Age months
0.67 0.82 -0.93 – 2.27 0.82 0.413
Random Effects
σ2 3.29
τ00 Subject 0.79
τ00 Item 0.33
ICC 0.25
N Subject 51
N Item 16
Observations 408
Marginal R2 / Conditional R2 0.143 / 0.361

4.3 CIs for Group effect

### Compute confidence intervals for the Group effect
ci <- confint (model, parm = "Group-DLD+TD", method = "Wald")
lower.bound.logodds.model <- ci ["Group-DLD+TD", 1]
upper.bound.logodds.model <- ci ["Group-DLD+TD", 2]

lower.bound.odds.model <- exp(lower.bound.logodds.model) 
upper.bound.odds.model <- exp(upper.bound.logodds.model)
odds.estimate <- exp(1.3123) 

#Estimate and CIs Group effect:
odds.estimate # 3.714708
lower.bound.odds.model #1.728753
upper.bound.odds.model #7.981304

The TD children were 3.71 (95% CI: 1.73 … 7.98) times more accurate than the children with DLD when choosing the referent of a word in the test phase of the CSL task: z = 3.363, p = 0.0008.

4.4 CIs for Condition effect

### Compute confidence intervals for the Condition effect
ci <- confint (model, parm = "Condition-LowCD+HighCD", method = "Wald")
lower.bound.logodds.model <- ci ["Condition-LowCD+HighCD", 1]
upper.bound.logodds.model <- ci ["Condition-LowCD+HighCD", 2]

lower.bound.odds.model <- exp(lower.bound.logodds.model) 
upper.bound.odds.model <- exp(upper.bound.logodds.model)
odds.estimate <- exp(0.5147) 


#Estimate and CIs Condition effect:
odds.estimate # 1.673136
lower.bound.odds.model # 0.7906569
upper.bound.odds.model # 3.540423

Although accuracy in the HighCD condition was 1.67 (95% CI: 0.79 … 3.54) times higher than in the LowCD condition, this effect was not significant: z = 1.346, p = 0.178367.

4.5 CIs for the Codition * Group interaction

### Compute confidence intervals for the Codition * Group interaction
ci <- confint (model, parm = "Group-DLD+TD:Condition-LowCD+HighCD", method = "Wald")
lower.bound.logodds.model <- ci ["Group-DLD+TD:Condition-LowCD+HighCD", 1]
upper.bound.logodds.model <- ci ["Group-DLD+TD:Condition-LowCD+HighCD", 2]

lower.bound.odds.model <- exp(lower.bound.logodds.model) 
upper.bound.odds.model <- exp(upper.bound.logodds.model)
odds.estimate <- exp(-0.1038)

#Estimate and CIs Codition * Group interaction:
odds.estimate # 1.1
lower.bound.odds.model # 0.249212
upper.bound.odds.model # 4.938677

Although the positive effect of contextual variability in the HighCD Condition was 1.1 (95% CI: 0.25 … 4.94) times stronger in the children with DLD than the TD children, this interaction between Group and Condition was not significant: z = 0.136, p = 0.891607.

5 Exploratory analyses

5.1 Seperate models per Group

modelDLD <- glmer(Acc~Condition*Age_months+(1|Subject)+(1|Item), data=subset(CSL_Test, Group=="DLD"), family=binomial, control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=2e5)))
tab_model(modelDLD,  show.se = T, show.stat = T, digits.p = 3, transform = NULL)
  Acc
Predictors Log-Odds std. Error CI Statistic p
(Intercept) -0.03 0.19 -0.41 – 0.35 -0.14 0.892
Condition-LowCD+HighCD 0.50 0.39 -0.26 – 1.26 1.29 0.199
Age months -0.05 0.15 -0.35 – 0.24 -0.34 0.735
Condition-LowCD+HighCD *
Age months
0.04 0.30 -0.55 – 0.63 0.14 0.889
Random Effects
σ2 3.29
τ00 Subject 0.20
τ00 Item 0.14
ICC 0.09
N Subject 26
N Item 16
Observations 208
Marginal R2 / Conditional R2 0.018 / 0.109
summary(modelDLD)
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: binomial  ( logit )
## Formula: Acc ~ Condition * Age_months + (1 | Subject) + (1 | Item)
##    Data: subset(CSL_Test, Group == "DLD")
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e+05))
## 
##      AIC      BIC   logLik deviance df.resid 
##    295.4    315.4   -141.7    283.4      202 
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.3991 -0.9222 -0.6434  0.9214  1.3759 
## 
## Random effects:
##  Groups  Name        Variance Std.Dev.
##  Subject (Intercept) 0.2012   0.4486  
##  Item    (Intercept) 0.1371   0.3702  
## Number of obs: 208, groups:  Subject, 26; Item, 16
## 
## Fixed effects:
##                                   Estimate Std. Error z value Pr(>|z|)
## (Intercept)                       -0.02625    0.19388  -0.135    0.892
## Condition-LowCD+HighCD             0.49994    0.38895   1.285    0.199
## Age_months                        -0.05096    0.15060  -0.338    0.735
## Condition-LowCD+HighCD:Age_months  0.04193    0.30111   0.139    0.889
## 
## Correlation of Fixed Effects:
##             (Intr) Cn-LCD+HCD Ag_mnt
## Cnd-LCD+HCD  0.053                  
## Age_months   0.040 -0.007           
## C-LCD+HCD:A -0.005  0.040     -0.112
modelTD <- glmer(Acc~Condition*Age_months+(1|Subject)+(1|Item), data=subset(CSL_Test, Group=="TD"), family=binomial, control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=2e5)))
tab_model(modelTD,  show.se = T, show.stat = T, digits.p = 3, transform = NULL)
  Acc
Predictors Log-Odds std. Error CI Statistic p
(Intercept) 1.55 0.51 0.55 – 2.56 3.03 0.002
Condition-LowCD+HighCD 0.62 0.77 -0.89 – 2.13 0.81 0.419
Age months -1.11 0.52 -2.13 – -0.09 -2.12 0.034
Condition-LowCD+HighCD *
Age months
0.75 1.01 -1.23 – 2.72 0.74 0.459
Random Effects
σ2 3.29
τ00 Subject 2.19
τ00 Item 0.63
ICC 0.46
N Subject 25
N Item 8
Observations 200
Marginal R2 / Conditional R2 0.104 / 0.518
summary(modelTD)
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: binomial  ( logit )
## Formula: Acc ~ Condition * Age_months + (1 | Subject) + (1 | Item)
##    Data: subset(CSL_Test, Group == "TD")
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e+05))
## 
##      AIC      BIC   logLik deviance df.resid 
##    213.3    233.1   -100.6    201.3      194 
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8216 -0.5903  0.2621  0.4664  2.1643 
## 
## Random effects:
##  Groups  Name        Variance Std.Dev.
##  Subject (Intercept) 2.1884   1.4793  
##  Item    (Intercept) 0.6326   0.7954  
## Number of obs: 200, groups:  Subject, 25; Item, 8
## 
## Fixed effects:
##                                   Estimate Std. Error z value Pr(>|z|)   
## (Intercept)                         1.5532     0.5119   3.034  0.00241 **
## Condition-LowCD+HighCD              0.6235     0.7709   0.809  0.41867   
## Age_months                         -1.1075     0.5214  -2.124  0.03366 * 
## Condition-LowCD+HighCD:Age_months   0.7456     1.0066   0.741  0.45885   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) Cn-LCD+HCD Ag_mnt
## Cnd-LCD+HCD  0.086                  
## Age_months  -0.162 -0.223           
## C-LCD+HCD:A -0.136 -0.083     -0.346

5.2 Compute confidence intervals to compare to chance level

5.2.1 TD

### Compute profile confidence intervals for the intercept (i.e. comparison with chance level)
ci <- confint (modelTD, parm = "(Intercept)")
lower.bound.logodds.modelTD <- ci ["(Intercept)", 1]
upper.bound.logodds.modelTD <- ci ["(Intercept)", 2]

### Calculate the CIs of the odds and probabilities based on the logodds
lower.bound.odds.modelTD <- exp (lower.bound.logodds.modelTD)
upper.bound.odds.modelTD <- exp (upper.bound.logodds.modelTD)
lower.bound.prob.modelTD <- lower.bound.odds.modelTD / (lower.bound.odds.modelTD + 1)
upper.bound.prob.modelTD <- upper.bound.odds.modelTD / (upper.bound.odds.modelTD + 1)

lower.bound.prob.modelTD # 0.6465745
upper.bound.prob.modelTD # 0.9412983

odds.estimate <- exp(1.5532)
prob.estimate <- odds.estimate/(odds.estimate+1)

prob.estimate # 0.8253754

The estimate of the intercept for the TD children is 0.83 (95% CI: 0.65 … 0.94), which is significantly higher than chance level (0.25).

5.2.2 DLD

### Compute profile confidence intervals for the intercept (i.e. comparison with chance level)
ci <- confint (modelDLD, parm = "(Intercept)")
lower.bound.logodds.modelDLD <- ci ["(Intercept)", 1]
upper.bound.logodds.modelDLD <- ci ["(Intercept)", 2]

### Calculate the CIs of the odds and probabilities based on the logodds
lower.bound.odds.modelDLD <- exp (lower.bound.logodds.modelDLD)
upper.bound.odds.modelDLD <- exp (upper.bound.logodds.modelDLD)
lower.bound.prob.modelDLD <- lower.bound.odds.modelDLD / (lower.bound.odds.modelDLD + 1)
upper.bound.prob.modelDLD <- upper.bound.odds.modelDLD / (upper.bound.odds.modelDLD + 1)

lower.bound.prob.modelDLD # 0.3914631
upper.bound.prob.modelDLD # 0.5951737

odds.estimate <- exp(-0.02625)
prob.estimate <- odds.estimate/(odds.estimate+1)

prob.estimate # 0.4934379

The estimate of the intercept for the DLD children is 0.49 (95% CI: 0.39 … 0.6), which is significantly higher than chance level (0.25).