Lexical: All measures
df %>%
dplyr::select(ID, group, wr_time_z:nwr_error_z, age, pa.bis, backward, forward, lexita.acc, it.ok.acc) %>%
pivot_longer(names_to = "dimension", values_to = "reading", 3:6) %>%
mutate(
measure =
case_when(
dimension == "wr_time_z" ~ "fluency",
dimension == "wr_error_z" ~ "accuracy",
dimension == "nwr_time_z" ~ "fluency",
dimension == "nwr_error_z" ~ "accuracy",
),
dimension =
case_when(
dimension == "wr_time_z" ~ "lexical",
dimension == "wr_error_z" ~ "lexical",
dimension == "nwr_time_z" ~ "sublexical",
dimension == "nwr_error_z" ~ "sublexical",
)
) %>%
mutate(across(backward:it.ok.acc, ~scale(.x))) %>%
mutate_if(is.character, as.factor) -> df.model
df.model %>% filter(dimension == "lexical") %>%
lmer(formula = reading ~
# pa.bis * group * measure +
# pa.bis * group +
pa.bis * measure +
# lexita.acc * group * measure +
lexita.acc * measure +
# lexita.acc * group +
it.ok.acc * group * measure +
backward * group * measure +
# backward * group +
# backward * measure +
# backward +
(1 |ID)
) -> m1
|
AIC
|
AICc
|
BIC
|
R2_conditional
|
R2_marginal
|
ICC
|
RMSE
|
Sigma
|
|
564.8965
|
569.7476
|
620.2496
|
0.8240664
|
0.6994607
|
0.4146072
|
0.7902413
|
0.9907325
|
|
|
Chisq
|
Df
|
Pr(>Chisq)
|
|
(Intercept)
|
13.99
|
1
|
0.000
|
|
pa.bis
|
28.27
|
1
|
0.000
|
|
measure
|
4.45
|
1
|
0.035
|
|
lexita.acc
|
9.30
|
1
|
0.002
|
|
it.ok.acc
|
1.97
|
1
|
0.161
|
|
group
|
2.58
|
1
|
0.108
|
|
backward
|
2.42
|
1
|
0.119
|
|
pa.bis:measure
|
7.32
|
1
|
0.007
|
|
measure:lexita.acc
|
10.57
|
1
|
0.001
|
|
it.ok.acc:group
|
1.22
|
1
|
0.270
|
|
measure:it.ok.acc
|
14.91
|
1
|
0.000
|
|
measure:group
|
2.22
|
1
|
0.136
|
|
group:backward
|
1.36
|
1
|
0.244
|
|
measure:backward
|
2.61
|
1
|
0.106
|
|
measure:it.ok.acc:group
|
5.21
|
1
|
0.022
|
|
measure:group:backward
|
3.71
|
1
|
0.054
|

