Venagli, I., Kupisch, T., Lallier, M.
Control tasks
Reading performance & exclusion
Initial sample
group
|
n
|
DYS
|
29
|
TD
|
61
|
### Model reading performance
reading %>% summarize(mean = round(mean(wr_time_z),2),
sd = round(sd(wr_time_z),2),
min = round(min(wr_time_z),2),
max = round(max(wr_time_z),2),
.by = group) %>%
mutate(range = paste(min, max, sep = "-")) %>% dplyr::select(-min, -max) %>%
kable(caption = "Word reading fluency") %>% kable_minimal()
Word reading fluency
group
|
mean
|
sd
|
range
|
DYS
|
-4.46
|
2.83
|
-14.12–0.58
|
TD
|
-0.73
|
1.18
|
-4.97-1.65
|
reading %>% summarize(mean = round(mean(wr_error_z),2),
sd = round(sd(wr_error_z),2),
min = round(min(wr_error_z),2),
max = round(max(wr_error_z),2),
.by = group) %>%
mutate(range = paste(min, max, sep = "-")) %>% dplyr::select(-min, -max) %>%
kable(caption = "Word reading accuracy") %>% kable_minimal()
Word reading accuracy
group
|
mean
|
sd
|
range
|
DYS
|
-2.80
|
2.53
|
-9.07-1.04
|
TD
|
-0.06
|
0.82
|
-2.36-1.18
|
reading %>% summarize(mean = round(mean(nwr_time_z),2),
sd = round(sd(nwr_time_z),2),
min = round(min(nwr_time_z),2),
max = round(max(nwr_time_z),2),
.by = group) %>%
mutate(range = paste(min, max, sep = "-")) %>% dplyr::select(-min, -max) %>%
kable(caption = "Nonword reading fluency") %>% kable_minimal()
Nonword reading fluency
group
|
mean
|
sd
|
range
|
DYS
|
-3.62
|
3.45
|
-19.39–0.44
|
TD
|
-0.36
|
1.15
|
-4.58-1.8
|
reading %>% summarize(mean = round(mean(nwr_error_z),2),
sd = round(sd(nwr_error_z),2),
min = round(min(nwr_error_z),2),
max = round(max(nwr_error_z),2),
.by = group) %>%
mutate(range = paste(min, max, sep = "-")) %>% dplyr::select(-min, -max) %>%
kable(caption = "Nonword reading accuracy") %>% kable_minimal()
Nonword reading accuracy
group
|
mean
|
sd
|
range
|
DYS
|
-2.97
|
2.97
|
-11.78-0.75
|
TD
|
-0.28
|
1.29
|
-4.55-1.29
|
### word reading fluency
reading %>%
filter(!startsWith(ID, "VER")) %>%
filter(ID != "MEN12" & ID != "MEN18" & ID != "MEN26" & ID != "LAE33") %>%
mutate(group = as.factor(group)) %>%
lm(formula = wr_time_z ~ group) -> model.wr.fluency
### word reading accuracy
reading %>%
filter(!startsWith(ID, "VER")) %>%
filter(ID != "MEN12" & ID != "MEN18" & ID != "MEN26" & ID != "LAE33") %>%
mutate(group = as.factor(group)) %>%
lm(formula = wr_error_z ~ group) -> model.wr.acc
### nonword reading fluency
reading %>%
filter(!startsWith(ID, "VER")) %>%
filter(ID != "MEN12" & ID != "MEN18" & ID != "MEN26" & ID != "LAE33") %>%
mutate(group = as.factor(group)) %>%
lm(formula = nwr_time_z ~ group) -> model.nwr.fluency
### nonword reading accuracy
reading %>%
filter(!startsWith(ID, "VER")) %>%
filter(ID != "MEN12" & ID != "MEN18" & ID != "MEN26" & ID != "LAE33") %>%
mutate(group = as.factor(group)) %>%
lm(formula = nwr_error_z ~ group) -> model.nwr.acc
|
wr time z
|
wr error z
|
Predictors
|
Estimates
|
CI
|
p
|
Estimates
|
CI
|
p
|
(Intercept)
|
-4.15
|
-4.80 – -3.51
|
<0.001
|
-2.75
|
-3.35 – -2.15
|
<0.001
|
group [TD]
|
3.44
|
2.65 – 4.24
|
<0.001
|
2.74
|
2.00 – 3.49
|
<0.001
|
Observations
|
86
|
86
|
R2 / R2 adjusted
|
0.471 / 0.465
|
0.392 / 0.385
|
|
nwr time z
|
nwr error z
|
Predictors
|
Estimates
|
CI
|
p
|
Estimates
|
CI
|
p
|
(Intercept)
|
-3.03
|
-3.58 – -2.49
|
<0.001
|
-3.04
|
-3.80 – -2.27
|
<0.001
|
group [TD]
|
2.69
|
2.02 – 3.36
|
<0.001
|
2.75
|
1.81 – 3.69
|
<0.001
|
Observations
|
86
|
86
|
R2 / R2 adjusted
|
0.432 / 0.425
|
0.287 / 0.278
|


### Exclusion:
reading %>% dplyr::select(ID, reading.score, group.exclusion) -> reading
left_join(df, reading, by = "ID") -> 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,
TRUE ~ 0
)
) %>%
filter(exclude == 0) %>%
filter(ID != "VER01" & ID != "VER03") %>%
dplyr::select(-exclude) -> df
Analyzed sample
group
|
n
|
DYS
|
29
|
TD
|
51
|
Italian orthographic knowledge
Italian orthographic knowledge
group
|
mean
|
sd
|
min
|
max
|
DYS
|
29.55
|
10.18
|
12
|
50
|
TD
|
46.35
|
9.36
|
25
|
59
|
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group),
age = as.double(age), age = scale(age), age = as.double(age)) %>%
glm(formula = it.ok ~ group + age, family = poisson(link = "log")) -> model.it.ok
|
it ok
|
Predictors
|
Incidence Rate Ratios
|
CI
|
p
|
(Intercept)
|
28.57
|
26.64 – 30.59
|
<0.001
|
group [TD]
|
1.65
|
1.52 – 1.79
|
<0.001
|
age
|
1.08
|
1.04 – 1.12
|
<0.001
|
Observations
|
80
|
R2 Nagelkerke
|
0.866
|
|
LR Chisq
|
Df
|
Pr(>Chisq)
|
group
|
153.473
|
1
|
0
|
age
|
17.834
|
1
|
0
|

