Code
cat('\014') # clean terminalCode
rm(list = ls()) # clean workspace
library(tidyverse)
library(afex)
library(emmeans)
library(psych)
library(robustbase)
library(performance)Response times
cat('\014') # clean terminalrm(list = ls()) # clean workspace
library(tidyverse)
library(afex)
library(emmeans)
library(psych)
library(robustbase)
library(performance)options(mc_doScale_quiet = TRUE)
theme_set(
theme_minimal()
)first_day <- as.Date('2023/11/10')
xcluded <- c('d20', 'd21', 'd26', 'd33')
df_neurokit2 <- read_csv('../meditation_task/data/hrv_hrf_hra_rsa_rrv_neurokit2.csv', col_types = cols())
df_age <- read_csv('gsheets/Antecedentes generales.csv', col_types = cols()) |>
rename(Subject = `Código de participante:`,
name = `Nombre:`,
age = `Edad:`) |>
mutate(Subject = replace(Subject, Subject == 'd24_s46_t01_f' , 'd24_s47_t01_f')) |>
mutate(Subject = replace(Subject, Subject == 'd25_s49_test01_f', 'd25_s49_t01_f')) |>
mutate(Subject = replace(Subject, Subject == 'd28_s57_t01_m' , 'd29_s57_t01_m')) |>
mutate(Subject = replace(Subject, Subject == 'd28_s58_t01_m' , 'd29_s58_t01_m')) |>
mutate(Subject = replace(Subject, Subject == 'd32_64_t01_f' , 'd32_s64_t01_f')) |>
separate(Subject, c("duo", "id", "session", "sex"), sep = "_", remove = FALSE) |>
mutate(the_day = as.Date(word(`Marca temporal`, 1))) |>
filter(grepl('d[0-9]{2}_s.*', Subject) & the_day >= first_day) |>
filter(!(duo %in% xcluded)) |>
left_join(y = df_neurokit2[c('sbj', 'grp')], by = c('id' = 'sbj')) |>
rename(group = grp) |>
mutate_if(is.character, as.factor)
write_csv(df_age, 'data/df_age_2023_data_clean.csv')
if (is_empty(list.files('data/rt_files'))) {
rt_file_list <- list.files('../code_apt/data', pattern = '.*_d[0-9]{2}_s.*', full.names = TRUE)
for (rt_filename in rt_file_list) {
rt_ind_data <- read_csv(rt_filename, col_types = cols()) |>
filter(rehersal == 'no')
rt_task_filename <- gsub('../code_apt/data/', 'data/rt_files/task_', rt_filename)
repeats <- which(rt_ind_data$word == 'Repugnante')[5:8]
rt_ind_data <- rt_ind_data[-repeats, ]
write_csv(rt_ind_data, rt_task_filename)
}
}
df_apt <- list.files('data/rt_files', pattern = '.*_d[0-9]{2}_s.*', full.names = TRUE) |>
lapply(read_csv, col_types = cols()) |>
bind_rows() |>
mutate(Subject = replace(Subject, Subject == 'd28_s57_t01_m', 'd29_s57_t01_m')) |>
mutate(Subject = replace(Subject, Subject == 'd28_s58_t01_m', 'd29_s58_t01_m')) |>
mutate(Subject = replace(Subject, Subject == 'd60_s60_t01_m', 'd30_s60_t01_m')) |>
separate(Subject, c('duo', 'id', 'session', 'sex'), sep = '_', remove = FALSE) |>
left_join(df_age[c('id', 'age')], "id") |>
mutate(sex = if_else(sex == 'f', 'female', 'male')) |>
left_join(y = df_neurokit2[c('sbj', 'grp')], by = c('id' = 'sbj')) |>
rename(group = grp) |>
mutate(primer = factor(primer, levels = c('it', 'other', 'you', 'me'))) |>
mutate_if(is.character, as.factor) |>
mutate(seed = factor(seed)) |>
mutate(trial = factor(trial)) |>
mutate(log10_rt = log10(rt+1))
lo_log10 <- adjbox(df_apt$log10_rt, plot = FALSE)$fence[1]
up_log10 <- adjbox(df_apt$log10_rt, plot = FALSE)$fence[2]
lo <- adjbox(df_apt$rt, plot = FALSE)$fence[1]
up <- adjbox(df_apt$rt, plot = FALSE)$fence[2]
df_apt$rt_no_out <- df_apt$rt
df_apt$rt_no_out[df_apt$rt < lo | df_apt$rt > up] <- NA
df_apt$rt_no_out_sec <- df_apt$rt_no_out / 1000
df_apt$log10_rt_no_out <- df_apt$log10_rt
df_apt$log10_rt_no_out[df_apt$log10_rt < lo_log10 | df_apt$log10_rt > up_log10] <- NA
write_csv(df_apt, 'data/df_apt_2023_data_clean.csv')summary(df_apt) Subject duo id session sex
d01_s01_t01_m: 80 d01 : 320 s01 : 160 t01:5120 female:5120
d01_s01_t02_m: 80 d02 : 320 s02 : 160 t02:5120 male :5120
d01_s02_t01_m: 80 d03 : 320 s03 : 160
d01_s02_t02_m: 80 d04 : 320 s04 : 160
d02_s03_t01_m: 80 d05 : 320 s05 : 160
d02_s03_t02_m: 80 d06 : 320 s06 : 160
(Other) :9760 (Other):8320 (Other):9280
trial primer photo valence
1 : 254 it :2553 20230515_161630_phone.jpg:2553 negative:5120
7 : 253 other:2567 she02.jpeg :1286 positive:5120
19 : 253 you :2560 IMG_8904.jpg : 844
4 : 252 me :2560 he_02.jpeg : 397
9 : 252 unnamed.jpg : 237
10 : 251 IMG_2409.jpg : 201
(Other):8725 (Other) :4722
word arrow rt score
Admirable : 512 left :5339 Min. : 0.0 Min. :0.0000
Asfixiante : 512 right:4897 1st Qu.: 321.0 1st Qu.:1.0000
Aterrador : 512 NA's : 4 Median : 414.0 Median :1.0000
Delicioso : 512 Mean : 531.7 Mean :0.9545
Desesperante: 512 3rd Qu.: 579.0 3rd Qu.:1.0000
Desgraciado : 512 Max. :5006.0 Max. :1.0000
(Other) :7168
block rehersal seed age
positive_left :4864 no:10240 671471 : 240 Min. :18.00
positive_right:5376 43850 : 160 1st Qu.:21.00
100851 : 160 Median :22.00
141112 : 160 Mean :23.77
155478 : 160 3rd Qu.:25.00
195300 : 160 Max. :48.00
(Other):9200
group log10_rt rt_no_out rt_no_out_sec
humanity :5120 Min. :0.000 Min. : 221 Min. :0.221
mindfulness:5120 1st Qu.:2.508 1st Qu.: 329 1st Qu.:0.329
Median :2.618 Median : 417 Median :0.417
Mean :2.648 Mean : 503 Mean :0.503
3rd Qu.:2.763 3rd Qu.: 570 3rd Qu.:0.570
Max. :3.700 Max. :1642 Max. :1.642
NA's :658 NA's :658
log10_rt_no_out
Min. :2.310
1st Qu.:2.518
Median :2.622
Mean :2.664
3rd Qu.:2.765
Max. :3.389
NA's :411
ggplot(
df_apt, aes(x = rt, fill = group, color = group)) +
geom_histogram(alpha = .4) +
facet_wrap(~group)
ggplot(
df_apt, aes(x = rt_no_out, fill = group, color = group)) +
geom_histogram(alpha = .4) +
facet_wrap(~group)
ggplot(
df_apt, aes(x = log10_rt, fill = group, color = group)) +
geom_histogram(alpha = .4) +
facet_wrap(~group)
ggplot(
df_apt, aes(x = log10_rt_no_out, fill = group, color = group)) +
geom_histogram(alpha = .4) +
facet_wrap(~group)# apt_lmer <- lmer(log10_rt_no_out ~ group * sex * primer * valence * session + (primer * valence * session | duo/id),
# df_apt)
apt_me_lmer <- lmer(log10_rt_no_out ~ group*sex*valence*session+age + (valence*session|duo:id) + (1|word),
subset(df_apt, primer == 'me'))
afex_plot(
apt_me_lmer,
id = 'id',
x = 'valence',
trace = 'group',
panel = 'session',
error_arg = list(width = .4, lwd = .75),
dodge = .3,
data_arg = list(
position =
position_jitterdodge(
jitter.width = .1,
dodge.width = .3 ## needs to be same as dodge
)),
mapping = c('color'),
point_arg = list(size = 3)
)options(width = 120)
summary(apt_me_lmer)Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: log10_rt_no_out ~ group * sex * valence * session + age + (valence * session | duo:id) + (1 | word)
Data: subset(df_apt, primer == "me")
REML criterion at convergence: -1650.8
Scaled residuals:
Min 1Q Median 3Q Max
-3.1398 -0.6392 -0.1648 0.4567 3.9490
Random effects:
Groups Name Variance Std.Dev. Corr
duo:id (Intercept) 1.478e-02 0.121575
valencepositive 3.100e-04 0.017607 0.17
sessiont02 6.901e-03 0.083072 -0.44 -0.95
valencepositive:sessiont02 1.225e-03 0.034997 0.06 0.36 -0.20
word (Intercept) 5.414e-05 0.007358
Residual 2.576e-02 0.160495
Number of obs: 2467, groups: duo:id, 64; word, 20
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 2.671968 0.070896 65.518340 37.689 <2e-16 ***
groupmindfulness 0.027496 0.047881 60.582187 0.574 0.568
sexmale -0.066488 0.046691 58.915119 -1.424 0.160
valencepositive -0.004871 0.019091 245.115994 -0.255 0.799
sessiont02 -0.072805 0.027789 63.378242 -2.620 0.011 *
age 0.001265 0.002739 58.619474 0.462 0.646
groupmindfulness:sexmale 0.018447 0.066805 59.557749 0.276 0.783
groupmindfulness:valencepositive -0.008187 0.026427 308.044442 -0.310 0.757
sexmale:valencepositive 0.028915 0.026449 308.402366 1.093 0.275
groupmindfulness:sessiont02 0.001308 0.039104 62.142303 0.033 0.973
sexmale:sessiont02 0.061077 0.039119 62.229521 1.561 0.124
valencepositive:sessiont02 0.006480 0.027387 97.907641 0.237 0.813
groupmindfulness:sexmale:valencepositive -0.041370 0.037297 305.545268 -1.109 0.268
groupmindfulness:sexmale:sessiont02 -0.022268 0.055466 62.756291 -0.401 0.689
groupmindfulness:valencepositive:sessiont02 0.004091 0.038478 95.526516 0.106 0.916
sexmale:valencepositive:sessiont02 -0.063170 0.038553 96.097129 -1.639 0.105
groupmindfulness:sexmale:valencepositive:sessiont02 0.044377 0.054697 96.767371 0.811 0.419
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation matrix not shown by default, as p = 17 > 12.
Use print(x, correlation=TRUE) or
vcov(x) if you need it
optimizer (nloptwrap) convergence code: 0 (OK)
Model failed to converge with max|grad| = 0.00329124 (tol = 0.002, component 1)
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
anova(apt_me_lmer)Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 0.01801 0.01801 1 58.997 0.6993 0.4064
sex 0.04617 0.04617 1 59.027 1.7926 0.1857
valence 0.04590 0.04590 1 21.531 1.7818 0.1959
session 0.49912 0.49912 1 60.375 19.3767 4.449e-05 ***
age 0.00549 0.00549 1 58.619 0.2132 0.6460
group:sex 0.00004 0.00004 1 59.001 0.0016 0.9684
group:valence 0.02897 0.02897 1 67.243 1.1245 0.2927
sex:valence 0.01759 0.01759 1 67.245 0.6830 0.4115
group:session 0.00048 0.00048 1 60.374 0.0188 0.8913
sex:session 0.03830 0.03830 1 60.374 1.4868 0.2275
valence:session 0.01972 0.01972 1 96.771 0.7656 0.3837
group:sex:valence 0.01077 0.01077 1 67.244 0.4179 0.5202
group:sex:session 0.00000 0.00000 1 60.374 0.0000 0.9987
group:valence:session 0.02378 0.02378 1 96.766 0.9233 0.3390
sex:valence:session 0.05784 0.05784 1 96.769 2.2454 0.1373
group:sex:valence:session 0.01696 0.01696 1 96.767 0.6582 0.4192
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
emmeans(apt_me_lmer, pairwise ~ session)NOTE: Results may be misleading due to involvement in interactions
$emmeans
session emmean SE df lower.CL upper.CL
t01 2.68 0.0162 59.8 2.65 2.72
t02 2.63 0.0146 59.8 2.60 2.66
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
t01 - t02 0.0532 0.0121 60 4.401 <.0001
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
check_model(apt_me_lmer)apt_you_lmer <- lmer(log10_rt_no_out ~ group*sex*valence*session+age + (valence*session|duo:id) + (1|word),
subset(df_apt, primer == 'you'))
afex_plot(
apt_you_lmer,
id = 'id',
x = 'valence',
trace = 'group',
panel = 'session',
error_arg = list(width = .4, lwd = .75),
dodge = .3,
data_arg = list(
position =
position_jitterdodge(
jitter.width = .1,
dodge.width = .3 ## needs to be same as dodge
)),
mapping = c('color'),
point_arg = list(size = 3)
)options(width = 120)
summary(apt_you_lmer)Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: log10_rt_no_out ~ group * sex * valence * session + age + (valence * session | duo:id) + (1 | word)
Data: subset(df_apt, primer == "you")
REML criterion at convergence: -1560.8
Scaled residuals:
Min 1Q Median 3Q Max
-2.5181 -0.6208 -0.1768 0.3966 4.6253
Random effects:
Groups Name Variance Std.Dev. Corr
duo:id (Intercept) 0.0140579 0.11857
valencepositive 0.0009701 0.03115 0.10
sessiont02 0.0060196 0.07759 -0.40 0.31
valencepositive:sessiont02 0.0003338 0.01827 0.06 0.20 -0.78
word (Intercept) 0.0000000 0.00000
Residual 0.0266764 0.16333
Number of obs: 2443, groups: duo:id, 64; word, 20
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 2.707e+00 7.190e-02 6.333e+01 37.648 < 2e-16 ***
groupmindfulness 1.172e-02 4.713e-02 6.067e+01 0.249 0.804418
sexmale -6.332e-02 4.586e-02 5.932e+01 -1.381 0.172562
valencepositive -8.774e-03 2.021e-02 1.171e+02 -0.434 0.665040
sessiont02 -1.037e-01 2.705e-02 6.531e+01 -3.835 0.000285 ***
age -3.551e-04 2.804e-03 5.830e+01 -0.127 0.899644
groupmindfulness:sexmale 2.896e-02 6.568e-02 5.982e+01 0.441 0.660885
groupmindfulness:valencepositive 2.487e-02 2.847e-02 1.154e+02 0.874 0.384194
sexmale:valencepositive 4.030e-02 2.843e-02 1.147e+02 1.417 0.159063
groupmindfulness:sessiont02 3.749e-02 3.809e-02 6.425e+01 0.984 0.328700
sexmale:sessiont02 9.332e-02 3.815e-02 6.464e+01 2.446 0.017178 *
valencepositive:sessiont02 2.542e-02 2.707e-02 4.874e+02 0.939 0.348197
groupmindfulness:sexmale:valencepositive -3.822e-02 4.013e-02 1.139e+02 -0.952 0.342873
groupmindfulness:sexmale:sessiont02 -5.299e-02 5.398e-02 6.461e+01 -0.982 0.329888
groupmindfulness:valencepositive:sessiont02 -2.744e-02 3.796e-02 4.751e+02 -0.723 0.470217
sexmale:valencepositive:sessiont02 -7.540e-02 3.801e-02 4.758e+02 -1.984 0.047837 *
groupmindfulness:sexmale:valencepositive:sessiont02 4.672e-02 5.380e-02 4.726e+02 0.868 0.385640
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation matrix not shown by default, as p = 17 > 12.
Use print(x, correlation=TRUE) or
vcov(x) if you need it
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
anova(apt_you_lmer)Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 0.03467 0.03467 1 58.86 1.2997 0.25889
sex 0.00976 0.00976 1 58.92 0.3657 0.54767
valence 0.02161 0.02161 1 60.74 0.8101 0.37164
session 0.75286 0.75286 1 60.24 28.2220 1.653e-06 ***
age 0.00043 0.00043 1 58.30 0.0160 0.89964
group:sex 0.00019 0.00019 1 58.89 0.0071 0.93295
group:valence 0.00149 0.00149 1 60.74 0.0557 0.81417
sex:valence 0.00251 0.00251 1 60.74 0.0939 0.76027
group:session 0.00438 0.00438 1 60.24 0.1640 0.68692
sex:session 0.09085 0.09085 1 60.24 3.4056 0.06989 .
valence:session 0.03023 0.03023 1 472.60 1.1334 0.28760
group:sex:valence 0.00593 0.00593 1 60.74 0.2221 0.63910
group:sex:session 0.01198 0.01198 1 60.24 0.4491 0.50535
group:valence:session 0.00061 0.00061 1 472.62 0.0230 0.87962
sex:valence:session 0.09985 0.09985 1 472.64 3.7430 0.05363 .
group:sex:valence:session 0.02012 0.02012 1 472.63 0.7540 0.38564
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
emmeans(apt_you_lmer, pairwise ~ session)NOTE: Results may be misleading due to involvement in interactions
$emmeans
session emmean SE df lower.CL upper.CL
t01 2.69 0.0158 58.7 2.66 2.72
t02 2.63 0.0151 58.5 2.60 2.66
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
t01 - t02 0.0587 0.0111 59.9 5.311 <.0001
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
check_model(apt_you_lmer)apt_other_lmer <- lmer(log10_rt_no_out ~ group*sex*valence*session+age + (valence*session|duo:id) + (1|word),
subset(df_apt, primer == 'other'))
afex_plot(
apt_other_lmer,
id = 'id',
x = 'valence',
trace = 'group',
panel = 'session',
error_arg = list(width = .4, lwd = .75),
dodge = .3,
data_arg = list(
position =
position_jitterdodge(
jitter.width = .1,
dodge.width = .3 ## needs to be same as dodge
)),
mapping = c('color'),
point_arg = list(size = 3)
)options(width = 120)
summary(apt_other_lmer)Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: log10_rt_no_out ~ group * sex * valence * session + age + (valence * session | duo:id) + (1 | word)
Data: subset(df_apt, primer == "other")
REML criterion at convergence: -1498.1
Scaled residuals:
Min 1Q Median 3Q Max
-2.8729 -0.6394 -0.1793 0.4508 4.0577
Random effects:
Groups Name Variance Std.Dev. Corr
duo:id (Intercept) 1.442e-02 0.120087
valencepositive 3.514e-04 0.018746 0.03
sessiont02 4.638e-03 0.068102 -0.44 0.63
valencepositive:sessiont02 5.001e-04 0.022364 0.07 0.23 -0.49
word (Intercept) 7.732e-05 0.008793
Residual 2.772e-02 0.166482
Number of obs: 2463, groups: duo:id, 64; word, 20
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 2.675544 0.071989 64.224861 37.166 < 2e-16 ***
groupmindfulness 0.011638 0.047658 60.682939 0.244 0.80790
sexmale -0.032346 0.046421 59.202508 -0.697 0.48865
valencepositive -0.004072 0.019660 219.943129 -0.207 0.83609
sessiont02 -0.073823 0.025296 63.546029 -2.918 0.00486 **
age 0.001190 0.002800 58.725260 0.425 0.67248
groupmindfulness:sexmale -0.017476 0.066560 60.195415 -0.263 0.79378
groupmindfulness:valencepositive -0.006842 0.027364 289.661194 -0.250 0.80274
sexmale:valencepositive -0.009017 0.027418 291.466137 -0.329 0.74248
groupmindfulness:sessiont02 0.019142 0.035949 64.733266 0.532 0.59621
sexmale:sessiont02 0.007573 0.035853 64.073107 0.211 0.83339
valencepositive:sessiont02 0.015705 0.027232 253.754428 0.577 0.56466
groupmindfulness:sexmale:valencepositive 0.036404 0.038822 292.859783 0.938 0.34917
groupmindfulness:sexmale:sessiont02 0.019825 0.051024 65.537442 0.389 0.69887
groupmindfulness:valencepositive:sessiont02 -0.020824 0.038623 255.940069 -0.539 0.59025
sexmale:valencepositive:sessiont02 0.007213 0.038571 254.816792 0.187 0.85181
groupmindfulness:sexmale:valencepositive:sessiont02 -0.028076 0.054937 258.656126 -0.511 0.60975
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation matrix not shown by default, as p = 17 > 12.
Use print(x, correlation=TRUE) or
vcov(x) if you need it
optimizer (nloptwrap) convergence code: 0 (OK)
boundary (singular) fit: see help('isSingular')
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
anova(apt_other_lmer)Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 0.00669 0.00669 1 59.021 0.2414 0.6250
sex 0.02789 0.02789 1 59.065 1.0064 0.3199
valence 0.00153 0.00153 1 19.756 0.0552 0.8166
session 0.76193 0.76193 1 60.737 27.4904 2.105e-06 ***
age 0.00500 0.00500 1 58.725 0.1805 0.6725
group:sex 0.00011 0.00011 1 59.051 0.0038 0.9509
group:valence 0.00471 0.00471 1 71.419 0.1701 0.6813
sex:valence 0.00426 0.00426 1 71.412 0.1537 0.6962
group:session 0.00864 0.00864 1 60.727 0.3119 0.5786
sex:session 0.01267 0.01267 1 60.735 0.4571 0.5016
valence:session 0.00052 0.00052 1 258.761 0.0187 0.8912
group:sex:valence 0.01599 0.01599 1 71.424 0.5771 0.4500
group:sex:session 0.00054 0.00054 1 60.732 0.0193 0.8899
group:valence:session 0.04465 0.04465 1 258.634 1.6109 0.2055
sex:valence:session 0.00171 0.00171 1 258.693 0.0617 0.8040
group:sex:valence:session 0.00724 0.00724 1 258.656 0.2612 0.6097
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
emmeans(apt_other_lmer, pairwise ~ session)NOTE: Results may be misleading due to involvement in interactions
$emmeans
session emmean SE df lower.CL upper.CL
t01 2.69 0.0159 60.1 2.66 2.72
t02 2.63 0.0149 60.1 2.60 2.66
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
t01 - t02 0.0546 0.0104 59.9 5.242 <.0001
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
check_model(apt_other_lmer)apt_it_lmer <- lmer(log10_rt_no_out ~ group*sex*valence*session+age + (valence*session|duo:id) + (1|word),
subset(df_apt, primer == 'it'))
afex_plot(
apt_it_lmer,
id = 'id',
x = 'valence',
trace = 'group',
panel = 'session',
error_arg = list(width = .4, lwd = .75),
dodge = .3,
data_arg = list(
position =
position_jitterdodge(
jitter.width = .1,
dodge.width = .3 ## needs to be same as dodge
)),
mapping = c('color'),
point_arg = list(size = 3)
)options(width = 120)
summary(apt_it_lmer)Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: log10_rt_no_out ~ group * sex * valence * session + age + (valence * session | duo:id) + (1 | word)
Data: subset(df_apt, primer == "it")
REML criterion at convergence: -1373.5
Scaled residuals:
Min 1Q Median 3Q Max
-2.7522 -0.6201 -0.1626 0.4556 4.5795
Random effects:
Groups Name Variance Std.Dev. Corr
duo:id (Intercept) 0.0185340 0.13614
valencepositive 0.0031332 0.05597 -0.07
sessiont02 0.0071351 0.08447 -0.56 0.53
valencepositive:sessiont02 0.0031767 0.05636 0.15 -0.95 -0.56
word (Intercept) 0.0001889 0.01374
Residual 0.0287089 0.16944
Number of obs: 2456, groups: duo:id, 64; word, 20
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 2.7252287 0.0767177 67.0055542 35.523 < 2e-16 ***
groupmindfulness 0.0151157 0.0530709 61.6994217 0.285 0.77674
sexmale -0.0424082 0.0518444 59.9806077 -0.818 0.41660
valencepositive 0.0089826 0.0245954 64.4560768 0.365 0.71615
sessiont02 -0.0627223 0.0287623 61.0201654 -2.181 0.03307 *
age -0.0009017 0.0029395 58.2721971 -0.307 0.76011
groupmindfulness:sexmale 0.0357113 0.0741164 60.7045672 0.482 0.63166
groupmindfulness:valencepositive 0.0136415 0.0336064 60.5503280 0.406 0.68623
sexmale:valencepositive 0.0403561 0.0336094 60.5279087 1.201 0.23453
groupmindfulness:sessiont02 0.0280765 0.0405151 60.1530095 0.693 0.49098
sexmale:sessiont02 0.0226045 0.0405738 60.4681761 0.557 0.57950
valencepositive:sessiont02 0.0119898 0.0309568 61.1937165 0.387 0.69987
groupmindfulness:sexmale:valencepositive -0.1073524 0.0474154 59.9819306 -2.264 0.02720 *
groupmindfulness:sexmale:sessiont02 -0.0660691 0.0574057 60.5292189 -1.151 0.25429
groupmindfulness:valencepositive:sessiont02 -0.0803851 0.0435136 59.7963739 -1.847 0.06964 .
sexmale:valencepositive:sessiont02 -0.0827073 0.0435357 59.8821816 -1.900 0.06228 .
groupmindfulness:sexmale:valencepositive:sessiont02 0.2008878 0.0616517 59.9614542 3.258 0.00185 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation matrix not shown by default, as p = 17 > 12.
Use print(x, correlation=TRUE) or
vcov(x) if you need it
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
anova(apt_it_lmer)Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
group 0.00685 0.00685 1 59.341 0.2385 0.627118
sex 0.02907 0.02907 1 59.405 1.0126 0.318365
valence 0.00008 0.00008 1 21.319 0.0028 0.958604
session 0.89344 0.89344 1 60.337 31.1206 6.051e-07 ***
age 0.00270 0.00270 1 58.272 0.0941 0.760110
group:sex 0.00000 0.00000 1 59.338 0.0002 0.990254
group:valence 0.10462 0.10462 1 57.829 3.6443 0.061227 .
sex:valence 0.00230 0.00230 1 57.812 0.0802 0.777990
group:session 0.00142 0.00142 1 60.333 0.0495 0.824649
sex:session 0.00013 0.00013 1 60.331 0.0047 0.945589
valence:session 0.04518 0.04518 1 59.950 1.5737 0.214534
group:sex:valence 0.00139 0.00139 1 57.814 0.0483 0.826814
group:sex:session 0.01633 0.01633 1 60.341 0.5688 0.453681
group:valence:session 0.01216 0.01216 1 59.945 0.4235 0.517687
sex:valence:session 0.00951 0.00951 1 59.942 0.3311 0.567153
group:sex:valence:session 0.30481 0.30481 1 59.961 10.6173 0.001847 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
emmeans(apt_it_lmer, pairwise ~ session)NOTE: Results may be misleading due to involvement in interactions
$emmeans
session emmean SE df lower.CL upper.CL
t01 2.70 0.0181 61.8 2.67 2.74
t02 2.64 0.0156 62.1 2.61 2.67
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio p.value
t01 - t02 0.0636 0.0114 59.9 5.577 <.0001
Results are averaged over the levels of: group, sex, valence
Degrees-of-freedom method: kenward-roger
cat(rep('_', 100), '\n', sep = '')____________________________________________________________________________________________________
emmeans(apt_it_lmer, pairwise ~ session|sex*group*valence)$emmeans
sex = female, group = humanity, valence = negative:
session emmean SE df lower.CL upper.CL
t01 2.70 0.0370 61.0 2.63 2.78
t02 2.64 0.0320 61.0 2.58 2.71
sex = male, group = humanity, valence = negative:
session emmean SE df lower.CL upper.CL
t01 2.66 0.0371 61.0 2.59 2.74
t02 2.62 0.0320 60.3 2.56 2.69
sex = female, group = mindfulness, valence = negative:
session emmean SE df lower.CL upper.CL
t01 2.72 0.0380 62.7 2.64 2.79
t02 2.68 0.0330 60.7 2.62 2.75
sex = male, group = mindfulness, valence = negative:
session emmean SE df lower.CL upper.CL
t01 2.71 0.0370 60.5 2.64 2.79
t02 2.63 0.0323 62.6 2.57 2.70
sex = female, group = humanity, valence = positive:
session emmean SE df lower.CL upper.CL
t01 2.71 0.0388 61.0 2.64 2.79
t02 2.66 0.0333 61.0 2.60 2.73
sex = male, group = humanity, valence = positive:
session emmean SE df lower.CL upper.CL
t01 2.71 0.0388 60.8 2.63 2.79
t02 2.60 0.0332 60.0 2.53 2.67
sex = female, group = mindfulness, valence = positive:
session emmean SE df lower.CL upper.CL
t01 2.74 0.0397 62.7 2.66 2.82
t02 2.64 0.0343 61.6 2.57 2.71
sex = male, group = mindfulness, valence = positive:
session emmean SE df lower.CL upper.CL
t01 2.67 0.0388 60.8 2.59 2.75
t02 2.64 0.0336 62.4 2.57 2.71
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
$contrasts
sex = female, group = humanity, valence = negative:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0627 0.0288 60.4 2.180 0.0332
sex = male, group = humanity, valence = negative:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0401 0.0286 59.3 1.402 0.1662
sex = female, group = mindfulness, valence = negative:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0346 0.0285 58.6 1.214 0.2296
sex = male, group = mindfulness, valence = negative:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0781 0.0289 61.2 2.702 0.0089
sex = female, group = humanity, valence = positive:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0507 0.0263 60.5 1.927 0.0586
sex = male, group = humanity, valence = positive:
contrast estimate SE df t.ratio p.value
t01 - t02 0.1108 0.0261 58.4 4.251 0.0001
sex = female, group = mindfulness, valence = positive:
contrast estimate SE df t.ratio p.value
t01 - t02 0.1030 0.0261 58.8 3.943 0.0002
sex = male, group = mindfulness, valence = positive:
contrast estimate SE df t.ratio p.value
t01 - t02 0.0283 0.0266 61.5 1.065 0.2908
Degrees-of-freedom method: kenward-roger
check_model(apt_it_lmer)