Post-hoc 1: PA vs. Measure
emtrends(m1, pairwise ~ measure, var = "pa.bis", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(pa.bis.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.1
color.me <- which(post.1$p.value <= .05)
post.1 %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
measure
|
pa.bis.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
accuracy
|
0.61
|
0.12
|
122.88
|
0.39
|
0.84
|
5.32
|
0.000
|
|
fluency
|
0.28
|
0.12
|
122.88
|
0.05
|
0.50
|
2.39
|
0.018
|
emtrends(m1, pairwise ~ measure, var = "pa.bis", infer = T, adjust = "bonferroni")$contrasts %>%
as.data.frame() %>%
mutate(across(estimate:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.1a
color.me <- which(post.1a$p.value <= .05)
post.1a %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
contrast
|
estimate
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
accuracy - fluency
|
0.34
|
0.12
|
72
|
0.09
|
0.59
|
2.71
|
0.009
|

Post-hoc 2: Vocabulary vs. Measure
emtrends(m1, pairwise ~ measure, var = "lexita.acc", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(lexita.acc.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.2
color.me <- which(post.2$p.value <= .05)
post.2 %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
measure
|
lexita.acc.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
accuracy
|
0.49
|
0.16
|
122.88
|
0.17
|
0.80
|
3.05
|
0.003
|
|
fluency
|
-0.07
|
0.16
|
122.88
|
-0.39
|
0.24
|
-0.47
|
0.640
|
emtrends(m1, pairwise ~ measure, var = "lexita.acc", infer = T, adjust = "bonferroni")$contrasts %>%
as.data.frame() %>%
mutate(across(estimate:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.2a
color.me <- which(post.2a$p.value <= .05)
post.2a %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
contrast
|
estimate
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
accuracy - fluency
|
0.56
|
0.17
|
72
|
0.22
|
0.9
|
3.25
|
0.002
|

Post-hoc 3: OK vs. Measure vs. Group
emtrends(m1, pairwise ~ group | measure, var = "it.ok.acc", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(it.ok.acc.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.3
color.me <- which(post.3$p.value <= .05)
post.3 %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
group
|
measure
|
it.ok.acc.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
DYS
|
accuracy
|
0.45
|
0.32
|
122.88
|
-0.19
|
1.09
|
1.40
|
0.163
|
|
TD
|
accuracy
|
-0.01
|
0.25
|
122.88
|
-0.50
|
0.49
|
-0.02
|
0.982
|
|
DYS
|
fluency
|
1.79
|
0.32
|
122.88
|
1.16
|
2.43
|
5.58
|
0.000
|
|
TD
|
fluency
|
0.32
|
0.25
|
122.88
|
-0.18
|
0.81
|
1.26
|
0.209
|

### comparison of group performance
emmeans(m1, pairwise ~ group | measure | it.ok.acc, at = list(it.ok.acc = c(-1,1)), adjust = "bonferroni")$contrasts %>% summary() %>% as.data.frame() %>%
mutate(across(estimate:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post.3b
color.me <- which(post.3b$p.value <= .05)
post.3b %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
contrast
|
measure
|
it.ok.acc
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
|
DYS - TD
|
accuracy
|
-1
|
-1.20
|
0.57
|
122.88
|
-2.10
|
0.037
|
|
DYS - TD
|
fluency
|
-1
|
-2.96
|
0.57
|
122.88
|
-5.21
|
0.000
|
|
DYS - TD
|
accuracy
|
1
|
-0.28
|
0.67
|
122.88
|
-0.43
|
0.670
|
|
DYS - TD
|
fluency
|
1
|
-0.01
|
0.67
|
122.88
|
-0.01
|
0.991
|

Sublexical: All measures
df.model %>%
filter(dimension == "sublexical") %>%
lmer(formula = reading ~
pa.bis * group * measure +
# pa.bis * measure +
# pa.bis * group +
# lexita.acc * group * measure +
# lexita.acc * measure +
# lexita.acc * group +
# lexita.acc +
# it.ok.acc * group * measure +
# it.ok.acc * group +
it.ok.acc * measure +
backward * group * measure +
# backward * group +
# backward * measure +
# backward +
(1 |ID)
) -> m2
|
AIC
|
AICc
|
BIC
|
R2_conditional
|
R2_marginal
|
ICC
|
RMSE
|
Sigma
|
|
597.8943
|
601.6985
|
647.0971
|
0.7939116
|
0.5458077
|
0.546253
|
0.7922884
|
1.031352
|
|
|
Chisq
|
Df
|
Pr(>Chisq)
|
|
(Intercept)
|
25.00
|
1
|
0.000
|
|
pa.bis
|
34.55
|
1
|
0.000
|
|
group
|
7.01
|
1
|
0.008
|
|
measure
|
0.62
|
1
|
0.431
|
|
it.ok.acc
|
0.37
|
1
|
0.543
|
|
backward
|
0.26
|
1
|
0.609
|
|
pa.bis:group
|
3.64
|
1
|
0.056
|
|
pa.bis:measure
|
30.96
|
1
|
0.000
|
|
group:measure
|
0.01
|
1
|
0.936
|
|
measure:it.ok.acc
|
14.36
|
1
|
0.000
|
|
group:backward
|
0.34
|
1
|
0.560
|
|
measure:backward
|
1.73
|
1
|
0.189
|
|
pa.bis:group:measure
|
8.15
|
1
|
0.004
|
|
group:measure:backward
|
3.24
|
1
|
0.072
|

Post-hoc 1: OK vs. Measure
emtrends(m2, pairwise ~ measure, var = "it.ok.acc", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(it.ok.acc.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post2.1
color.me <- which(post2.1$p.value <= .05)
post2.1 %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
measure
|
it.ok.acc.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
accuracy
|
-0.14
|
0.24
|
112.45
|
-0.61
|
0.32
|
-0.61
|
0.544
|
|
fluency
|
0.71
|
0.24
|
112.45
|
0.24
|
1.18
|
3.00
|
0.003
|

Post-hoc 2: PA vs. Measure vs. Group
emtrends(m2, pairwise ~ group | measure, var = "pa.bis", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(pa.bis.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post2.3
color.me <- which(post2.3$p.value <= .05)
post2.3 %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
group
|
measure
|
pa.bis.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
|
DYS
|
accuracy
|
0.91
|
0.15
|
112.45
|
0.60
|
1.22
|
5.88
|
0.000
|
|
TD
|
accuracy
|
0.35
|
0.24
|
112.45
|
-0.13
|
0.83
|
1.44
|
0.154
|
|
DYS
|
fluency
|
0.09
|
0.15
|
112.45
|
-0.22
|
0.40
|
0.58
|
0.565
|
|
TD
|
fluency
|
0.33
|
0.24
|
112.45
|
-0.16
|
0.81
|
1.34
|
0.181
|


### comparison of group performance
emmeans(m2, pairwise ~ group | measure | pa.bis, at = list(pa.bis = c(-1,1)), adjust = "bonferroni")$contrasts %>% summary() %>% as.data.frame() %>%
mutate(across(estimate:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) -> post2.3b
color.me <- which(post2.3b$p.value <= .05)
post2.3b %>% kable() %>% kable_styling() %>% row_spec(color.me, bold = T)
|
contrast
|
measure
|
pa.bis
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
|
DYS - TD
|
accuracy
|
-1
|
-2.04
|
0.71
|
112.45
|
-2.88
|
0.005
|
|
DYS - TD
|
fluency
|
-1
|
-1.29
|
0.71
|
112.45
|
-1.81
|
0.073
|
|
DYS - TD
|
accuracy
|
1
|
-0.92
|
0.54
|
112.45
|
-1.70
|
0.092
|
|
DYS - TD
|
fluency
|
1
|
-1.76
|
0.54
|
112.45
|
-3.25
|
0.002
|