Digit span memory
forward
group
|
mean.for
|
sd
|
min
|
max
|
DYS
|
5.97
|
0.91
|
4
|
8
|
TD
|
6.63
|
1.11
|
4
|
9
|
backward
group
|
mean.for
|
sd
|
min
|
max
|
DYS
|
4.24
|
1.9
|
0
|
8
|
TD
|
5.39
|
1.4
|
3
|
8
|
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group)) %>%
glm(formula = forward ~ group + age, family = poisson(link = "log")) -> model.forward
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group)) %>%
glm(formula = backward ~ group + age, family = poisson(link = "log")) -> model.backward
|
forward
|
backward
|
Predictors
|
Incidence Rate Ratios
|
CI
|
p
|
Incidence Rate Ratios
|
CI
|
p
|
(Intercept)
|
6.02
|
1.96 – 18.57
|
0.002
|
1.93
|
0.55 – 6.80
|
0.308
|
group [TD]
|
1.11
|
0.92 – 1.35
|
0.287
|
1.33
|
1.06 – 1.66
|
0.013
|
age
|
1.00
|
0.94 – 1.06
|
0.987
|
1.05
|
0.97 – 1.12
|
0.214
|
Observations
|
80
|
80
|
R2 Nagelkerke
|
0.094
|
0.151
|
|
LR Chisq
|
Df
|
Pr(>Chisq)
|
group
|
1.144
|
1
|
0.285
|
age
|
0.000
|
1
|
0.987
|
|
LR Chisq
|
Df
|
Pr(>Chisq)
|
group
|
6.333
|
1
|
0.012
|
age
|
1.537
|
1
|
0.215
|

Phonological awareness
### Accuracy
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group)) %>%
glm(formula = pa.acc ~ group * age, family = poisson(link = "log")) -> model.pa.acc
tab_model(model.pa.acc)
|
pa acc
|
Predictors
|
Incidence Rate Ratios
|
CI
|
p
|
(Intercept)
|
6.96
|
2.55 – 18.85
|
<0.001
|
group [TD]
|
5.59
|
1.82 – 17.26
|
0.003
|
age
|
1.09
|
1.03 – 1.15
|
0.004
|
group [TD] × age
|
0.92
|
0.86 – 0.98
|
0.008
|
Observations
|
80
|
R2 Nagelkerke
|
0.483
|
emtrends(model.pa.acc, pairwise ~ group, var = "age", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(age.trend:z.ratio, ~round(.x,2)),
p.value = round(p.value,3)) %>%
kable() %>% kable_styling()
group
|
age.trend
|
SE
|
df
|
asymp.LCL
|
asymp.UCL
|
z.ratio
|
p.value
|
DYS
|
0.08
|
0.03
|
Inf
|
0.03
|
0.14
|
2.91
|
0.004
|
TD
|
0.00
|
0.02
|
Inf
|
-0.03
|
0.03
|
-0.19
|
0.849
|
### RT
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group),
pa.rt = log(pa.rt)) %>%
lm(formula = pa.rt ~ group * age) -> model.pa.rt
tab_model(model.pa.rt)
|
pa rt
|
Predictors
|
Estimates
|
CI
|
p
|
(Intercept)
|
11.52
|
8.95 – 14.08
|
<0.001
|
group [TD]
|
-2.98
|
-5.94 – -0.02
|
0.049
|
age
|
-0.13
|
-0.27 – 0.02
|
0.088
|
group [TD] × age
|
0.13
|
-0.04 – 0.30
|
0.143
|
Observations
|
80
|
R2 / R2 adjusted
|
0.406 / 0.382
|
### BIS
df %>%
distinct(ID, .keep_all = T) %>%
mutate(group = as.factor(group)) %>%
lm(formula = tot.bis.pa ~ group * age) -> model.pa.bis
tab_model(model.pa.bis)
|
tot bis pa
|
Predictors
|
Estimates
|
CI
|
p
|
(Intercept)
|
-13.80
|
-21.51 – -6.08
|
0.001
|
group [TD]
|
15.07
|
6.16 – 23.97
|
0.001
|
age
|
0.70
|
0.26 – 1.14
|
0.002
|
group [TD] × age
|
-0.72
|
-1.23 – -0.21
|
0.007
|
Observations
|
80
|
R2 / R2 adjusted
|
0.467 / 0.446
|
Anova(model.pa.bis, type = "III") %>% as.data.frame() %>% mutate_all(~round(.x,3)) %>% kable() %>% kable_minimal()
|
Sum Sq
|
Df
|
F value
|
Pr(>F)
|
(Intercept)
|
24.613
|
1
|
12.692
|
0.001
|
group
|
22.028
|
1
|
11.359
|
0.001
|
age
|
19.832
|
1
|
10.226
|
0.002
|
group:age
|
15.181
|
1
|
7.828
|
0.007
|
Residuals
|
147.388
|
76
|
NA
|
NA
|
emtrends(model.pa.bis, pairwise ~ group, var = "age", infer = T, adjust = "bonferroni")$emtrends %>%
as.data.frame() %>%
mutate(across(age.trend:t.ratio, ~round(.x,2)),
p.value = round(p.value,3)) %>%
kable() %>% kable_styling()
group
|
age.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
DYS
|
0.70
|
0.22
|
76
|
0.26
|
1.14
|
3.20
|
0.002
|
TD
|
-0.02
|
0.13
|
76
|
-0.28
|
0.25
|
-0.13
|
0.899
|

English orthographic knowledge
|
en ok bis
|
Predictors
|
Estimates
|
CI
|
p
|
(Intercept)
|
-4.12
|
-7.89 – -0.35
|
0.033
|
group [TD]
|
2.36
|
1.72 – 2.99
|
<0.001
|
age
|
0.16
|
-0.05 – 0.37
|
0.139
|
Observations
|
80
|
R2 / R2 adjusted
|
0.418 / 0.403
|
|
Sum Sq
|
Df
|
F value
|
Pr(>F)
|
group
|
92.365
|
1
|
54.577
|
0.000
|
age
|
3.785
|
1
|
2.236
|
0.139
|
Residuals
|
130.315
|
77
|
NA
|
NA
|

