Digit Span Memory

Exclude participants

df %>% 
  filter(group == "DYS" | (group == "TD" & is.na(other_diagnoses))) %>% 
  mutate(ID = as.character(ID)) %>% 
  filter(!startsWith(ID, "VER")) -> df 

df %>%
  mutate(
    exclude = case_when(
      ID == "VER02" ~ 1, # ADHD - university - DYS
      ID == "VER04" ~ 1, # ADHD - university - DYS
      ID == "MEN12" ~ 1, # discalculia - 3rd - TD
      ID == "MEN18" ~ 1, # disgrafia, discalculia - 3rd - TD
      ID == "MEN26" ~ 1, # disgrafia - 5th - TD, 
      ID == "LAE33" ~ 1, # disgrafia, disortografia, 3rd - TD, 
      
      ### new exclusion criteria: 
      ID == "LAE38" ~ 1,
      ID == "LC19" ~ 1, 
      ID == "MEN29" ~ 1, 
      ID == "MEN02" ~ 1, 
      
      
      ID == "MEN10" ~ 1, 
      ID == "LAE23" ~ 1, 
      # ID == "MEN35" ~ 1, 
      TRUE ~ 0
    )
  ) %>%
  filter(exclude == 0) %>%
  
  # stricter crtiteria 
  # filter(group.exclusion != "PR") %>% 
  
  # less strict criteria 
  # filter(group == "DYS" | (group == "TD" & reading.score > -2)) %>%
  
  
  filter(ID != "VER01" & ID != "VER03") %>% 
  dplyr::select(-exclude) -> df

Descriptive analysis

Descriptive stats
Group Forward (M) SD range Backward (M) SD range
DYS 5.97 0.91 4 4.24 1.9 0
DYS 5.97 0.91 8 4.24 1.9 8
TD 6.63 1.11 4 5.39 1.4 3
TD 6.63 1.11 9 5.39 1.4 8

Inferential statistics

Forward

# model forward
df %>% mutate_if(is.character, as.factor) %>% mutate(age = scale(age), age = as.double(age)) -> df
glm(forward ~ 
     # group * age, 
      group + 
      age, 
     family = poisson(link = "log"),
     data = df) -> m1
  forward
Predictors Incidence Rate Ratios CI p
(Intercept) 5.97 5.10 – 6.93 <0.001
group [TD] 1.11 0.92 – 1.35 0.287
age 1.00 0.91 – 1.09 0.987
Observations 80
R2 Nagelkerke 0.094
Digit span (F): Verbal STM
Group Estimate SE CI
DYS 5.97 0.08 5.12 - 6.96
TD 6.63 0.06 5.94 - 7.39
Digit span F: Verbal STM
LR Chisq Df Pr(>Chisq)
group 1.14 1 0.285
age 0.00 1 0.987
AIC AICc BIC R2_Nagelkerke RMSE Sigma Score_log Score_spherical
315.85 316.16 322.99 0.09 1.03 1 -1.94 0.11

Backward

# model backward
glm(backward ~ 
     group + age,   
    family = poisson(link = "log"),
   data = df) -> m2
  backward
Predictors Incidence Rate Ratios CI p
(Intercept) 4.12 3.42 – 4.93 <0.001
group [TD] 1.33 1.06 – 1.66 0.013
age 1.07 0.96 – 1.18 0.214
Observations 80
R2 Nagelkerke 0.151
Digit span (F): Verbal STM
Group Estimate SE CI
DYS 4.12 0.09 3.43 - 4.95
TD 5.46 0.06 4.85 - 6.16
Digit span F: Verbal STM
LR Chisq Df Pr(>Chisq)
group 6.33 1 0.012
age 1.54 1 0.215
AIC AICc BIC R2_Nagelkerke RMSE Sigma Score_log Score_spherical
326.25 326.56 333.39 0.15 1.55 1 -2 0.11

Composite score

df %>% 
  rowwise() %>% 
  mutate(memory = mean(c_across(forward:backward))) %>% 
  ungroup() -> df 


df %>% 
  lm(formula = memory ~ group + age) -> m3

### Model output 
tab_model(m3)
  memory
Predictors Estimates CI p
(Intercept) 5.04 4.64 – 5.43 <0.001
group [TD] 1.01 0.51 – 1.52 <0.001
age 0.16 -0.08 – 0.41 0.188
Observations 80
R2 / R2 adjusted 0.171 / 0.149
Anova(m3, type= "II")
## Anova Table (Type II tests)
## 
## Response: memory
##           Sum Sq Df F value    Pr(>F)    
## group     17.087  1 15.8465 0.0001544 ***
## age        1.907  1  1.7683 0.1875149    
## Residuals 83.028 77                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Plot