LexTALE
To measure L2 vocabulary size the LexTALE test was used (Lemhöfer
& Broersma, 2012). The test includes a total of 60 items, 40 real
words and 20 nonwords, and was implemented on Gorilla (Anwyl-Irvine et
al., 2018). Participants were instructed to accept or reject the items
depending on whether or not they were familiar with them. Items were not
randomized as per instructions on the LexTALE website . Accuracy in the
LexTALE (Lemhöfer & Broersma, 2012) was computed with the formula:
LexTALE score = Tot Correct - 2* False Alarms
group
|
mean
|
sd
|
min
|
max
|
DYS
|
8.79
|
6.18
|
-2
|
29
|
TD
|
13.33
|
6.32
|
0
|
34
|
|
tot lextale
|
Predictors
|
Estimates
|
CI
|
p
|
(Intercept)
|
-16.37
|
-33.73 – 0.99
|
0.064
|
group [TD]
|
5.89
|
2.96 – 8.81
|
<0.001
|
age
|
1.43
|
0.45 – 2.40
|
0.005
|
Observations
|
80
|
R2 / R2 adjusted
|
0.199 / 0.178
|
|
Sum Sq
|
Df
|
F value
|
Pr(>F)
|
group
|
577.093
|
1
|
16.066
|
0.000
|
age
|
304.165
|
1
|
8.468
|
0.005
|
Residuals
|
2765.927
|
77
|
NA
|
NA
|

Inferential stats SDF: d’ measure
Calculate:
- Hits - Target YES - Answer YES
- Misses - Target YES - Answer NO
- False Alarms - Target NO - Answer YES
- Correct rejection - Target NO - Answer NO
### POSITION 1
df %>% filter(pos == 1 | pos == "none") -> df.pos1
df.pos1 %>%
group_by(ID) %>%
mutate(
hits = if_else(target == "YES" & response == "YES", 1, 0),
miss = if_else(target == "YES" & response == "NO", 1, 0),
fa = if_else(target == "NO" & response == "YES", 1,0),
cr = if_else(target == "NO" & response == "NO", 1,0)
) %>%
summarize(
n_hits = sum(hits),
n_miss = sum(miss),
n_fa = sum(fa),
n_cr = sum(cr)
) %>%
mutate(
n_target = 10,
n_distractors = 30
) %>%
ungroup() -> dprime.df.pos1
psycho::dprime(
n_hit = dprime.df.pos1$n_hits,
n_miss = dprime.df.pos1$n_miss,
n_fa = dprime.df.pos1$n_fa,
n_cr = dprime.df.pos1$n_cr,
n_targets = dprime.df.pos1$n_target,
n_distractors = dprime.df.pos1$n_distractors,
adjusted = T) %>%
as.data.frame() %>%
mutate(pos = "1") -> dprime.df.pos1
### join with ID and group
df %>% distinct(ID, .keep_all = T) %>% dplyr::select(ID, group) -> ID
cbind(ID, dprime.df.pos1) -> dprime.df.pos1
### POSITION 2
df %>% filter(pos == 2 | pos == "none") -> df.pos2
df.pos2 %>%
group_by(ID) %>%
mutate(
hits = if_else(target == "YES" & response == "YES", 1, 0),
miss = if_else(target == "YES" & response == "NO", 1, 0),
fa = if_else(target == "NO" & response == "YES", 1,0),
cr = if_else(target == "NO" & response == "NO", 1,0)
) %>%
summarize(
n_hits = sum(hits),
n_miss = sum(miss),
n_fa = sum(fa),
n_cr = sum(cr)
) %>%
mutate(
n_target = 10,
n_distractors = 30
) %>%
ungroup() -> dprime.df.pos2
psycho::dprime(
n_hit = dprime.df.pos2$n_hits,
n_miss = dprime.df.pos2$n_miss,
n_fa = dprime.df.pos2$n_fa,
n_cr = dprime.df.pos2$n_cr,
n_targets = dprime.df.pos2$n_target,
n_distractors = dprime.df.pos2$n_distractors,
adjusted = T) %>%
as.data.frame() %>%
mutate(pos = "2") -> dprime.df.pos2
### join with ID
cbind(ID, dprime.df.pos2) -> dprime.df.pos2
bind_rows(dprime.df.pos1, dprime.df.pos2) -> dprime.df
### POSITION 3
df %>% filter(pos == 3 | pos == "none") -> df.pos3
df.pos3 %>%
group_by(ID) %>%
mutate(
hits = if_else(target == "YES" & response == "YES", 1, 0),
miss = if_else(target == "YES" & response == "NO", 1, 0),
fa = if_else(target == "NO" & response == "YES", 1,0),
cr = if_else(target == "NO" & response == "NO", 1,0)
) %>%
summarize(
n_hits = sum(hits),
n_miss = sum(miss),
n_fa = sum(fa),
n_cr = sum(cr)
) %>%
mutate(
n_target = 10,
n_distractors = 30
) %>%
ungroup() -> dprime.df.pos3
psycho::dprime(
n_hit = dprime.df.pos3$n_hits,
n_miss = dprime.df.pos3$n_miss,
n_fa = dprime.df.pos3$n_fa,
n_cr = dprime.df.pos3$n_cr,
n_targets = dprime.df.pos3$n_target,
n_distractors = dprime.df.pos3$n_distractors,
adjusted = T) %>%
as.data.frame() %>%
mutate(pos = "3") -> dprime.df.pos3
### join with ID
cbind(ID, dprime.df.pos3) -> dprime.df.pos3
bind_rows(dprime.df, dprime.df.pos3) -> dprime.df
### POSITION 4
df %>% filter(pos == 4 | pos == "none") -> df.pos4
df.pos4 %>%
group_by(ID) %>%
mutate(
hits = if_else(target == "YES" & response == "YES", 1, 0),
miss = if_else(target == "YES" & response == "NO", 1, 0),
fa = if_else(target == "NO" & response == "YES", 1,0),
cr = if_else(target == "NO" & response == "NO", 1,0)
) %>%
summarize(
n_hits = sum(hits),
n_miss = sum(miss),
n_fa = sum(fa),
n_cr = sum(cr)
) %>%
mutate(
n_target = 10,
n_distractors = 30
) %>%
ungroup() -> dprime.df.pos4
psycho::dprime(
n_hit = dprime.df.pos4$n_hits,
n_miss = dprime.df.pos4$n_miss,
n_fa = dprime.df.pos4$n_fa,
n_cr = dprime.df.pos4$n_cr,
n_targets = dprime.df.pos4$n_target,
n_distractors = dprime.df.pos4$n_distractors,
adjusted = T) %>%
as.data.frame() %>%
mutate(pos = "4") -> dprime.df.pos4
### join with ID
cbind(ID, dprime.df.pos4) -> dprime.df.pos4
bind_rows(dprime.df, dprime.df.pos4) -> dprime.df
### POSITION 5
df %>% filter(pos == 5 | pos == "none") -> df.pos5
df.pos5 %>%
group_by(ID) %>%
mutate(
hits = if_else(target == "YES" & response == "YES", 1, 0),
miss = if_else(target == "YES" & response == "NO", 1, 0),
fa = if_else(target == "NO" & response == "YES", 1,0),
cr = if_else(target == "NO" & response == "NO", 1,0)
) %>%
summarize(
n_hits = sum(hits),
n_miss = sum(miss),
n_fa = sum(fa),
n_cr = sum(cr)
) %>%
mutate(
n_target = 10,
n_distractors = 30
) %>%
ungroup() -> dprime.df.pos5
psycho::dprime(
n_hit = dprime.df.pos5$n_hits,
n_miss = dprime.df.pos5$n_miss,
n_fa = dprime.df.pos5$n_fa,
n_cr = dprime.df.pos5$n_cr,
n_targets = dprime.df.pos5$n_target,
n_distractors = dprime.df.pos5$n_distractors,
adjusted = T) %>%
as.data.frame() %>%
mutate(pos = "5") -> dprime.df.pos5
### join with ID
cbind(ID, dprime.df.pos5) -> dprime.df.pos5
bind_rows(dprime.df, dprime.df.pos5) -> dprime.df
rm("df.pos1", "df.pos2", "df.pos3", "df.pos4", "df.pos5",
"dprime.df.pos1", "dprime.df.pos2", "dprime.df.pos3", "dprime.df.pos4", "dprime.df.pos5", "dprime.measures")

VA span ~ EN Orthographic Knowledge
dprime.df %>%
mutate(
ID = as.factor(ID),
pos = as.factor(pos)
) %>%
### proficiency measures
rowwise() %>%
mutate(memory.score = mean(c_across(forward:backward))) %>%
ungroup() %>%
mutate(memory.score = scale(memory.score)) %>%
### IT and EN orthographic knowledge
mutate(en.ok.bis = scale(en.ok.bis),
it.ok = scale(it.ok)) %>%
rename(OrthKnowledgeEN = en.ok.bis,
OrthKnowledgeIT = it.ok) %>%
filter(pos != "none") %>%
lmer(formula = dprime ~
OrthKnowledgeEN * pos * group +
memory.score +
(1 |ID)) -> m1.dprime
anova_table(m1.dprime) -> anova.m1.dprime
color.me <- which(anova.m1.dprime$p.value <= 0.05)
anova.m1.dprime %>%
kable() %>% kable_styling() %>% row_spec(color.me, background = "#F7F9FF", bold = T)
|
Chisq
|
Df
|
p.value
|
(Intercept)
|
65.61
|
1
|
0.000
|
OrthKnowledgeEN
|
2.75
|
1
|
0.097
|
pos
|
3.02
|
4
|
0.554
|
group
|
9.83
|
1
|
0.002
|
memory.score
|
0.03
|
1
|
0.855
|
OrthKnowledgeEN:pos
|
3.25
|
4
|
0.517
|
OrthKnowledgeEN:group
|
6.96
|
1
|
0.008
|
pos:group
|
12.67
|
4
|
0.013
|
OrthKnowledgeEN:pos:group
|
9.90
|
4
|
0.042
|

emmeans(m1.dprime, pairwise ~ OrthKnowledgeEN | pos | group, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() -> emmeans.m1.dprime
emtrends(m1.dprime, pairwise ~ pos | group, var = "OrthKnowledgeEN", infer = T, adjust = "bonferroni")$emtrends %>%
emtrends_lmer_table() -> emtrends.m1.dprime
contrast
|
pos
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
1
|
DYS
|
-0.44
|
0.26
|
148.52
|
-1.66
|
0.099
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
2
|
DYS
|
-0.22
|
0.26
|
148.52
|
-0.85
|
0.395
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
3
|
DYS
|
-0.05
|
0.26
|
148.52
|
-0.18
|
0.857
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
4
|
DYS
|
-0.29
|
0.26
|
148.52
|
-1.10
|
0.274
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
5
|
DYS
|
-0.35
|
0.26
|
148.52
|
-1.33
|
0.186
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
1
|
TD
|
1.05
|
0.50
|
144.24
|
2.09
|
0.038
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
2
|
TD
|
0.60
|
0.50
|
144.24
|
1.19
|
0.234
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
3
|
TD
|
0.18
|
0.50
|
144.24
|
0.36
|
0.720
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
4
|
TD
|
-0.12
|
0.50
|
144.24
|
-0.24
|
0.810
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
5
|
TD
|
0.10
|
0.50
|
144.24
|
0.21
|
0.836
|
pos
|
group
|
OrthKnowledgeEN.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
1
|
DYS
|
0.22
|
0.13
|
148.52
|
-0.04
|
0.48
|
1.66
|
0.099
|
2
|
DYS
|
0.11
|
0.13
|
148.52
|
-0.15
|
0.37
|
0.85
|
0.395
|
3
|
DYS
|
0.02
|
0.13
|
148.52
|
-0.24
|
0.28
|
0.18
|
0.857
|
4
|
DYS
|
0.14
|
0.13
|
148.52
|
-0.12
|
0.40
|
1.10
|
0.274
|
5
|
DYS
|
0.17
|
0.13
|
148.52
|
-0.08
|
0.43
|
1.33
|
0.186
|
1
|
TD
|
-0.53
|
0.25
|
144.24
|
-1.03
|
-0.03
|
-2.09
|
0.038
|
2
|
TD
|
-0.30
|
0.25
|
144.24
|
-0.80
|
0.20
|
-1.19
|
0.234
|
3
|
TD
|
-0.09
|
0.25
|
144.24
|
-0.59
|
0.41
|
-0.36
|
0.720
|
4
|
TD
|
0.06
|
0.25
|
144.24
|
-0.44
|
0.56
|
0.24
|
0.810
|
5
|
TD
|
-0.05
|
0.25
|
144.24
|
-0.55
|
0.45
|
-0.21
|
0.836
|
emmeans(m1.dprime, pairwise ~ pos | OrthKnowledgeEN | group, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() %>% filter(contrast == "pos1 - pos5") -> emmeans2.m1.dprime
contrast
|
OrthKnowledgeEN
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
pos1 - pos5
|
-1
|
DYS
|
0.16
|
0.13
|
304
|
1.25
|
1.000
|
pos1 - pos5
|
1
|
DYS
|
0.25
|
0.25
|
304
|
1.01
|
1.000
|
pos1 - pos5
|
-1
|
TD
|
1.39
|
0.33
|
304
|
4.15
|
0.000
|
pos1 - pos5
|
1
|
TD
|
0.44
|
0.15
|
304
|
2.92
|
0.038
|
### Contrast TD and DYS
emmeans(m1.dprime, pairwise ~ group | pos | OrthKnowledgeEN, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>% emmeans_lmer_table() -> emmeans3.m1.dprime
contrast
|
pos
|
OrthKnowledgeEN
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
DYS - TD
|
1
|
-1
|
-1.52
|
0.41
|
149.01
|
-3.72
|
0.000
|
DYS - TD
|
2
|
-1
|
-0.92
|
0.41
|
149.01
|
-2.26
|
0.026
|
DYS - TD
|
3
|
-1
|
-0.62
|
0.41
|
149.01
|
-1.52
|
0.130
|
DYS - TD
|
4
|
-1
|
-0.33
|
0.41
|
149.01
|
-0.80
|
0.423
|
DYS - TD
|
5
|
-1
|
-0.30
|
0.41
|
149.01
|
-0.74
|
0.462
|
DYS - TD
|
1
|
1
|
-0.03
|
0.34
|
143.19
|
-0.10
|
0.922
|
DYS - TD
|
2
|
1
|
-0.10
|
0.34
|
143.19
|
-0.29
|
0.774
|
DYS - TD
|
3
|
1
|
-0.39
|
0.34
|
143.19
|
-1.16
|
0.247
|
DYS - TD
|
4
|
1
|
-0.16
|
0.34
|
143.19
|
-0.48
|
0.634
|
DYS - TD
|
5
|
1
|
0.15
|
0.34
|
143.19
|
0.45
|
0.655
|

VA span ~ IT Orthographic Knowledge
dprime.df %>%
mutate(
ID = as.factor(ID),
pos = as.factor(pos)
) %>%
### proficiency measures
rowwise() %>%
mutate(memory.score = mean(c_across(forward:backward))) %>%
ungroup() %>%
mutate(memory.score = scale(memory.score)) %>%
### scale IT and EN orthographic knowledge
mutate(en.ok.bis = scale(en.ok.bis),
it.ok = scale(it.ok)) %>%
rename(OrthKnowledgeEN = en.ok.bis,
OrthKnowledgeIT = it.ok) %>%
filter(pos != "none") %>%
lmer(formula = dprime ~
OrthKnowledgeIT * pos * group +
memory.score +
(1|ID)) -> m2.dprime
anova_table(m2.dprime) -> m2.dprime.anova
color.me <- which(m2.dprime.anova$p.value <= 0.05)
m2.dprime.anova %>% kable() %>% kable_styling() %>% row_spec(color.me, background = "#F7F9FF", bold = T)
|
Chisq
|
Df
|
p.value
|
(Intercept)
|
29.80
|
1
|
0.000
|
OrthKnowledgeIT
|
0.51
|
1
|
0.477
|
pos
|
0.42
|
4
|
0.981
|
group
|
10.96
|
1
|
0.001
|
memory.score
|
0.05
|
1
|
0.827
|
OrthKnowledgeIT:pos
|
0.98
|
4
|
0.913
|
OrthKnowledgeIT:group
|
0.01
|
1
|
0.914
|
pos:group
|
8.21
|
4
|
0.084
|
OrthKnowledgeIT:pos:group
|
1.38
|
4
|
0.848
|

emmeans(m2.dprime, pairwise ~ OrthKnowledgeIT | pos | group, at = list(OrthKnowledgeIT = c(-1,1)))$contrasts %>%
emmeans_lmer_table() -> emmeans.m2.dprime
emtrends(m2.dprime, pairwise ~ pos | group, var = "OrthKnowledgeIT", infer = T, adjust = "bonferroni")$emtrends %>% emtrends_lmer_table() -> emtrends.m2.dprime
contrast
|
pos
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
1
|
DYS
|
0.27
|
0.38
|
149.88
|
0.71
|
0.478
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
2
|
DYS
|
0.21
|
0.38
|
149.88
|
0.56
|
0.576
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
3
|
DYS
|
0.17
|
0.38
|
149.88
|
0.44
|
0.660
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
4
|
DYS
|
0.04
|
0.38
|
149.88
|
0.12
|
0.908
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
5
|
DYS
|
-0.01
|
0.38
|
149.88
|
-0.03
|
0.979
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
1
|
TD
|
0.21
|
0.31
|
148.76
|
0.70
|
0.485
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
2
|
TD
|
0.12
|
0.31
|
148.76
|
0.40
|
0.689
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
3
|
TD
|
0.32
|
0.31
|
148.76
|
1.04
|
0.300
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
4
|
TD
|
0.00
|
0.31
|
148.76
|
0.00
|
0.996
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
5
|
TD
|
0.32
|
0.31
|
148.76
|
1.03
|
0.305
|
pos
|
group
|
OrthKnowledgeIT.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
1
|
DYS
|
-0.13
|
0.19
|
149.88
|
-0.50
|
0.24
|
-0.71
|
0.478
|
2
|
DYS
|
-0.11
|
0.19
|
149.88
|
-0.48
|
0.27
|
-0.56
|
0.576
|
3
|
DYS
|
-0.08
|
0.19
|
149.88
|
-0.45
|
0.29
|
-0.44
|
0.660
|
4
|
DYS
|
-0.02
|
0.19
|
149.88
|
-0.39
|
0.35
|
-0.12
|
0.908
|
5
|
DYS
|
0.00
|
0.19
|
149.88
|
-0.37
|
0.38
|
0.03
|
0.979
|
1
|
TD
|
-0.11
|
0.15
|
148.76
|
-0.41
|
0.20
|
-0.70
|
0.485
|
2
|
TD
|
-0.06
|
0.15
|
148.76
|
-0.36
|
0.24
|
-0.40
|
0.689
|
3
|
TD
|
-0.16
|
0.15
|
148.76
|
-0.46
|
0.14
|
-1.04
|
0.300
|
4
|
TD
|
0.00
|
0.15
|
148.76
|
-0.30
|
0.30
|
0.00
|
0.996
|
5
|
TD
|
-0.16
|
0.15
|
148.76
|
-0.46
|
0.15
|
-1.03
|
0.305
|
emmeans(m2.dprime, pairwise ~ pos | OrthKnowledgeIT | group, at = list(OrthKnowledgeIT = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() %>% filter(contrast == "pos1 - pos5") -> emmeans2.m2.dprime
contrast
|
OrthKnowledgeIT
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
pos1 - pos5
|
-1
|
DYS
|
0.19
|
0.13
|
304
|
1.43
|
1.000
|
pos1 - pos5
|
1
|
DYS
|
-0.09
|
0.33
|
304
|
-0.26
|
1.000
|
pos1 - pos5
|
-1
|
TD
|
0.61
|
0.22
|
304
|
2.73
|
0.068
|
pos1 - pos5
|
1
|
TD
|
0.71
|
0.12
|
304
|
5.86
|
0.000
|
### Contrast TD and DYS
emmeans(m2.dprime, pairwise ~ group | pos | OrthKnowledgeIT, at = list(OrthKnowledgeIT = c(-1,1)), adjust = "bonferroni")$contrasts %>% emmeans_lmer_table() -> emmeans3.m2.dprime
contrast
|
pos
|
OrthKnowledgeIT
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
DYS - TD
|
1
|
-1
|
-0.85
|
0.30
|
147.52
|
-2.85
|
0.005
|
DYS - TD
|
2
|
-1
|
-0.54
|
0.30
|
147.52
|
-1.80
|
0.074
|
DYS - TD
|
3
|
-1
|
-0.71
|
0.30
|
147.52
|
-2.38
|
0.018
|
DYS - TD
|
4
|
-1
|
-0.39
|
0.30
|
147.52
|
-1.31
|
0.191
|
DYS - TD
|
5
|
-1
|
-0.43
|
0.30
|
147.52
|
-1.45
|
0.149
|
DYS - TD
|
1
|
1
|
-0.90
|
0.41
|
145.88
|
-2.20
|
0.029
|
DYS - TD
|
2
|
1
|
-0.63
|
0.41
|
145.88
|
-1.52
|
0.130
|
DYS - TD
|
3
|
1
|
-0.56
|
0.41
|
145.88
|
-1.36
|
0.175
|
DYS - TD
|
4
|
1
|
-0.44
|
0.41
|
145.88
|
-1.07
|
0.288
|
DYS - TD
|
5
|
1
|
-0.11
|
0.41
|
145.88
|
-0.26
|
0.793
|

Inferential stats SDT: C criterion
VA span ~ EN Orthographic Knowledge
dprime.df %>%
mutate(
ID = as.factor(ID),
pos = as.factor(pos)
) %>%
### proficiency measures
rowwise() %>%
mutate(memory.score = mean(c_across(forward:backward))) %>%
ungroup() %>%
mutate(memory.score = scale(memory.score)) %>%
### scale IT and EN orthographic knowledge
mutate(en.ok.bis = scale(en.ok.bis),
it.ok = scale(it.ok)) %>%
rename(OrthKnowledgeEN = en.ok.bis,
OrthKnowledgeIT = it.ok) %>%
filter(pos != "none") %>%
lmer(formula = c ~
OrthKnowledgeEN * group * pos +
# memory.score * group +
memory.score +
(1|ID)) -> m1.c
#drop1(m1.c)
anova_table(m1.c) -> anova.m1.c
color.me <- which(anova.m1.c$p.value <= 0.05)
anova.m1.c %>% kable() %>% kable_styling() %>% row_spec(color.me, background = "#F7F9FF", bold = T)
|
Chisq
|
Df
|
p.value
|
(Intercept)
|
0.01
|
1
|
0.941
|
OrthKnowledgeEN
|
3.66
|
1
|
0.056
|
group
|
2.28
|
1
|
0.131
|
pos
|
3.02
|
4
|
0.554
|
memory.score
|
0.68
|
1
|
0.411
|
OrthKnowledgeEN:group
|
4.51
|
1
|
0.034
|
OrthKnowledgeEN:pos
|
3.25
|
4
|
0.517
|
group:pos
|
12.67
|
4
|
0.013
|
OrthKnowledgeEN:group:pos
|
9.90
|
4
|
0.042
|

emmeans(m1.c, pairwise ~ OrthKnowledgeEN | pos | group, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() -> emmeans.m1.c
emtrends(m1.c, pairwise ~ pos | group, var = "OrthKnowledgeEN", infer = T, adjust = "bonferroni")$emtrends %>% emtrends_lmer_table() -> emtrends.m1.c
contrast
|
pos
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
1
|
DYS
|
0.22
|
0.11
|
190.23
|
1.91
|
0.057
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
2
|
DYS
|
0.11
|
0.11
|
190.23
|
0.98
|
0.326
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
3
|
DYS
|
0.02
|
0.11
|
190.23
|
0.21
|
0.833
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
4
|
DYS
|
0.14
|
0.11
|
190.23
|
1.27
|
0.207
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
5
|
DYS
|
0.17
|
0.11
|
190.23
|
1.53
|
0.127
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
1
|
TD
|
-0.30
|
0.22
|
183.81
|
-1.39
|
0.168
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
2
|
TD
|
-0.08
|
0.22
|
183.81
|
-0.35
|
0.727
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
3
|
TD
|
0.13
|
0.22
|
183.81
|
0.62
|
0.539
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
4
|
TD
|
0.29
|
0.22
|
183.81
|
1.31
|
0.193
|
(OrthKnowledgeEN-1) - OrthKnowledgeEN1
|
5
|
TD
|
0.17
|
0.22
|
183.81
|
0.79
|
0.431
|
pos
|
group
|
OrthKnowledgeEN.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
1
|
DYS
|
-0.11
|
0.06
|
190.23
|
-0.22
|
0.00
|
-1.91
|
0.057
|
2
|
DYS
|
-0.06
|
0.06
|
190.23
|
-0.17
|
0.06
|
-0.98
|
0.326
|
3
|
DYS
|
-0.01
|
0.06
|
190.23
|
-0.12
|
0.10
|
-0.21
|
0.833
|
4
|
DYS
|
-0.07
|
0.06
|
190.23
|
-0.18
|
0.04
|
-1.27
|
0.207
|
5
|
DYS
|
-0.09
|
0.06
|
190.23
|
-0.20
|
0.03
|
-1.53
|
0.127
|
1
|
TD
|
0.15
|
0.11
|
183.81
|
-0.06
|
0.37
|
1.39
|
0.168
|
2
|
TD
|
0.04
|
0.11
|
183.81
|
-0.18
|
0.25
|
0.35
|
0.727
|
3
|
TD
|
-0.07
|
0.11
|
183.81
|
-0.28
|
0.15
|
-0.62
|
0.539
|
4
|
TD
|
-0.14
|
0.11
|
183.81
|
-0.36
|
0.07
|
-1.31
|
0.193
|
5
|
TD
|
-0.09
|
0.11
|
183.81
|
-0.30
|
0.13
|
-0.79
|
0.431
|
emmeans(m1.c, pairwise ~ pos | OrthKnowledgeEN| group, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() -> emmeans2.m1.c
contrast
|
OrthKnowledgeEN
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
pos1 - pos2
|
-1
|
DYS
|
0.00
|
0.07
|
304
|
-0.02
|
1.000
|
pos1 - pos3
|
-1
|
DYS
|
0.00
|
0.07
|
304
|
-0.02
|
1.000
|
pos1 - pos4
|
-1
|
DYS
|
-0.09
|
0.07
|
304
|
-1.34
|
1.000
|
pos1 - pos5
|
-1
|
DYS
|
-0.08
|
0.07
|
304
|
-1.25
|
1.000
|
pos2 - pos3
|
-1
|
DYS
|
0.00
|
0.07
|
304
|
0.00
|
1.000
|
pos2 - pos4
|
-1
|
DYS
|
-0.09
|
0.07
|
304
|
-1.32
|
1.000
|
pos2 - pos5
|
-1
|
DYS
|
-0.08
|
0.07
|
304
|
-1.23
|
1.000
|
pos3 - pos4
|
-1
|
DYS
|
-0.09
|
0.07
|
304
|
-1.31
|
1.000
|
pos3 - pos5
|
-1
|
DYS
|
-0.08
|
0.07
|
304
|
-1.23
|
1.000
|
pos4 - pos5
|
-1
|
DYS
|
0.01
|
0.07
|
304
|
0.09
|
1.000
|
pos1 - pos2
|
1
|
DYS
|
-0.11
|
0.12
|
304
|
-0.87
|
1.000
|
pos1 - pos3
|
1
|
DYS
|
-0.20
|
0.12
|
304
|
-1.58
|
1.000
|
pos1 - pos4
|
1
|
DYS
|
-0.16
|
0.12
|
304
|
-1.30
|
1.000
|
pos1 - pos5
|
1
|
DYS
|
-0.13
|
0.12
|
304
|
-1.01
|
1.000
|
pos2 - pos3
|
1
|
DYS
|
-0.09
|
0.12
|
304
|
-0.71
|
1.000
|
pos2 - pos4
|
1
|
DYS
|
-0.05
|
0.12
|
304
|
-0.44
|
1.000
|
pos2 - pos5
|
1
|
DYS
|
-0.02
|
0.12
|
304
|
-0.15
|
1.000
|
pos3 - pos4
|
1
|
DYS
|
0.03
|
0.12
|
304
|
0.28
|
1.000
|
pos3 - pos5
|
1
|
DYS
|
0.07
|
0.12
|
304
|
0.57
|
1.000
|
pos4 - pos5
|
1
|
DYS
|
0.04
|
0.12
|
304
|
0.29
|
1.000
|
pos1 - pos2
|
-1
|
TD
|
-0.30
|
0.17
|
304
|
-1.81
|
0.720
|
pos1 - pos3
|
-1
|
TD
|
-0.45
|
0.17
|
304
|
-2.71
|
0.072
|
pos1 - pos4
|
-1
|
TD
|
-0.68
|
0.17
|
304
|
-4.10
|
0.001
|
pos1 - pos5
|
-1
|
TD
|
-0.69
|
0.17
|
304
|
-4.15
|
0.000
|
pos2 - pos3
|
-1
|
TD
|
-0.15
|
0.17
|
304
|
-0.90
|
1.000
|
pos2 - pos4
|
-1
|
TD
|
-0.38
|
0.17
|
304
|
-2.30
|
0.222
|
pos2 - pos5
|
-1
|
TD
|
-0.39
|
0.17
|
304
|
-2.35
|
0.196
|
pos3 - pos4
|
-1
|
TD
|
-0.23
|
0.17
|
304
|
-1.40
|
1.000
|
pos3 - pos5
|
-1
|
TD
|
-0.24
|
0.17
|
304
|
-1.45
|
1.000
|
pos4 - pos5
|
-1
|
TD
|
-0.01
|
0.17
|
304
|
-0.05
|
1.000
|
pos1 - pos2
|
1
|
TD
|
-0.08
|
0.07
|
304
|
-1.01
|
1.000
|
pos1 - pos3
|
1
|
TD
|
-0.01
|
0.07
|
304
|
-0.20
|
1.000
|
pos1 - pos4
|
1
|
TD
|
-0.10
|
0.07
|
304
|
-1.30
|
1.000
|
pos1 - pos5
|
1
|
TD
|
-0.22
|
0.07
|
304
|
-2.92
|
0.038
|
pos2 - pos3
|
1
|
TD
|
0.06
|
0.07
|
304
|
0.81
|
1.000
|
pos2 - pos4
|
1
|
TD
|
-0.02
|
0.07
|
304
|
-0.29
|
1.000
|
pos2 - pos5
|
1
|
TD
|
-0.14
|
0.07
|
304
|
-1.91
|
0.570
|
pos3 - pos4
|
1
|
TD
|
-0.08
|
0.07
|
304
|
-1.10
|
1.000
|
pos3 - pos5
|
1
|
TD
|
-0.20
|
0.07
|
304
|
-2.72
|
0.069
|
pos4 - pos5
|
1
|
TD
|
-0.12
|
0.07
|
304
|
-1.62
|
1.000
|
### Contrast TD and DYS
emmeans(m1.c, pairwise ~ group | pos | OrthKnowledgeEN, at = list(OrthKnowledgeEN = c(-1,1)), adjust = "bonferroni")$contrasts %>% emmeans_lmer_table() -> emmeans3.m1.c
contrast
|
pos
|
OrthKnowledgeEN
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
DYS - TD
|
1
|
-1
|
0.42
|
0.18
|
190.96
|
2.38
|
0.018
|
DYS - TD
|
2
|
-1
|
0.12
|
0.18
|
190.96
|
0.69
|
0.490
|
DYS - TD
|
3
|
-1
|
-0.03
|
0.18
|
190.96
|
-0.15
|
0.879
|
DYS - TD
|
4
|
-1
|
-0.17
|
0.18
|
190.96
|
-0.98
|
0.329
|
DYS - TD
|
5
|
-1
|
-0.19
|
0.18
|
190.96
|
-1.06
|
0.292
|
DYS - TD
|
1
|
1
|
-0.10
|
0.15
|
182.23
|
-0.66
|
0.508
|
DYS - TD
|
2
|
1
|
-0.07
|
0.15
|
182.23
|
-0.44
|
0.657
|
DYS - TD
|
3
|
1
|
0.08
|
0.15
|
182.23
|
0.57
|
0.572
|
DYS - TD
|
4
|
1
|
-0.03
|
0.15
|
182.23
|
-0.23
|
0.821
|
DYS - TD
|
5
|
1
|
-0.19
|
0.15
|
182.23
|
-1.29
|
0.197
|

VA span ~ IT Orthographic Knowledge
dprime.df %>%
mutate(
ID = as.factor(ID),
pos = as.factor(pos)
) %>%
### proficiency measures
rowwise() %>%
mutate(memory.score = mean(c_across(forward:backward))) %>%
ungroup() %>%
mutate(memory.score = scale(memory.score)) %>%
### scale IT and EN orthographic knowledge
mutate(en.ok.bis = scale(en.ok.bis),
it.ok = scale(it.ok)) %>%
rename(OrthKnowledgeEN = en.ok.bis,
OrthKnowledgeIT = it.ok) %>%
filter(pos != "none") %>%
lmer(formula = c ~
OrthKnowledgeIT * group * pos +
# memory.score * group +
memory.score +
(1|ID)) -> m2.c
# drop1(m2.c)
anova_table(m2.c) -> anova.m2.c
color.me <- which(anova.m2.c$p.value <= 0.05)
anova.m2.c %>% kable() %>% kable_styling() %>% row_spec(color.me, background = "#F7F9FF", bold = T)
|
Chisq
|
Df
|
p.value
|
(Intercept)
|
0.92
|
1
|
0.337
|
OrthKnowledgeIT
|
0.03
|
1
|
0.858
|
group
|
3.17
|
1
|
0.075
|
pos
|
0.42
|
4
|
0.981
|
memory.score
|
1.20
|
1
|
0.274
|
OrthKnowledgeIT:group
|
0.04
|
1
|
0.845
|
OrthKnowledgeIT:pos
|
0.98
|
4
|
0.913
|
group:pos
|
8.21
|
4
|
0.084
|
OrthKnowledgeIT:group:pos
|
1.38
|
4
|
0.848
|

emmeans(m2.c, pairwise ~ OrthKnowledgeIT | pos | group, at = list(OrthKnowledgeIT = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() -> emmeans.m2.c
emtrends(m2.c, pairwise ~ pos | group, var = "OrthKnowledgeIT", infer = T, adjust = "bonferroni")$emtrends %>% emtrends_lmer_table() -> emtrends.m2.c
contrast
|
pos
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
1
|
DYS
|
-0.03
|
0.16
|
191.58
|
-0.18
|
0.858
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
2
|
DYS
|
0.00
|
0.16
|
191.58
|
-0.01
|
0.996
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
3
|
DYS
|
0.02
|
0.16
|
191.58
|
0.13
|
0.895
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
4
|
DYS
|
0.08
|
0.16
|
191.58
|
0.50
|
0.614
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
5
|
DYS
|
0.11
|
0.16
|
191.58
|
0.67
|
0.505
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
1
|
TD
|
-0.07
|
0.13
|
189.91
|
-0.53
|
0.598
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
2
|
TD
|
-0.02
|
0.13
|
189.91
|
-0.18
|
0.854
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
3
|
TD
|
-0.12
|
0.13
|
189.91
|
-0.92
|
0.359
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
4
|
TD
|
0.04
|
0.13
|
189.91
|
0.28
|
0.779
|
(OrthKnowledgeIT-1) - OrthKnowledgeIT1
|
5
|
TD
|
-0.12
|
0.13
|
189.91
|
-0.91
|
0.365
|
pos
|
group
|
OrthKnowledgeIT.trend
|
SE
|
df
|
lower.CL
|
upper.CL
|
t.ratio
|
p.value
|
1
|
DYS
|
0.01
|
0.08
|
191.58
|
-0.15
|
0.18
|
0.18
|
0.858
|
2
|
DYS
|
0.00
|
0.08
|
191.58
|
-0.16
|
0.16
|
0.01
|
0.996
|
3
|
DYS
|
-0.01
|
0.08
|
191.58
|
-0.17
|
0.15
|
-0.13
|
0.895
|
4
|
DYS
|
-0.04
|
0.08
|
191.58
|
-0.20
|
0.12
|
-0.50
|
0.614
|
5
|
DYS
|
-0.05
|
0.08
|
191.58
|
-0.22
|
0.11
|
-0.67
|
0.505
|
1
|
TD
|
0.04
|
0.07
|
189.91
|
-0.10
|
0.17
|
0.53
|
0.598
|
2
|
TD
|
0.01
|
0.07
|
189.91
|
-0.12
|
0.14
|
0.18
|
0.854
|
3
|
TD
|
0.06
|
0.07
|
189.91
|
-0.07
|
0.19
|
0.92
|
0.359
|
4
|
TD
|
-0.02
|
0.07
|
189.91
|
-0.15
|
0.11
|
-0.28
|
0.779
|
5
|
TD
|
0.06
|
0.07
|
189.91
|
-0.07
|
0.19
|
0.91
|
0.365
|
emmeans(m2.c, pairwise ~ pos | OrthKnowledgeIT| group, at = list(OrthKnowledgeIT = c(-1,1)), adjust = "bonferroni")$contrasts %>%
emmeans_lmer_table() %>% filter(contrast == "pos1 - pos5") -> emmeans2.m2.c
contrast
|
OrthKnowledgeIT
|
group
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
pos1 - pos5
|
-1
|
DYS
|
-0.10
|
0.07
|
304
|
-1.43
|
1.000
|
pos1 - pos5
|
1
|
DYS
|
0.04
|
0.17
|
304
|
0.26
|
1.000
|
pos1 - pos5
|
-1
|
TD
|
-0.30
|
0.11
|
304
|
-2.73
|
0.068
|
pos1 - pos5
|
1
|
TD
|
-0.36
|
0.06
|
304
|
-5.86
|
0.000
|
### Contrast TD and DYS
emmeans(m2.c, pairwise ~ group | pos | OrthKnowledgeIT, at = list(OrthKnowledgeIT = c(-1,1)), adjust = "bonferroni")$contrasts %>% emmeans_lmer_table() -> emmeans3.m2.c
contrast
|
pos
|
OrthKnowledgeIT
|
estimate
|
SE
|
df
|
t.ratio
|
p.value
|
DYS - TD
|
1
|
-1
|
0.23
|
0.13
|
188.08
|
1.73
|
0.085
|
DYS - TD
|
2
|
-1
|
0.07
|
0.13
|
188.08
|
0.53
|
0.596
|
DYS - TD
|
3
|
-1
|
0.16
|
0.13
|
188.08
|
1.20
|
0.232
|
DYS - TD
|
4
|
-1
|
0.00
|
0.13
|
188.08
|
-0.03
|
0.976
|
DYS - TD
|
5
|
-1
|
0.02
|
0.13
|
188.08
|
0.13
|
0.899
|
DYS - TD
|
1
|
1
|
0.18
|
0.18
|
185.64
|
1.03
|
0.304
|
DYS - TD
|
2
|
1
|
0.05
|
0.18
|
185.64
|
0.25
|
0.800
|
DYS - TD
|
3
|
1
|
0.01
|
0.18
|
185.64
|
0.07
|
0.948
|
DYS - TD
|
4
|
1
|
-0.05
|
0.18
|
185.64
|
-0.27
|
0.784
|
DYS - TD
|
5
|
1
|
-0.21
|
0.18
|
185.64
|
-1.20
|
0.232
|
