Data analysis thesis

Libraries

library(readxl)
library(readr)
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ purrr     1.0.2
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tidyr)
library(dplyr)
library(lme4)
Warning: package 'lme4' was built under R version 4.3.3
Loading required package: Matrix

Attaching package: 'Matrix'

The following objects are masked from 'package:tidyr':

    expand, pack, unpack
library(emmeans)
library(rstanarm)
Loading required package: Rcpp
Warning: package 'Rcpp' was built under R version 4.3.3
This is rstanarm version 2.32.1
- See https://mc-stan.org/rstanarm/articles/priors for changes to default priors!
- Default priors may change, so it's safest to specify priors, even if equivalent to the defaults.
- For execution on a local, multicore CPU with excess RAM we recommend calling
  options(mc.cores = parallel::detectCores())
library(ggplot2)
library(effects)
Loading required package: carData
Warning: package 'carData' was built under R version 4.3.3
lattice theme set by effectsTheme()
See ?effectsTheme for details.
library(car)
Warning: package 'car' was built under R version 4.3.3

Attaching package: 'car'

The following object is masked from 'package:rstanarm':

    logit

The following object is masked from 'package:dplyr':

    recode

The following object is masked from 'package:purrr':

    some

Import Data

T_B <-read.csv("training_excluded.csv", sep = ";" )
Q_D <-read.csv("Questionaire_Data3.csv", sep = ";")
##Make other dataframes

#df <- df %\>% mutate(feedback.ACC = as.numeric(feedback.ACC))

##Only include response procedre entires 

T_B_R <- T_B %>% filter(procedure == "responsprocedure")


##Create trial numbers 

df <- T_B_R %>%
  group_by(session, subject) %>%
  mutate(trial = rep(1:48, each = case_when(
    session == 1  ~ 6,
    session == 2  ~ 12,
    session == 18 ~ 18,
    TRUE ~ n() / 48  # Default: dynamically calculate N per trial
  ))[1:n()]) %>%  # Ensures correct length
  ungroup()
Warning: There were 55 warnings in `mutate()`.
The first warning was:
ℹ In argument: `trial = ...[]`.
ℹ In group 1: `session = 1` and `subject = 2`.
Caused by warning in `rep()`:
! first element used of 'each' argument
ℹ Run `dplyr::last_dplyr_warnings()` to see the 54 remaining warnings.
##Create Trial Accuracy 

df <- df %>% mutate(feedback.ACC = as.numeric(feedback.ACC), feedback.RT = as.numeric(feedback.RT))
df <- df %>%
  group_by(subject, session, trial) %>%
  mutate(trial.acc = sum(feedback.ACC, na.rm = TRUE) / n()) %>%
  ungroup()

##Make trial avhg RT
df <- df %>%
  group_by(subject, session, trial) %>%
  mutate(trial.RT = sum(feedback.RT, na.rm = TRUE) / n()) %>%
  ungroup()

write.csv(df,"Philipp_df.csv", row.names = FALSE)

##Make dataframe with only above 80% trial accuracy 

df_acc <- df %>%filter(trial.acc >= 1) %>% mutate (subject=as.factor(subject))
df_acc5 <- df_acc %>% distinct(subject,trial,session) %>% count(subject, name = "corr_trials")


Q_D[6, "Weight"] <- 62 
Q_D <- Q_D %>% rename( subject = ID) 
Q_D <- Q_D %>% filter(subject != 6, subject != 9)
Q_D <- Q_D %>% mutate(subject = as.factor(subject),Sequence= as.factor(Sequence))
df_BMI<- Q_D %>%  select(subject,"Height", "Weight") %>%  mutate(BMI= (Weight)/((Height/100)*(Height/100)))  %>% select(-"Height",-"Weight")
df_acc<- df_acc %>% left_join(df_BMI, by= "subject") %>% left_join(df_acc5, by= "subject")

##Qestionaire Data merge with rest 


  
Part <- df %>% mutate(subject = as.factor(subject)) 
Part <- Part %>% left_join(Q_D, by = "subject")
Part <- Part %>% mutate(session= as.factor(session), sub.trial.number = as.factor(sub.trial.number)) 

df_subset <- Q_D  %>% select(18, 36:71)
df_subset2 <- Q_D %>% select(18, 27:71)
df_sequence <- Q_D %>% select(18,19)

df_subset <- df_subset %>%
  mutate(across(matches("^[A-Za-z0-9]+_[0-9]+$"), as.character))


df_q_long <- df_subset %>%
  pivot_longer(
    cols = -subject,                        # All columns except subject
    names_to = c("variable", "session"),    # Split names into 'variable' and 'session'
    names_sep = "_",
    values_to = c("value")# Use underscore as the separator
  ) %>% pivot_wider(names_from = variable,
              values_from = value) %>% mutate(session = as.factor(session))
df<-df %>% mutate(subject= as.factor(subject),session=as.factor(session))

df_after_session_qestionaire <- df %>% left_join(df_q_long, c("subject", "session")) %>% mutate(Q1 = as.numeric(Q1), Q2 = as.numeric(Q2),Q3 = as.numeric(Q3),Q4 = as.numeric(Q4),Q5 = as.numeric(Q5),Q6 = as.numeric(Q6),x = as.numeric(x),y = as.numeric(y)) %>% left_join(df_sequence, by= "subject")

df_after_session_qestionaire <- df_after_session_qestionaire %>% rename(mental_demand = Q1,physical_demand = Q2,temporal_demand = Q3,performance = Q4,effort = Q5,frustration = Q6) 

#Demographics

demographics <- Q_D %>% select(c("Age","Q24","Handedness","Smoking","Alcohol","subject")) %>% mutate(Gender= as.factor(Q24),Footedness= as.factor(Handedness),Smoking= as.factor(Smoking),Alcohol= as.factor(Alcohol))

summary(demographics)
      Age             Q24        Handedness   Smoking Alcohol    subject  
 Min.   :18.00   Min.   :1.0   Min.   :1.00   1: 3    1: 6    2      : 1  
 1st Qu.:19.00   1st Qu.:1.0   1st Qu.:1.00   2:17    2:14    3      : 1  
 Median :20.50   Median :2.0   Median :1.00                   4      : 1  
 Mean   :21.05   Mean   :1.6   Mean   :1.05                   5      : 1  
 3rd Qu.:23.00   3rd Qu.:2.0   3rd Qu.:1.00                   7      : 1  
 Max.   :29.00   Max.   :2.0   Max.   :2.00                   8      : 1  
                                                              (Other):14  
 Gender Footedness
 1: 8   1:19      
 2:12   2: 1      
                  
                  
                  
                  
                  
sd(demographics$Age)
[1] 2.723678

#Check if participants remember the right sequences

#retreive correct sequnces 
Correct_sequ <- df %>% filter(session==3, procedure=="responsprocedure", trial==1 ) %>% select(subject,sub.trial.number,feedback.CRESP) %>%mutate(sub.trial.number=as.character(sub.trial.number),subject=as.character(subject))

#retrieve the remembered sequnces
percieved_sequ <- Q_D %>%  select("subject"
                                  ,93:110)

#format remembered sequences correctly
percieved_sequ_long <- percieved_sequ %>%
  pivot_longer(
    cols = -subject,                        # All columns except subject
    names_to = c("variable", "session"),    # Split names into 'variable' and 'session'
    names_sep = "_",
    values_to = c("value")# Use underscore as the separator
  ) %>% pivot_wider(names_from = variable,
              values_from = value) %>% rename(sub.trial.number = session) 

matching_sequ <- Correct_sequ %>% left_join(percieved_sequ_long, by= c("subject","sub.trial.number")) %>% mutate(Q14 = ifelse(Q14 == "1", "w", Q14),Q14 = ifelse(Q14 == "2", "d", Q14),Q14 = ifelse(Q14 == "3", "s", Q14),Q14 = ifelse(Q14 == "4", "a", Q14)) %>% mutate(correct = if_else(feedback.CRESP == Q14, 1, 0))

#match remembered and correct sequences 
match_per_part <-matching_sequ %>% group_by(subject) %>% mutate(correct= as.numeric(correct), correct_part = sum(correct)/18) %>% filter(sub.trial.number ==1) %>% mutate(remembered = if_else(correct_part == 1, 1, 0))
remembered <- match_per_part %>% select(subject,remembered) %>% mutate(remembered=as.factor(remembered))

Only 3 participants did not remember their sequence correctly

#Does remembering the sequence correctly have an significant influence on performance

#make df
df_acc_rem<- df_acc %>% left_join(remembered, by= "subject")

#model 
M19 <- lmer(feedback.RT ~ remembered  + (1 | subject) + (1 | session) + (1 | corr_trials), data = df_acc_rem)
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 1 negative eigenvalues
ae.m.M19 <- allEffects(M19)
ae.m.M19.df <- as.data.frame(ae.m.M19[1])
plot(ae.m.M19)

Anova(M19)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
            Chisq Df Pr(>Chisq)
remembered 1.1544  1     0.2826

There is no significant effect of the participants remembering their sequences

#Counterbalancing Check

M_CB<- lmer(trial.RT ~ 0 + Sequence +(1 | subject) + (1 | session) + (1 | trial), data=df_after_session_qestionaire) 

summary(M_CB)
Linear mixed model fit by REML ['lmerMod']
Formula: trial.RT ~ 0 + Sequence + (1 | subject) + (1 | session) + (1 |  
    trial)
   Data: df_after_session_qestionaire

REML criterion at convergence: 432174.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.1976 -0.5135 -0.0980  0.3317 20.5982 

Random effects:
 Groups   Name        Variance Std.Dev.
 trial    (Intercept)  5032.0   70.94  
 subject  (Intercept) 54167.4  232.74  
 session  (Intercept)   118.1   10.87  
 Residual             43181.4  207.80  
Number of obs: 31968, groups:  trial, 48; subject, 19; session, 3

Fixed effects:
          Estimate Std. Error t value
Sequence1    550.4      134.9   4.079
Sequence2    451.2      134.9   3.344
Sequence3    457.7      165.0   2.773
Sequence4    686.2      165.0   4.158
Sequence5    943.1      165.0   5.714
Sequence6    431.3      165.0   2.613
Sequence7    571.7      135.0   4.236
Sequence8    422.6      165.0   2.561

Correlation of Fixed Effects:
          Seqnc1 Seqnc2 Seqnc3 Seqnc4 Seqnc5 Seqnc6 Seqnc7
Sequence2 0.008                                           
Sequence3 0.006  0.006                                    
Sequence4 0.006  0.006  0.005                             
Sequence5 0.006  0.006  0.005  0.005                      
Sequence6 0.006  0.006  0.005  0.005  0.005               
Sequence7 0.008  0.008  0.006  0.006  0.006  0.006        
Sequence8 0.006  0.006  0.005  0.005  0.005  0.005  0.006 
posthoc1 <- emmeans(M_CB, ~ Sequence)
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 31968' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 31968)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 31968' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 31968)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisons1 <- pairs(posthoc1)
summary(pairwise_comparisons1)
 contrast              estimate  SE  df z.ratio p.value
 Sequence1 - Sequence2    99.27 190 Inf   0.522  0.9996
 Sequence1 - Sequence3    92.72 213 Inf   0.436  0.9999
 Sequence1 - Sequence4  -135.78 213 Inf  -0.639  0.9983
 Sequence1 - Sequence5  -392.66 213 Inf  -1.848  0.5872
 Sequence1 - Sequence6   119.16 213 Inf   0.561  0.9993
 Sequence1 - Sequence7   -21.28 190 Inf  -0.112  1.0000
 Sequence1 - Sequence8   127.79 213 Inf   0.601  0.9989
 Sequence2 - Sequence3    -6.55 213 Inf  -0.031  1.0000
 Sequence2 - Sequence4  -235.04 213 Inf  -1.106  0.9557
 Sequence2 - Sequence5  -491.92 213 Inf  -2.315  0.2853
 Sequence2 - Sequence6    19.90 213 Inf   0.094  1.0000
 Sequence2 - Sequence7  -120.54 190 Inf  -0.634  0.9984
 Sequence2 - Sequence8    28.52 213 Inf   0.134  1.0000
 Sequence3 - Sequence4  -228.49 233 Inf  -0.982  0.9771
 Sequence3 - Sequence5  -485.37 233 Inf  -2.085  0.4246
 Sequence3 - Sequence6    26.45 233 Inf   0.114  1.0000
 Sequence3 - Sequence7  -113.99 213 Inf  -0.536  0.9995
 Sequence3 - Sequence8    35.07 233 Inf   0.151  1.0000
 Sequence4 - Sequence5  -256.88 233 Inf  -1.103  0.9563
 Sequence4 - Sequence6   254.94 233 Inf   1.095  0.9580
 Sequence4 - Sequence7   114.50 213 Inf   0.539  0.9994
 Sequence4 - Sequence8   263.57 233 Inf   1.132  0.9499
 Sequence5 - Sequence6   511.82 233 Inf   2.199  0.3524
 Sequence5 - Sequence7   371.38 213 Inf   1.748  0.6558
 Sequence5 - Sequence8   520.45 233 Inf   2.236  0.3302
 Sequence6 - Sequence7  -140.44 213 Inf  -0.661  0.9979
 Sequence6 - Sequence8     8.63 233 Inf   0.037  1.0000
 Sequence7 - Sequence8   149.07 213 Inf   0.701  0.9970

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 8 estimates 

It seems like there is nos significant diffence in the RT between the various sequences

#Descripütives

highest_avg_rt_step <- df_acc %>%
  group_by(sub.trial.number) %>%  # Group by sub-trial step
  summarise(avg_rt = mean(feedback.RT, na.rm = TRUE),  # Compute mean RT
            n = n()) 

There is a spike in RT around the 13th sep. Could indicate concatenation but could also indicate the switch between 12 and 18

#First Models

#Model to show which step has the higest RT


df_acc <- df_acc %>% mutate(sub.trial.number = as.factor(sub.trial.number))
M2 <- lmer(feedback.RT ~ 0 + sub.trial.number + 
                (1 | subject) + (1 | session) + (1 | trial) + (1 | corr_trials),
              data = df_acc)
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 1 negative eigenvalues
Anova(M2)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
                  Chisq Df Pr(>Chisq)    
sub.trial.number 2051.9 18  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M2 <- allEffects(M2)
ae.m.M2.df <- as.data.frame(ae.m.M2[1])
plot(ae.m.M2)

summary(M2)
Linear mixed model fit by REML ['lmerMod']
Formula: feedback.RT ~ 0 + sub.trial.number + (1 | subject) + (1 | session) +  
    (1 | trial) + (1 | corr_trials)
   Data: df_acc

REML criterion at convergence: 283614.1

Scaled residuals: 
   Min     1Q Median     3Q    Max 
-4.192 -0.444 -0.154  0.223 34.702 

Random effects:
 Groups      Name        Variance Std.Dev.
 trial       (Intercept)  3059.4   55.31  
 corr_trials (Intercept) 14867.1  121.93  
 subject     (Intercept) 31731.2  178.13  
 session     (Intercept)   492.5   22.19  
 Residual                84337.2  290.41  
Number of obs: 19992, groups:  
trial, 48; corr_trials, 19; subject, 19; session, 3

Fixed effects:
                   Estimate Std. Error t value
sub.trial.number1    758.13      52.24  14.512
sub.trial.number2    462.98      52.24   8.862
sub.trial.number3    433.11      52.24   8.291
sub.trial.number4    429.20      52.24   8.216
sub.trial.number5    486.13      52.24   9.306
sub.trial.number6    469.19      52.24   8.981
sub.trial.number7    488.30      52.57   9.288
sub.trial.number8    466.01      52.57   8.864
sub.trial.number9    507.29      52.57   9.649
sub.trial.number10   492.82      52.57   9.374
sub.trial.number11   457.94      52.57   8.710
sub.trial.number12   430.47      52.57   8.188
sub.trial.number13   655.05      53.47  12.251
sub.trial.number14   529.92      53.47   9.911
sub.trial.number15   473.29      53.47   8.851
sub.trial.number16   408.08      53.47   7.632
sub.trial.number17   459.41      53.47   8.592
sub.trial.number18   447.91      53.47   8.377

Correlation matrix not shown by default, as p = 18 > 12.
Use print(x, correlation=TRUE)  or
    vcov(x)        if you need it
optimizer (nloptwrap) convergence code: 0 (OK)
unable to evaluate scaled gradient
Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
posthoc <- emmeans(M2, ~ factor(sub.trial.number))
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 19992' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 19992)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 19992' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 19992)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisons <- pairs(posthoc)
summary(pairwise_comparisons)
 contrast                                estimate    SE  df z.ratio p.value
 sub.trial.number1 - sub.trial.number2     295.15  9.77 Inf  30.200  <.0001
 sub.trial.number1 - sub.trial.number3     325.02  9.77 Inf  33.257  <.0001
 sub.trial.number1 - sub.trial.number4     328.93  9.77 Inf  33.657  <.0001
 sub.trial.number1 - sub.trial.number5     272.00  9.77 Inf  27.832  <.0001
 sub.trial.number1 - sub.trial.number6     288.94  9.77 Inf  29.565  <.0001
 sub.trial.number1 - sub.trial.number7     269.83 11.49 Inf  23.474  <.0001
 sub.trial.number1 - sub.trial.number8     292.12 11.49 Inf  25.413  <.0001
 sub.trial.number1 - sub.trial.number9     250.84 11.49 Inf  21.822  <.0001
 sub.trial.number1 - sub.trial.number10    265.31 11.49 Inf  23.081  <.0001
 sub.trial.number1 - sub.trial.number11    300.19 11.49 Inf  26.115  <.0001
 sub.trial.number1 - sub.trial.number12    327.66 11.49 Inf  28.505  <.0001
 sub.trial.number1 - sub.trial.number13    103.08 15.09 Inf   6.832  <.0001
 sub.trial.number1 - sub.trial.number14    228.21 15.09 Inf  15.126  <.0001
 sub.trial.number1 - sub.trial.number15    284.85 15.09 Inf  18.880  <.0001
 sub.trial.number1 - sub.trial.number16    350.05 15.09 Inf  23.202  <.0001
 sub.trial.number1 - sub.trial.number17    298.72 15.09 Inf  19.800  <.0001
 sub.trial.number1 - sub.trial.number18    310.22 15.09 Inf  20.562  <.0001
 sub.trial.number2 - sub.trial.number3      29.87  9.77 Inf   3.057  0.1737
 sub.trial.number2 - sub.trial.number4      33.79  9.77 Inf   3.457  0.0553
 sub.trial.number2 - sub.trial.number5     -23.15  9.77 Inf  -2.369  0.6321
 sub.trial.number2 - sub.trial.number6      -6.21  9.77 Inf  -0.635  1.0000
 sub.trial.number2 - sub.trial.number7     -25.32 11.49 Inf  -2.203  0.7522
 sub.trial.number2 - sub.trial.number8      -3.03 11.49 Inf  -0.263  1.0000
 sub.trial.number2 - sub.trial.number9     -44.30 11.49 Inf  -3.854  0.0139
 sub.trial.number2 - sub.trial.number10    -29.84 11.49 Inf  -2.596  0.4566
 sub.trial.number2 - sub.trial.number11      5.04 11.49 Inf   0.438  1.0000
 sub.trial.number2 - sub.trial.number12     32.51 11.49 Inf   2.829  0.2946
 sub.trial.number2 - sub.trial.number13   -192.07 15.09 Inf -12.731  <.0001
 sub.trial.number2 - sub.trial.number14    -66.94 15.09 Inf  -4.437  0.0013
 sub.trial.number2 - sub.trial.number15    -10.30 15.09 Inf  -0.683  1.0000
 sub.trial.number2 - sub.trial.number16     54.90 15.09 Inf   3.639  0.0303
 sub.trial.number2 - sub.trial.number17      3.57 15.09 Inf   0.237  1.0000
 sub.trial.number2 - sub.trial.number18     15.07 15.09 Inf   0.999  0.9999
 sub.trial.number3 - sub.trial.number4       3.91  9.77 Inf   0.400  1.0000
 sub.trial.number3 - sub.trial.number5     -53.02  9.77 Inf  -5.425  <.0001
 sub.trial.number3 - sub.trial.number6     -36.08  9.77 Inf  -3.692  0.0252
 sub.trial.number3 - sub.trial.number7     -55.19 11.49 Inf  -4.801  0.0002
 sub.trial.number3 - sub.trial.number8     -32.90 11.49 Inf  -2.862  0.2743
 sub.trial.number3 - sub.trial.number9     -74.18 11.49 Inf  -6.453  <.0001
 sub.trial.number3 - sub.trial.number10    -59.71 11.49 Inf  -5.195  <.0001
 sub.trial.number3 - sub.trial.number11    -24.83 11.49 Inf  -2.160  0.7800
 sub.trial.number3 - sub.trial.number12      2.64 11.49 Inf   0.230  1.0000
 sub.trial.number3 - sub.trial.number13   -221.94 15.09 Inf -14.711  <.0001
 sub.trial.number3 - sub.trial.number14    -96.81 15.09 Inf  -6.417  <.0001
 sub.trial.number3 - sub.trial.number15    -40.17 15.09 Inf  -2.663  0.4068
 sub.trial.number3 - sub.trial.number16     25.03 15.09 Inf   1.659  0.9739
 sub.trial.number3 - sub.trial.number17    -26.30 15.09 Inf  -1.743  0.9583
 sub.trial.number3 - sub.trial.number18    -14.80 15.09 Inf  -0.981  1.0000
 sub.trial.number4 - sub.trial.number5     -56.93  9.77 Inf  -5.826  <.0001
 sub.trial.number4 - sub.trial.number6     -39.99  9.77 Inf  -4.092  0.0055
 sub.trial.number4 - sub.trial.number7     -59.11 11.49 Inf  -5.142  <.0001
 sub.trial.number4 - sub.trial.number8     -36.81 11.49 Inf  -3.202  0.1181
 sub.trial.number4 - sub.trial.number9     -78.09 11.49 Inf  -6.793  <.0001
 sub.trial.number4 - sub.trial.number10    -63.62 11.49 Inf  -5.535  <.0001
 sub.trial.number4 - sub.trial.number11    -28.75 11.49 Inf  -2.501  0.5296
 sub.trial.number4 - sub.trial.number12     -1.27 11.49 Inf  -0.111  1.0000
 sub.trial.number4 - sub.trial.number13   -225.85 15.09 Inf -14.970  <.0001
 sub.trial.number4 - sub.trial.number14   -100.72 15.09 Inf  -6.676  <.0001
 sub.trial.number4 - sub.trial.number15    -44.09 15.09 Inf  -2.922  0.2399
 sub.trial.number4 - sub.trial.number16     21.12 15.09 Inf   1.400  0.9958
 sub.trial.number4 - sub.trial.number17    -30.21 15.09 Inf  -2.003  0.8686
 sub.trial.number4 - sub.trial.number18    -18.71 15.09 Inf  -1.240  0.9990
 sub.trial.number5 - sub.trial.number6      16.94  9.77 Inf   1.734  0.9603
 sub.trial.number5 - sub.trial.number7      -2.17 11.49 Inf  -0.189  1.0000
 sub.trial.number5 - sub.trial.number8      20.12 11.49 Inf   1.751  0.9566
 sub.trial.number5 - sub.trial.number9     -21.16 11.49 Inf  -1.840  0.9326
 sub.trial.number5 - sub.trial.number10     -6.69 11.49 Inf  -0.582  1.0000
 sub.trial.number5 - sub.trial.number11     28.19 11.49 Inf   2.452  0.5675
 sub.trial.number5 - sub.trial.number12     55.66 11.49 Inf   4.842  0.0002
 sub.trial.number5 - sub.trial.number13   -168.92 15.09 Inf -11.196  <.0001
 sub.trial.number5 - sub.trial.number14    -43.79 15.09 Inf  -2.903  0.2509
 sub.trial.number5 - sub.trial.number15     12.85 15.09 Inf   0.851  1.0000
 sub.trial.number5 - sub.trial.number16     78.05 15.09 Inf   5.173  <.0001
 sub.trial.number5 - sub.trial.number17     26.72 15.09 Inf   1.771  0.9518
 sub.trial.number5 - sub.trial.number18     38.22 15.09 Inf   2.533  0.5044
 sub.trial.number6 - sub.trial.number7     -19.11 11.49 Inf  -1.663  0.9733
 sub.trial.number6 - sub.trial.number8       3.18 11.49 Inf   0.277  1.0000
 sub.trial.number6 - sub.trial.number9     -38.10 11.49 Inf  -3.314  0.0857
 sub.trial.number6 - sub.trial.number10    -23.63 11.49 Inf  -2.056  0.8414
 sub.trial.number6 - sub.trial.number11     11.24 11.49 Inf   0.978  1.0000
 sub.trial.number6 - sub.trial.number12     38.72 11.49 Inf   3.368  0.0729
 sub.trial.number6 - sub.trial.number13   -185.86 15.09 Inf -12.319  <.0001
 sub.trial.number6 - sub.trial.number14    -60.73 15.09 Inf  -4.026  0.0072
 sub.trial.number6 - sub.trial.number15     -4.10 15.09 Inf  -0.272  1.0000
 sub.trial.number6 - sub.trial.number16     61.11 15.09 Inf   4.050  0.0065
 sub.trial.number6 - sub.trial.number17      9.78 15.09 Inf   0.648  1.0000
 sub.trial.number6 - sub.trial.number18     21.28 15.09 Inf   1.410  0.9954
 sub.trial.number7 - sub.trial.number8      22.29 12.60 Inf   1.770  0.9521
 sub.trial.number7 - sub.trial.number9     -18.98 12.60 Inf  -1.507  0.9903
 sub.trial.number7 - sub.trial.number10     -4.52 12.60 Inf  -0.359  1.0000
 sub.trial.number7 - sub.trial.number11     30.36 12.60 Inf   2.410  0.6001
 sub.trial.number7 - sub.trial.number12     57.83 12.60 Inf   4.591  0.0006
 sub.trial.number7 - sub.trial.number13   -166.75 15.94 Inf -10.459  <.0001
 sub.trial.number7 - sub.trial.number14    -41.62 15.94 Inf  -2.610  0.4455
 sub.trial.number7 - sub.trial.number15     15.02 15.94 Inf   0.942  1.0000
 sub.trial.number7 - sub.trial.number16     80.22 15.94 Inf   5.032  0.0001
 sub.trial.number7 - sub.trial.number17     28.89 15.94 Inf   1.812  0.9410
 sub.trial.number7 - sub.trial.number18     40.39 15.94 Inf   2.534  0.5042
 sub.trial.number8 - sub.trial.number9     -41.28 12.60 Inf  -3.277  0.0956
 sub.trial.number8 - sub.trial.number10    -26.81 12.60 Inf  -2.129  0.7998
 sub.trial.number8 - sub.trial.number11      8.06 12.60 Inf   0.640  1.0000
 sub.trial.number8 - sub.trial.number12     35.54 12.60 Inf   2.821  0.2991
 sub.trial.number8 - sub.trial.number13   -189.04 15.94 Inf -11.858  <.0001
 sub.trial.number8 - sub.trial.number14    -63.91 15.94 Inf  -4.009  0.0077
 sub.trial.number8 - sub.trial.number15     -7.28 15.94 Inf  -0.456  1.0000
 sub.trial.number8 - sub.trial.number16     57.93 15.94 Inf   3.634  0.0308
 sub.trial.number8 - sub.trial.number17      6.60 15.94 Inf   0.414  1.0000
 sub.trial.number8 - sub.trial.number18     18.10 15.94 Inf   1.135  0.9997
 sub.trial.number9 - sub.trial.number10     14.47 12.60 Inf   1.148  0.9996
 sub.trial.number9 - sub.trial.number11     49.34 12.60 Inf   3.917  0.0110
 sub.trial.number9 - sub.trial.number12     76.82 12.60 Inf   6.098  <.0001
 sub.trial.number9 - sub.trial.number13   -147.77 15.94 Inf  -9.268  <.0001
 sub.trial.number9 - sub.trial.number14    -22.63 15.94 Inf  -1.420  0.9950
 sub.trial.number9 - sub.trial.number15     34.00 15.94 Inf   2.133  0.7972
 sub.trial.number9 - sub.trial.number16     99.21 15.94 Inf   6.223  <.0001
 sub.trial.number9 - sub.trial.number17     47.88 15.94 Inf   3.003  0.1984
 sub.trial.number9 - sub.trial.number18     59.38 15.94 Inf   3.724  0.0224
 sub.trial.number10 - sub.trial.number11    34.88 12.60 Inf   2.769  0.3330
 sub.trial.number10 - sub.trial.number12    62.35 12.60 Inf   4.950  0.0001
 sub.trial.number10 - sub.trial.number13  -162.23 15.94 Inf -10.176  <.0001
 sub.trial.number10 - sub.trial.number14   -37.10 15.94 Inf  -2.327  0.6635
 sub.trial.number10 - sub.trial.number15    19.54 15.94 Inf   1.225  0.9992
 sub.trial.number10 - sub.trial.number16    84.74 15.94 Inf   5.315  <.0001
 sub.trial.number10 - sub.trial.number17    33.41 15.94 Inf   2.096  0.8193
 sub.trial.number10 - sub.trial.number18    44.91 15.94 Inf   2.817  0.3019
 sub.trial.number11 - sub.trial.number12    27.47 12.60 Inf   2.181  0.7666
 sub.trial.number11 - sub.trial.number13  -197.11 15.94 Inf -12.363  <.0001
 sub.trial.number11 - sub.trial.number14   -71.98 15.94 Inf  -4.515  0.0009
 sub.trial.number11 - sub.trial.number15   -15.34 15.94 Inf  -0.962  1.0000
 sub.trial.number11 - sub.trial.number16    49.86 15.94 Inf   3.128  0.1446
 sub.trial.number11 - sub.trial.number17    -1.47 15.94 Inf  -0.092  1.0000
 sub.trial.number11 - sub.trial.number18    10.03 15.94 Inf   0.629  1.0000
 sub.trial.number12 - sub.trial.number13  -224.58 15.94 Inf -14.087  <.0001
 sub.trial.number12 - sub.trial.number14   -99.45 15.94 Inf  -6.238  <.0001
 sub.trial.number12 - sub.trial.number15   -42.82 15.94 Inf  -2.686  0.3904
 sub.trial.number12 - sub.trial.number16    22.39 15.94 Inf   1.404  0.9956
 sub.trial.number12 - sub.trial.number17   -28.94 15.94 Inf  -1.815  0.9401
 sub.trial.number12 - sub.trial.number18   -17.44 15.94 Inf  -1.094  0.9998
 sub.trial.number13 - sub.trial.number14   125.13 18.31 Inf   6.833  <.0001
 sub.trial.number13 - sub.trial.number15   181.77 18.31 Inf   9.926  <.0001
 sub.trial.number13 - sub.trial.number16   246.97 18.31 Inf  13.487  <.0001
 sub.trial.number13 - sub.trial.number17   195.64 18.31 Inf  10.684  <.0001
 sub.trial.number13 - sub.trial.number18   207.14 18.31 Inf  11.312  <.0001
 sub.trial.number14 - sub.trial.number15    56.64 18.31 Inf   3.093  0.1584
 sub.trial.number14 - sub.trial.number16   121.84 18.31 Inf   6.654  <.0001
 sub.trial.number14 - sub.trial.number17    70.51 18.31 Inf   3.850  0.0141
 sub.trial.number14 - sub.trial.number18    82.01 18.31 Inf   4.478  0.0010
 sub.trial.number15 - sub.trial.number16    65.20 18.31 Inf   3.561  0.0395
 sub.trial.number15 - sub.trial.number17    13.87 18.31 Inf   0.758  1.0000
 sub.trial.number15 - sub.trial.number18    25.37 18.31 Inf   1.386  0.9962
 sub.trial.number16 - sub.trial.number17   -51.33 18.31 Inf  -2.803  0.3107
 sub.trial.number16 - sub.trial.number18   -39.83 18.31 Inf  -2.175  0.7705
 sub.trial.number17 - sub.trial.number18    11.50 18.31 Inf   0.628  1.0000

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 18 estimates 
#Plot by block
df_B1 <- df_acc %>% filter(session == 1)
df_B2 <- df_acc %>% filter(session == 2)
df_B3 <- df_acc %>% filter(session == 3)

#Block 1
M_B1 <- lmer(feedback.RT ~ 0 + sub.trial.number + 
                (1 | subject) + (1 | trial)+ (1 | corr_trials),
              data = df_B1)
Anova(M_B1)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
                  Chisq Df Pr(>Chisq)    
sub.trial.number 667.36  6  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M_B1 <- allEffects(M_B1)
ae.m.M_B1.df <- as.data.frame(ae.m.M_B1[1])
plot(ae.m.M_B1)

summary(M_B1)
Linear mixed model fit by REML ['lmerMod']
Formula: feedback.RT ~ 0 + sub.trial.number + (1 | subject) + (1 | trial) +  
    (1 | corr_trials)
   Data: df_B1

REML criterion at convergence: 60410.4

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.4627 -0.3631 -0.0794  0.2521 30.8225 

Random effects:
 Groups      Name        Variance Std.Dev.
 trial       (Intercept) 15377.3  124.01  
 corr_trials (Intercept)   157.6   12.55  
 subject     (Intercept) 70149.6  264.86  
 Residual                93340.4  305.52  
Number of obs: 4218, groups:  trial, 48; corr_trials, 18; subject, 18

Fixed effects:
                  Estimate Std. Error t value
sub.trial.number1   765.80      66.03  11.597
sub.trial.number2   464.10      66.03   7.028
sub.trial.number3   443.18      66.03   6.712
sub.trial.number4   455.04      66.03   6.891
sub.trial.number5   463.85      66.03   7.025
sub.trial.number6   451.13      66.03   6.832

Correlation of Fixed Effects:
            sb.t.1 sb.t.2 sb.t.3 sb.t.4 sb.t.5
sb.trl.nmb2 0.970                             
sb.trl.nmb3 0.970  0.970                      
sb.trl.nmb4 0.970  0.970  0.970               
sb.trl.nmb5 0.970  0.970  0.970  0.970        
sb.trl.nmb6 0.970  0.970  0.970  0.970  0.970 
posthocM_B1 <- emmeans(M_B1, ~ factor(sub.trial.number))
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 4218' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 4218)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 4218' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 4218)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisonsM_B1 <- pairs(posthocM_B1)
summary(pairwise_comparisonsM_B1)
 contrast                              estimate   SE  df z.ratio p.value
 sub.trial.number1 - sub.trial.number2  301.691 16.3 Inf  18.514  <.0001
 sub.trial.number1 - sub.trial.number3  322.613 16.3 Inf  19.797  <.0001
 sub.trial.number1 - sub.trial.number4  310.754 16.3 Inf  19.070  <.0001
 sub.trial.number1 - sub.trial.number5  301.947 16.3 Inf  18.529  <.0001
 sub.trial.number1 - sub.trial.number6  314.669 16.3 Inf  19.310  <.0001
 sub.trial.number2 - sub.trial.number3   20.922 16.3 Inf   1.284  0.7940
 sub.trial.number2 - sub.trial.number4    9.063 16.3 Inf   0.556  0.9937
 sub.trial.number2 - sub.trial.number5    0.256 16.3 Inf   0.016  1.0000
 sub.trial.number2 - sub.trial.number6   12.977 16.3 Inf   0.796  0.9682
 sub.trial.number3 - sub.trial.number4  -11.859 16.3 Inf  -0.728  0.9786
 sub.trial.number3 - sub.trial.number5  -20.666 16.3 Inf  -1.268  0.8025
 sub.trial.number3 - sub.trial.number6   -7.944 16.3 Inf  -0.488  0.9966
 sub.trial.number4 - sub.trial.number5   -8.806 16.3 Inf  -0.540  0.9945
 sub.trial.number4 - sub.trial.number6    3.915 16.3 Inf   0.240  0.9999
 sub.trial.number5 - sub.trial.number6   12.721 16.3 Inf   0.781  0.9709

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 6 estimates 
#Block 2
M_B2 <- lmer(feedback.RT ~ 0 + sub.trial.number + 
                (1 | subject) + (1 | trial)+ (1 | corr_trials),
              data = df_B2)

Anova(M_B2)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
                  Chisq Df Pr(>Chisq)    
sub.trial.number 888.87 12  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M_B2 <- allEffects(M_B2)
ae.m.M_B2.df <- as.data.frame(ae.m.M_B2[1])
plot(ae.m.M_B2)

summary(M_B2)
Linear mixed model fit by REML ['lmerMod']
Formula: feedback.RT ~ 0 + sub.trial.number + (1 | subject) + (1 | trial) +  
    (1 | corr_trials)
   Data: df_B2

REML criterion at convergence: 92763.4

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.1985 -0.4772 -0.1781  0.2289 13.3500 

Random effects:
 Groups      Name        Variance Std.Dev.
 trial       (Intercept)  1775     42.13  
 corr_trials (Intercept) 41136    202.82  
 subject     (Intercept) 18256    135.11  
 Residual                57128    239.01  
Number of obs: 6720, groups:  trial, 48; corr_trials, 18; subject, 18

Fixed effects:
                   Estimate Std. Error t value
sub.trial.number1    745.29      58.65  12.707
sub.trial.number2    469.58      58.65   8.006
sub.trial.number3    438.43      58.65   7.475
sub.trial.number4    413.46      58.65   7.049
sub.trial.number5    516.31      58.65   8.803
sub.trial.number6    479.33      58.65   8.172
sub.trial.number7    506.57      58.65   8.637
sub.trial.number8    483.33      58.65   8.241
sub.trial.number9    509.96      58.65   8.695
sub.trial.number10   470.30      58.65   8.019
sub.trial.number11   436.94      58.65   7.450
sub.trial.number12   422.89      58.65   7.210

Correlation of Fixed Effects:
            sb.t.1 sb.t.2 sb.t.3 sb.t.4 sb.t.5 sb.t.6 sb.t.7 sb.t.8 sb.t.9
sb.trl.nmb2 0.970                                                         
sb.trl.nmb3 0.970  0.970                                                  
sb.trl.nmb4 0.970  0.970  0.970                                           
sb.trl.nmb5 0.970  0.970  0.970  0.970                                    
sb.trl.nmb6 0.970  0.970  0.970  0.970  0.970                             
sb.trl.nmb7 0.970  0.970  0.970  0.970  0.970  0.970                      
sb.trl.nmb8 0.970  0.970  0.970  0.970  0.970  0.970  0.970               
sb.trl.nmb9 0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970        
sb.trl.nm10 0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970 
sb.trl.nm11 0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970 
sb.trl.nm12 0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970  0.970 
            sb..10 sb..11
sb.trl.nmb2              
sb.trl.nmb3              
sb.trl.nmb4              
sb.trl.nmb5              
sb.trl.nmb6              
sb.trl.nmb7              
sb.trl.nmb8              
sb.trl.nmb9              
sb.trl.nm10              
sb.trl.nm11 0.970        
sb.trl.nm12 0.970  0.970 
posthocM_B2 <- emmeans(M_B2, ~ factor(sub.trial.number))
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 6720' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 6720)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 6720' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 6720)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisonsM_B2 <- pairs(posthocM_B2)
summary(pairwise_comparisonsM_B2)
 contrast                                estimate   SE  df z.ratio p.value
 sub.trial.number1 - sub.trial.number2    275.707 14.3 Inf  19.302  <.0001
 sub.trial.number1 - sub.trial.number3    306.861 14.3 Inf  21.483  <.0001
 sub.trial.number1 - sub.trial.number4    331.834 14.3 Inf  23.231  <.0001
 sub.trial.number1 - sub.trial.number5    228.984 14.3 Inf  16.031  <.0001
 sub.trial.number1 - sub.trial.number6    265.964 14.3 Inf  18.620  <.0001
 sub.trial.number1 - sub.trial.number7    238.716 14.3 Inf  16.712  <.0001
 sub.trial.number1 - sub.trial.number8    261.957 14.3 Inf  18.339  <.0001
 sub.trial.number1 - sub.trial.number9    235.332 14.3 Inf  16.475  <.0001
 sub.trial.number1 - sub.trial.number10   274.986 14.3 Inf  19.251  <.0001
 sub.trial.number1 - sub.trial.number11   308.355 14.3 Inf  21.588  <.0001
 sub.trial.number1 - sub.trial.number12   322.405 14.3 Inf  22.571  <.0001
 sub.trial.number2 - sub.trial.number3     31.154 14.3 Inf   2.181  0.5635
 sub.trial.number2 - sub.trial.number4     56.127 14.3 Inf   3.929  0.0049
 sub.trial.number2 - sub.trial.number5    -46.723 14.3 Inf  -3.271  0.0495
 sub.trial.number2 - sub.trial.number6     -9.743 14.3 Inf  -0.682  0.9999
 sub.trial.number2 - sub.trial.number7    -36.991 14.3 Inf  -2.590  0.2853
 sub.trial.number2 - sub.trial.number8    -13.750 14.3 Inf  -0.963  0.9984
 sub.trial.number2 - sub.trial.number9    -40.375 14.3 Inf  -2.827  0.1687
 sub.trial.number2 - sub.trial.number10    -0.721 14.3 Inf  -0.051  1.0000
 sub.trial.number2 - sub.trial.number11    32.648 14.3 Inf   2.286  0.4868
 sub.trial.number2 - sub.trial.number12    46.698 14.3 Inf   3.269  0.0498
 sub.trial.number3 - sub.trial.number4     24.973 14.3 Inf   1.748  0.8456
 sub.trial.number3 - sub.trial.number5    -77.877 14.3 Inf  -5.452  <.0001
 sub.trial.number3 - sub.trial.number6    -40.896 14.3 Inf  -2.863  0.1543
 sub.trial.number3 - sub.trial.number7    -68.145 14.3 Inf  -4.771  0.0001
 sub.trial.number3 - sub.trial.number8    -44.904 14.3 Inf  -3.144  0.0725
 sub.trial.number3 - sub.trial.number9    -71.529 14.3 Inf  -5.008  <.0001
 sub.trial.number3 - sub.trial.number10   -31.875 14.3 Inf  -2.232  0.5264
 sub.trial.number3 - sub.trial.number11     1.495 14.3 Inf   0.105  1.0000
 sub.trial.number3 - sub.trial.number12    15.545 14.3 Inf   1.088  0.9952
 sub.trial.number4 - sub.trial.number5   -102.850 14.3 Inf  -7.200  <.0001
 sub.trial.number4 - sub.trial.number6    -65.870 14.3 Inf  -4.611  0.0003
 sub.trial.number4 - sub.trial.number7    -93.118 14.3 Inf  -6.519  <.0001
 sub.trial.number4 - sub.trial.number8    -69.877 14.3 Inf  -4.892  0.0001
 sub.trial.number4 - sub.trial.number9    -96.502 14.3 Inf  -6.756  <.0001
 sub.trial.number4 - sub.trial.number10   -56.848 14.3 Inf  -3.980  0.0040
 sub.trial.number4 - sub.trial.number11   -23.479 14.3 Inf  -1.644  0.8929
 sub.trial.number4 - sub.trial.number12    -9.429 14.3 Inf  -0.660  1.0000
 sub.trial.number5 - sub.trial.number6     36.980 14.3 Inf   2.589  0.2858
 sub.trial.number5 - sub.trial.number7      9.732 14.3 Inf   0.681  0.9999
 sub.trial.number5 - sub.trial.number8     32.973 14.3 Inf   2.308  0.4704
 sub.trial.number5 - sub.trial.number9      6.348 14.3 Inf   0.444  1.0000
 sub.trial.number5 - sub.trial.number10    46.002 14.3 Inf   3.221  0.0578
 sub.trial.number5 - sub.trial.number11    79.371 14.3 Inf   5.557  <.0001
 sub.trial.number5 - sub.trial.number12    93.421 14.3 Inf   6.540  <.0001
 sub.trial.number6 - sub.trial.number7    -27.248 14.3 Inf  -1.908  0.7548
 sub.trial.number6 - sub.trial.number8     -4.007 14.3 Inf  -0.281  1.0000
 sub.trial.number6 - sub.trial.number9    -30.632 14.3 Inf  -2.145  0.5904
 sub.trial.number6 - sub.trial.number10     9.021 14.3 Inf   0.632  1.0000
 sub.trial.number6 - sub.trial.number11    42.391 14.3 Inf   2.968  0.1181
 sub.trial.number6 - sub.trial.number12    56.441 14.3 Inf   3.951  0.0044
 sub.trial.number7 - sub.trial.number8     23.241 14.3 Inf   1.627  0.8995
 sub.trial.number7 - sub.trial.number9     -3.384 14.3 Inf  -0.237  1.0000
 sub.trial.number7 - sub.trial.number10    36.270 14.3 Inf   2.539  0.3153
 sub.trial.number7 - sub.trial.number11    69.639 14.3 Inf   4.875  0.0001
 sub.trial.number7 - sub.trial.number12    83.689 14.3 Inf   5.859  <.0001
 sub.trial.number8 - sub.trial.number9    -26.625 14.3 Inf  -1.864  0.7817
 sub.trial.number8 - sub.trial.number10    13.029 14.3 Inf   0.912  0.9990
 sub.trial.number8 - sub.trial.number11    46.398 14.3 Inf   3.248  0.0531
 sub.trial.number8 - sub.trial.number12    60.448 14.3 Inf   4.232  0.0014
 sub.trial.number9 - sub.trial.number10    39.654 14.3 Inf   2.776  0.1901
 sub.trial.number9 - sub.trial.number11    73.023 14.3 Inf   5.112  <.0001
 sub.trial.number9 - sub.trial.number12    87.073 14.3 Inf   6.096  <.0001
 sub.trial.number10 - sub.trial.number11   33.370 14.3 Inf   2.336  0.4505
 sub.trial.number10 - sub.trial.number12   47.420 14.3 Inf   3.320  0.0425
 sub.trial.number11 - sub.trial.number12   14.050 14.3 Inf   0.984  0.9980

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 12 estimates 
#Block 3
M_B3 <- lmer(feedback.RT ~ 0 + sub.trial.number + 
                (1 | subject) + (1 | trial)+ (1 | corr_trials),
              data = df_B3)
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient

Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 1 negative eigenvalues
Anova(M_B3)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
                  Chisq Df Pr(>Chisq)    
sub.trial.number 877.71 18  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M_B3 <- allEffects(M_B3)
ae.m.M_B3.df <- as.data.frame(ae.m.M_B3[1])
plot(ae.m.M_B3)

summary(M_B3)
Linear mixed model fit by REML ['lmerMod']
Formula: feedback.RT ~ 0 + sub.trial.number + (1 | subject) + (1 | trial) +  
    (1 | corr_trials)
   Data: df_B3

REML criterion at convergence: 128810.3

Scaled residuals: 
   Min     1Q Median     3Q    Max 
-2.595 -0.431 -0.160  0.193 34.000 

Random effects:
 Groups      Name        Variance Std.Dev.
 trial       (Intercept)  1613.8   40.17  
 corr_trials (Intercept)   260.8   16.15  
 subject     (Intercept) 40765.9  201.91  
 Residual                88154.4  296.91  
Number of obs: 9054, groups:  trial, 47; corr_trials, 19; subject, 19

Fixed effects:
                   Estimate Std. Error t value
sub.trial.number1     794.8       48.7  16.319
sub.trial.number2     487.2       48.7  10.002
sub.trial.number3     446.2       48.7   9.162
sub.trial.number4     443.7       48.7   9.110
sub.trial.number5     516.8       48.7  10.610
sub.trial.number6     516.2       48.7  10.599
sub.trial.number7     499.2       48.7  10.249
sub.trial.number8     477.9       48.7   9.813
sub.trial.number9     535.5       48.7  10.996
sub.trial.number10    549.1       48.7  11.274
sub.trial.number11    512.5       48.7  10.524
sub.trial.number12    470.1       48.7   9.653
sub.trial.number13    685.0       48.7  14.064
sub.trial.number14    559.9       48.7  11.495
sub.trial.number15    503.2       48.7  10.332
sub.trial.number16    438.0       48.7   8.993
sub.trial.number17    489.4       48.7  10.047
sub.trial.number18    477.9       48.7   9.811

Correlation matrix not shown by default, as p = 18 > 12.
Use print(x, correlation=TRUE)  or
    vcov(x)        if you need it
optimizer (nloptwrap) convergence code: 0 (OK)
unable to evaluate scaled gradient
Model failed to converge: degenerate  Hessian with 1 negative eigenvalues
posthocM_B3 <- emmeans(M_B3, ~ factor(sub.trial.number))
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 9054' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 9054)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 9054' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 9054)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisonsM_B3 <- pairs(posthocM_B3)
summary(pairwise_comparisonsM_B3)
 contrast                                 estimate   SE  df z.ratio p.value
 sub.trial.number1 - sub.trial.number2    307.6481 18.7 Inf  16.432  <.0001
 sub.trial.number1 - sub.trial.number3    348.6044 18.7 Inf  18.620  <.0001
 sub.trial.number1 - sub.trial.number4    351.1133 18.7 Inf  18.754  <.0001
 sub.trial.number1 - sub.trial.number5    278.0378 18.7 Inf  14.851  <.0001
 sub.trial.number1 - sub.trial.number6    278.5726 18.7 Inf  14.879  <.0001
 sub.trial.number1 - sub.trial.number7    295.6322 18.7 Inf  15.791  <.0001
 sub.trial.number1 - sub.trial.number8    316.8728 18.7 Inf  16.925  <.0001
 sub.trial.number1 - sub.trial.number9    259.2803 18.7 Inf  13.849  <.0001
 sub.trial.number1 - sub.trial.number10   245.7038 18.7 Inf  13.124  <.0001
 sub.trial.number1 - sub.trial.number11   282.2604 18.7 Inf  15.076  <.0001
 sub.trial.number1 - sub.trial.number12   324.6799 18.7 Inf  17.342  <.0001
 sub.trial.number1 - sub.trial.number13   109.8211 18.7 Inf   5.866  <.0001
 sub.trial.number1 - sub.trial.number14   234.9523 18.7 Inf  12.550  <.0001
 sub.trial.number1 - sub.trial.number15   291.5885 18.7 Inf  15.575  <.0001
 sub.trial.number1 - sub.trial.number16   356.7932 18.7 Inf  19.057  <.0001
 sub.trial.number1 - sub.trial.number17   305.4632 18.7 Inf  16.316  <.0001
 sub.trial.number1 - sub.trial.number18   316.9622 18.7 Inf  16.930  <.0001
 sub.trial.number2 - sub.trial.number3     40.9563 18.7 Inf   2.188  0.7623
 sub.trial.number2 - sub.trial.number4     43.4652 18.7 Inf   2.322  0.6675
 sub.trial.number2 - sub.trial.number5    -29.6103 18.7 Inf  -1.582  0.9839
 sub.trial.number2 - sub.trial.number6    -29.0755 18.7 Inf  -1.553  0.9866
 sub.trial.number2 - sub.trial.number7    -12.0159 18.7 Inf  -0.642  1.0000
 sub.trial.number2 - sub.trial.number8      9.2247 18.7 Inf   0.493  1.0000
 sub.trial.number2 - sub.trial.number9    -48.3678 18.7 Inf  -2.583  0.4659
 sub.trial.number2 - sub.trial.number10   -61.9443 18.7 Inf  -3.309  0.0872
 sub.trial.number2 - sub.trial.number11   -25.3877 18.7 Inf  -1.356  0.9971
 sub.trial.number2 - sub.trial.number12    17.0318 18.7 Inf   0.910  1.0000
 sub.trial.number2 - sub.trial.number13  -197.8270 18.7 Inf -10.567  <.0001
 sub.trial.number2 - sub.trial.number14   -72.6958 18.7 Inf  -3.883  0.0125
 sub.trial.number2 - sub.trial.number15   -16.0596 18.7 Inf  -0.858  1.0000
 sub.trial.number2 - sub.trial.number16    49.1451 18.7 Inf   2.625  0.4347
 sub.trial.number2 - sub.trial.number17    -2.1849 18.7 Inf  -0.117  1.0000
 sub.trial.number2 - sub.trial.number18     9.3141 18.7 Inf   0.497  1.0000
 sub.trial.number3 - sub.trial.number4      2.5089 18.7 Inf   0.134  1.0000
 sub.trial.number3 - sub.trial.number5    -70.5666 18.7 Inf  -3.769  0.0191
 sub.trial.number3 - sub.trial.number6    -70.0318 18.7 Inf  -3.741  0.0212
 sub.trial.number3 - sub.trial.number7    -52.9722 18.7 Inf  -2.829  0.2941
 sub.trial.number3 - sub.trial.number8    -31.7316 18.7 Inf  -1.695  0.9679
 sub.trial.number3 - sub.trial.number9    -89.3241 18.7 Inf  -4.771  0.0003
 sub.trial.number3 - sub.trial.number10  -102.9006 18.7 Inf  -5.496  <.0001
 sub.trial.number3 - sub.trial.number11   -66.3439 18.7 Inf  -3.544  0.0418
 sub.trial.number3 - sub.trial.number12   -23.9245 18.7 Inf  -1.278  0.9986
 sub.trial.number3 - sub.trial.number13  -238.7833 18.7 Inf -12.754  <.0001
 sub.trial.number3 - sub.trial.number14  -113.6521 18.7 Inf  -6.070  <.0001
 sub.trial.number3 - sub.trial.number15   -57.0159 18.7 Inf  -3.045  0.1787
 sub.trial.number3 - sub.trial.number16     8.1889 18.7 Inf   0.437  1.0000
 sub.trial.number3 - sub.trial.number17   -43.1412 18.7 Inf  -2.304  0.6804
 sub.trial.number3 - sub.trial.number18   -31.6421 18.7 Inf  -1.690  0.9688
 sub.trial.number4 - sub.trial.number5    -73.0755 18.7 Inf  -3.903  0.0116
 sub.trial.number4 - sub.trial.number6    -72.5408 18.7 Inf  -3.875  0.0129
 sub.trial.number4 - sub.trial.number7    -55.4811 18.7 Inf  -2.963  0.2181
 sub.trial.number4 - sub.trial.number8    -34.2406 18.7 Inf  -1.829  0.9361
 sub.trial.number4 - sub.trial.number9    -91.8330 18.7 Inf  -4.905  0.0001
 sub.trial.number4 - sub.trial.number10  -105.4095 18.7 Inf  -5.630  <.0001
 sub.trial.number4 - sub.trial.number11   -68.8529 18.7 Inf  -3.678  0.0265
 sub.trial.number4 - sub.trial.number12   -26.4334 18.7 Inf  -1.412  0.9953
 sub.trial.number4 - sub.trial.number13  -241.2922 18.7 Inf -12.888  <.0001
 sub.trial.number4 - sub.trial.number14  -116.1610 18.7 Inf  -6.205  <.0001
 sub.trial.number4 - sub.trial.number15   -59.5249 18.7 Inf  -3.179  0.1258
 sub.trial.number4 - sub.trial.number16     5.6799 18.7 Inf   0.303  1.0000
 sub.trial.number4 - sub.trial.number17   -45.6501 18.7 Inf  -2.438  0.5782
 sub.trial.number4 - sub.trial.number18   -34.1511 18.7 Inf  -1.824  0.9376
 sub.trial.number5 - sub.trial.number6      0.5348 18.7 Inf   0.029  1.0000
 sub.trial.number5 - sub.trial.number7     17.5944 18.7 Inf   0.940  1.0000
 sub.trial.number5 - sub.trial.number8     38.8350 18.7 Inf   2.074  0.8314
 sub.trial.number5 - sub.trial.number9    -18.7575 18.7 Inf  -1.002  0.9999
 sub.trial.number5 - sub.trial.number10   -32.3340 18.7 Inf  -1.727  0.9617
 sub.trial.number5 - sub.trial.number11     4.2227 18.7 Inf   0.226  1.0000
 sub.trial.number5 - sub.trial.number12    46.6421 18.7 Inf   2.491  0.5370
 sub.trial.number5 - sub.trial.number13  -168.2167 18.7 Inf  -8.985  <.0001
 sub.trial.number5 - sub.trial.number14   -43.0855 18.7 Inf  -2.301  0.6826
 sub.trial.number5 - sub.trial.number15    13.5507 18.7 Inf   0.724  1.0000
 sub.trial.number5 - sub.trial.number16    78.7555 18.7 Inf   4.207  0.0034
 sub.trial.number5 - sub.trial.number17    27.4254 18.7 Inf   1.465  0.9929
 sub.trial.number5 - sub.trial.number18    38.9245 18.7 Inf   2.079  0.8287
 sub.trial.number6 - sub.trial.number7     17.0596 18.7 Inf   0.911  1.0000
 sub.trial.number6 - sub.trial.number8     38.3002 18.7 Inf   2.046  0.8468
 sub.trial.number6 - sub.trial.number9    -19.2922 18.7 Inf  -1.030  0.9999
 sub.trial.number6 - sub.trial.number10   -32.8688 18.7 Inf  -1.756  0.9555
 sub.trial.number6 - sub.trial.number11     3.6879 18.7 Inf   0.197  1.0000
 sub.trial.number6 - sub.trial.number12    46.1074 18.7 Inf   2.463  0.5592
 sub.trial.number6 - sub.trial.number13  -168.7515 18.7 Inf  -9.014  <.0001
 sub.trial.number6 - sub.trial.number14   -43.6203 18.7 Inf  -2.330  0.6614
 sub.trial.number6 - sub.trial.number15    13.0159 18.7 Inf   0.695  1.0000
 sub.trial.number6 - sub.trial.number16    78.2207 18.7 Inf   4.178  0.0039
 sub.trial.number6 - sub.trial.number17    26.8907 18.7 Inf   1.436  0.9943
 sub.trial.number6 - sub.trial.number18    38.3897 18.7 Inf   2.051  0.8443
 sub.trial.number7 - sub.trial.number8     21.2406 18.7 Inf   1.135  0.9997
 sub.trial.number7 - sub.trial.number9    -36.3519 18.7 Inf  -1.942  0.8959
 sub.trial.number7 - sub.trial.number10   -49.9284 18.7 Inf  -2.667  0.4039
 sub.trial.number7 - sub.trial.number11   -13.3718 18.7 Inf  -0.714  1.0000
 sub.trial.number7 - sub.trial.number12    29.0477 18.7 Inf   1.552  0.9868
 sub.trial.number7 - sub.trial.number13  -185.8111 18.7 Inf  -9.925  <.0001
 sub.trial.number7 - sub.trial.number14   -60.6799 18.7 Inf  -3.241  0.1060
 sub.trial.number7 - sub.trial.number15    -4.0437 18.7 Inf  -0.216  1.0000
 sub.trial.number7 - sub.trial.number16    61.1610 18.7 Inf   3.267  0.0985
 sub.trial.number7 - sub.trial.number17     9.8310 18.7 Inf   0.525  1.0000
 sub.trial.number7 - sub.trial.number18    21.3300 18.7 Inf   1.139  0.9997
 sub.trial.number8 - sub.trial.number9    -57.5924 18.7 Inf  -3.076  0.1653
 sub.trial.number8 - sub.trial.number10   -71.1690 18.7 Inf  -3.801  0.0170
 sub.trial.number8 - sub.trial.number11   -34.6123 18.7 Inf  -1.849  0.9300
 sub.trial.number8 - sub.trial.number12     7.8072 18.7 Inf   0.417  1.0000
 sub.trial.number8 - sub.trial.number13  -207.0517 18.7 Inf -11.059  <.0001
 sub.trial.number8 - sub.trial.number14   -81.9205 18.7 Inf  -4.376  0.0017
 sub.trial.number8 - sub.trial.number15   -25.2843 18.7 Inf  -1.351  0.9972
 sub.trial.number8 - sub.trial.number16    39.9205 18.7 Inf   2.132  0.7975
 sub.trial.number8 - sub.trial.number17   -11.4095 18.7 Inf  -0.609  1.0000
 sub.trial.number8 - sub.trial.number18     0.0895 18.7 Inf   0.005  1.0000
 sub.trial.number9 - sub.trial.number10   -13.5765 18.7 Inf  -0.725  1.0000
 sub.trial.number9 - sub.trial.number11    22.9801 18.7 Inf   1.227  0.9991
 sub.trial.number9 - sub.trial.number12    65.3996 18.7 Inf   3.493  0.0493
 sub.trial.number9 - sub.trial.number13  -149.4592 18.7 Inf  -7.983  <.0001
 sub.trial.number9 - sub.trial.number14   -24.3280 18.7 Inf  -1.299  0.9983
 sub.trial.number9 - sub.trial.number15    32.3082 18.7 Inf   1.726  0.9620
 sub.trial.number9 - sub.trial.number16    97.5129 18.7 Inf   5.208  <.0001
 sub.trial.number9 - sub.trial.number17    46.1829 18.7 Inf   2.467  0.5561
 sub.trial.number9 - sub.trial.number18    57.6819 18.7 Inf   3.081  0.1633
 sub.trial.number10 - sub.trial.number11   36.5567 18.7 Inf   1.953  0.8913
 sub.trial.number10 - sub.trial.number12   78.9761 18.7 Inf   4.218  0.0033
 sub.trial.number10 - sub.trial.number13 -135.8827 18.7 Inf  -7.258  <.0001
 sub.trial.number10 - sub.trial.number14  -10.7515 18.7 Inf  -0.574  1.0000
 sub.trial.number10 - sub.trial.number15   45.8847 18.7 Inf   2.451  0.5685
 sub.trial.number10 - sub.trial.number16  111.0895 18.7 Inf   5.934  <.0001
 sub.trial.number10 - sub.trial.number17   59.7594 18.7 Inf   3.192  0.1216
 sub.trial.number10 - sub.trial.number18   71.2584 18.7 Inf   3.806  0.0167
 sub.trial.number11 - sub.trial.number12   42.4195 18.7 Inf   2.266  0.7084
 sub.trial.number11 - sub.trial.number13 -172.4394 18.7 Inf  -9.211  <.0001
 sub.trial.number11 - sub.trial.number14  -47.3082 18.7 Inf  -2.527  0.5094
 sub.trial.number11 - sub.trial.number15    9.3280 18.7 Inf   0.498  1.0000
 sub.trial.number11 - sub.trial.number16   74.5328 18.7 Inf   3.981  0.0086
 sub.trial.number11 - sub.trial.number17   23.2028 18.7 Inf   1.239  0.9990
 sub.trial.number11 - sub.trial.number18   34.7018 18.7 Inf   1.854  0.9285
 sub.trial.number12 - sub.trial.number13 -214.8588 18.7 Inf -11.476  <.0001
 sub.trial.number12 - sub.trial.number14  -89.7276 18.7 Inf  -4.793  0.0002
 sub.trial.number12 - sub.trial.number15  -33.0915 18.7 Inf  -1.768  0.9527
 sub.trial.number12 - sub.trial.number16   32.1133 18.7 Inf   1.715  0.9641
 sub.trial.number12 - sub.trial.number17  -19.2167 18.7 Inf  -1.026  0.9999
 sub.trial.number12 - sub.trial.number18   -7.7177 18.7 Inf  -0.412  1.0000
 sub.trial.number13 - sub.trial.number14  125.1312 18.7 Inf   6.684  <.0001
 sub.trial.number13 - sub.trial.number15  181.7674 18.7 Inf   9.709  <.0001
 sub.trial.number13 - sub.trial.number16  246.9722 18.7 Inf  13.192  <.0001
 sub.trial.number13 - sub.trial.number17  195.6421 18.7 Inf  10.450  <.0001
 sub.trial.number13 - sub.trial.number18  207.1412 18.7 Inf  11.064  <.0001
 sub.trial.number14 - sub.trial.number15   56.6362 18.7 Inf   3.025  0.1880
 sub.trial.number14 - sub.trial.number16  121.8410 18.7 Inf   6.508  <.0001
 sub.trial.number14 - sub.trial.number17   70.5109 18.7 Inf   3.766  0.0193
 sub.trial.number14 - sub.trial.number18   82.0099 18.7 Inf   4.380  0.0016
 sub.trial.number15 - sub.trial.number16   65.2048 18.7 Inf   3.483  0.0510
 sub.trial.number15 - sub.trial.number17   13.8748 18.7 Inf   0.741  1.0000
 sub.trial.number15 - sub.trial.number18   25.3738 18.7 Inf   1.355  0.9971
 sub.trial.number16 - sub.trial.number17  -51.3300 18.7 Inf  -2.742  0.3512
 sub.trial.number16 - sub.trial.number18  -39.8310 18.7 Inf  -2.127  0.8004
 sub.trial.number17 - sub.trial.number18   11.4990 18.7 Inf   0.614  1.0000

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 18 estimates 

There seems to be significant spike in RT at the 13th step of the sequence. There is a significant difference between the 13th step and all others( p< 0.001). Especially, the 13th step has a 216.71ms slower RT than step 12 and a 125.291ms slower RT than step 14. This seems to indicate that there could be a concatenation point step 13.

df_acc <- df_acc %>% mutate(session=as.factor(session))
M3 <- lmer(feedback.RT~ session  + (1 | subject) + (1 | trial)+ (1 | corr_trials), data = df_acc)

ae.m.M3 <- allEffects(M3)
ae.m.M3.df <- as.data.frame(ae.m.M3[1])
plot(ae.m.M3)

Anova(M3)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
        Chisq Df Pr(>Chisq)    
session 58.46  2  2.021e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(M3)
Linear mixed model fit by REML ['lmerMod']
Formula: 
feedback.RT ~ session + (1 | subject) + (1 | trial) + (1 | corr_trials)
   Data: df_acc

REML criterion at convergence: 285576.9

Scaled residuals: 
   Min     1Q Median     3Q    Max 
-3.174 -0.484 -0.205  0.212 33.103 

Random effects:
 Groups      Name        Variance Std.Dev.
 trial       (Intercept)  2997     54.75  
 corr_trials (Intercept) 10587    102.90  
 subject     (Intercept) 36021    189.79  
 Residual                92568    304.25  
Number of obs: 19992, groups:  trial, 48; corr_trials, 19; subject, 19

Fixed effects:
            Estimate Std. Error t value
(Intercept)  490.531     50.381   9.736
session2     -10.600      6.032  -1.757
session3      26.739      5.840   4.578

Correlation of Fixed Effects:
         (Intr) sessn2
session2 -0.072       
session3 -0.077  0.642
posthoc3 <- emmeans(M3, ~ session)
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'pbkrtest.limit = 19992' (or larger)
[or, globally, 'set emm_options(pbkrtest.limit = 19992)' or larger];
but be warned that this may result in large computation time and memory use.
Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
To enable adjustments, add the argument 'lmerTest.limit = 19992' (or larger)
[or, globally, 'set emm_options(lmerTest.limit = 19992)' or larger];
but be warned that this may result in large computation time and memory use.
pairwise_comparisons3 <- pairs(posthoc3)
summary(pairwise_comparisons3)
 contrast            estimate   SE  df z.ratio p.value
 session1 - session2     10.6 6.03 Inf   1.757  0.1842
 session1 - session3    -26.7 5.84 Inf  -4.578  <.0001
 session2 - session3    -37.3 5.03 Inf  -7.427  <.0001

Degrees-of-freedom method: asymptotic 
P value adjustment: tukey method for comparing a family of 3 estimates 

No significant differnece in RT between session 1 and 2. Session 3 is 35 ms faster than session 1 and 36ms faster than session 2 (p<0.0001.)

#Visualization of questionaire

df_questionaire

df_questionaire <- df_after_session_qestionaire %>% select(session, subject, mental_demand,physical_demand,temporal_demand,frustration,performance,effort) %>% group_by(session,subject) %>% slice(1)

# Summarize data: calculate mean x and y for each session
df_summary <- df_after_session_qestionaire %>%
  group_by(session) %>%
  summarise(mean_x = mean(x, na.rm = TRUE),
            mean_y = mean(y, na.rm = TRUE))

#3
x_limits <- c(-300, 300)
y_limits <- c(-300, 300)

ggplot(df_summary, aes(x = mean_x, y = mean_y, color = as.factor(session))) +
  # Plot the mean points for each session
  geom_point(size = 4) +
  # Add thick lines for the zero axes
  geom_vline(xintercept = 0, size = 1.2, color = "black") +
  geom_hline(yintercept = 0, size = 1.2, color = "black") +
  # Set custom axis limits and tick labels
  scale_x_continuous(limits = x_limits, breaks = c(x_limits[1], 0, x_limits[2]),
                     labels = c("Unpleasant feelings", "0", "Pleasant feelings")) +
  scale_y_continuous(limits = y_limits, breaks = c(y_limits[1], 0, y_limits[2]),
                     labels = c("Sleepiness", "0", "High arousal")) +
  labs(x = "", y = "", color = "Session") +
  theme_minimal() +
  theme(
    axis.line = element_line(color = "black", size = 1),  # Emphasize the axes lines
    panel.grid.minor = element_blank()
  )
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
ℹ Please use the `linewidth` argument instead.

#Create Model that includes one Questionaire score

#M4
df_subset2 <- df_subset2 %>%
  mutate(across(matches("^[A-Za-z0-9]+_[0-9]+$"), as.character)) %>% mutate(Q1_B = as.character(Q1_B),Q2_B = as.character(Q1_B),Q1_B = as.character(Q2_B),Q3_B = as.character(Q3_B),Q4_B = as.character(Q4_B),Q5_B = as.character(Q5_B),Q6_B = as.character(Q6_B),,x_B = as.character(x_B),y_B = as.character(y_B),C_B = as.character(C_B))

df_q_long2 <- df_subset2 %>%
  pivot_longer(
    cols = -subject,                        # All columns except subject
    names_to = c("variable", "session"),    # Split names into 'variable' and 'session'
    names_sep = "_",
    values_to = c("value")# Use underscore as the separator
  ) %>% pivot_wider(names_from = variable,
              values_from = value) %>% mutate(session = as.factor(session))%>% 
  mutate(Q1 = as.numeric(Q1), Q2 = as.numeric(Q2),Q3 = as.numeric(Q3),Q4 = as.numeric(Q4),Q5 = as.numeric(Q5),Q6 = as.numeric(Q6),x = as.numeric(x),y = as.numeric(y)) %>% left_join(df_sequence, by= "subject")  %>% 
  rename(mental_demand = Q1,physical_demand = Q2,temporal_demand = Q3,performance = Q4,effort = Q5,frustration = Q6)

#Mental demand

M4 <- lmer(mental_demand ~ session  + (1 | subject) , data = df_q_long2)

#Checking if you have a main effect
Anova(M4)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: mental_demand
         Chisq Df Pr(>Chisq)    
session 50.687  4  2.595e-10 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Effects
ae.m.M4 <- allEffects(M4)
ae.m.M4.df <- as.data.frame(ae.m.M4[1])
ae.m.M4$session <- factor(ae.m.M4$session, ordered = TRUE, levels=c('B','1','2','3','4'))

plot(ae.m.M4)
Warning in plot.window(xlim, ylim, log = log, ...): "lattice" is not a
graphical parameter
Warning in axis(if (horiz) 2 else 1, at = at.l, labels = names.arg, lty =
axis.lty, : "lattice" is not a graphical parameter
Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
"lattice" is not a graphical parameter
Warning in axis(if (horiz) 1 else 2, cex.axis = cex.axis, ...): "lattice" is
not a graphical parameter

     [,1]
[1,]  0.7
[2,]  1.9
[3,]  3.1
[4,]  4.3
[5,]  5.5

#Physical demand

M5 <- lmer(physical_demand ~ session  + (1 | subject) , data = df_q_long2)

ae.m.M5 <- allEffects(M5)
ae.m.M5.df <- as.data.frame(ae.m.M5[1])
plot(ae.m.M5)

Anova(M5)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: physical_demand
         Chisq Df Pr(>Chisq)    
session 39.897  4  4.546e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
posthoc5<- emmeans(M5, ~ session)
pairwise_comparisons5 <- pairs(posthoc5)
summary(pairwise_comparisons5)
 contrast estimate    SE   df t.ratio p.value
 1 - 2      -2.100 0.717 75.0  -2.931  0.0352
 1 - 3      -2.800 0.717 75.0  -3.908  0.0018
 1 - 4      -1.846 0.728 75.2  -2.536  0.0935
 1 - B       1.050 0.717 75.0   1.465  0.5879
 2 - 3      -0.700 0.717 75.0  -0.977  0.8648
 2 - 4       0.254 0.728 75.2   0.349  0.9968
 2 - B       3.150 0.717 75.0   4.396  0.0003
 3 - 4       0.954 0.728 75.2   1.311  0.6855
 3 - B       3.850 0.717 75.0   5.373  <.0001
 4 - B       2.896 0.728 75.2   3.979  0.0015

Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 5 estimates 

#Temporal demand

M6 <- lmer(temporal_demand ~ session  + (1 | subject) , data = df_q_long2)

ae.m.M6 <- allEffects(M6)
ae.m.M6.df <- as.data.frame(ae.m.M6[1])
plot(ae.m.M6)

Anova(M6)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: temporal_demand
         Chisq Df Pr(>Chisq)    
session 19.874  4  0.0005288 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
posthoc6<- emmeans(M6, ~ session)
pairwise_comparisons6 <- pairs(posthoc6)
summary(pairwise_comparisons6)
 contrast estimate    SE   df t.ratio p.value
 1 - 2      -0.750 0.835 75.0  -0.898  0.8968
 1 - 3      -0.650 0.835 75.0  -0.778  0.9362
 1 - 4       0.233 0.848 75.3   0.275  0.9987
 1 - B       2.500 0.835 75.0   2.993  0.0298
 2 - 3       0.100 0.835 75.0   0.120  1.0000
 2 - 4       0.983 0.848 75.3   1.159  0.7743
 2 - B       3.250 0.835 75.0   3.891  0.0020
 3 - 4       0.883 0.848 75.3   1.041  0.8353
 3 - B       3.150 0.835 75.0   3.771  0.0029
 4 - B       2.267 0.848 75.3   2.672  0.0678

Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 5 estimates 

#Performance

M7 <- lmer(performance ~ session  + (1 | subject) , data = df_q_long2)

ae.m.M7 <- allEffects(M7)
ae.m.M7.df <- as.data.frame(ae.m.M7[1])
plot(ae.m.M7)

Anova(M7)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: performance
         Chisq Df Pr(>Chisq)   
session 17.071  4   0.001873 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
posthoc7<- emmeans(M7, ~ session)
pairwise_comparisons7 <- pairs(posthoc7)
summary(pairwise_comparisons7)
 contrast estimate   SE   df t.ratio p.value
 1 - 2       -1.20 1.46 75.0  -0.823  0.9227
 1 - 3       -0.30 1.46 75.0  -0.206  0.9996
 1 - 4       -1.97 1.48 75.5  -1.331  0.6727
 1 - B        3.60 1.46 75.0   2.469  0.1088
 2 - 3        0.90 1.46 75.0   0.617  0.9719
 2 - 4       -0.77 1.48 75.5  -0.521  0.9850
 2 - B        4.80 1.46 75.0   3.292  0.0128
 3 - 4       -1.67 1.48 75.5  -1.129  0.7909
 3 - B        3.90 1.46 75.0   2.675  0.0674
 4 - B        5.57 1.48 75.5   3.764  0.0030

Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 5 estimates 

#Effort

M8 <- lmer(effort ~ session  + (1 | subject) , data = df_q_long2)

Anova(M8)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: effort
         Chisq Df Pr(>Chisq)    
session 51.907  4  1.443e-10 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M8 <- allEffects(M8)
ae.m.M8.df <- as.data.frame(ae.m.M8[1])
plot(ae.m.M8)

posthoc8<- emmeans(M8, ~ session)
pairwise_comparisons8 <- pairs(posthoc8)
summary(pairwise_comparisons8)
 contrast estimate   SE   df t.ratio p.value
 1 - 2      -2.600 1.14 75.0  -2.282  0.1622
 1 - 3      -2.150 1.14 75.0  -1.887  0.3332
 1 - 4      -1.265 1.16 75.5  -1.094  0.8091
 1 - B       4.600 1.14 75.0   4.038  0.0012
 2 - 3       0.450 1.14 75.0   0.395  0.9948
 2 - 4       1.335 1.16 75.5   1.154  0.7769
 2 - B       7.200 1.14 75.0   6.320  <.0001
 3 - 4       0.885 1.16 75.5   0.765  0.9397
 3 - B       6.750 1.14 75.0   5.925  <.0001
 4 - B       5.865 1.16 75.5   5.072  <.0001

Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 5 estimates 

#Frustration

M9 <- lmer(frustration ~ session  + (1 | subject) , data = df_q_long2)

ae.m.M9 <- allEffects(M9)
ae.m.M9.df <- as.data.frame(ae.m.M9[1])
plot(ae.m.M9)

Anova(M9)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: frustration
         Chisq Df Pr(>Chisq)    
session 27.765  4  1.392e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
posthoc9<- emmeans(M9, ~ session)
pairwise_comparisons9 <- pairs(posthoc9)
summary(pairwise_comparisons9)
 contrast estimate   SE   df t.ratio p.value
 1 - 2      -1.050 1.26 75.0  -0.830  0.9204
 1 - 3      -2.900 1.26 75.0  -2.294  0.1584
 1 - 4       0.296 1.28 75.5   0.231  0.9994
 1 - B       3.550 1.26 75.0   2.808  0.0485
 2 - 3      -1.850 1.26 75.0  -1.463  0.5893
 2 - 4       1.346 1.28 75.5   1.049  0.8317
 2 - B       4.600 1.26 75.0   3.638  0.0044
 3 - 4       3.196 1.28 75.5   2.490  0.1037
 3 - B       6.450 1.26 75.0   5.101  <.0001
 4 - B       3.254 1.28 75.5   2.535  0.0936

Degrees-of-freedom method: kenward-roger 
P value adjustment: tukey method for comparing a family of 5 estimates 

#BMI

M10 <-  lmer(feedback.RT ~ BMI  + (1 | subject) + (1 | session) , data = df_acc)
#fit
AIC(M10)
[1] 285940.1
#Anova
Anova(M10)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
     Chisq Df Pr(>Chisq)
BMI 0.2879  1     0.5916
#plot
ae.m.M10 <- allEffects(M10)
ae.m.M10.df <- as.data.frame(ae.m.M10[1])
plot(ae.m.M10)

#Pleasure

df_q_long2 <- df_q_long2 %>%
  separate(C, into = c("x1", "y2"), sep = "/", convert = TRUE) %>% mutate(x1= as.numeric(x1),y2 = as.numeric(y2))
Warning: Expected 2 pieces. Additional pieces discarded in 7 rows [2, 5, 20, 30, 55, 82,
90].
Warning: Expected 2 pieces. Missing pieces filled with `NA` in 2 rows [65, 95].
Warning: There were 2 warnings in `mutate()`.
The first warning was:
ℹ In argument: `x1 = as.numeric(x1)`.
Caused by warning:
! NAs introduced by coercion
ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
M11 <-  lmer(x ~ session  + (1 | subject) + (1 | session) , data = df_q_long2)
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Hessian is numerically singular: parameters are not uniquely determined
Anova(M11)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: x
         Chisq Df Pr(>Chisq)
session 1.6071  4     0.8075

#Arousal

M12 <-  lmer(y2 ~ session  + (1 | subject) + (1 | session) , data = df_q_long2)
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 1 negative eigenvalues
Anova(M12)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: y2
         Chisq Df Pr(>Chisq)
session 0.9832  4     0.9123

#Pleasure and Frustration

M13 <-  lmer(x ~ frustration  + (1 | subject) + (1 | session) , data = df_q_long2)

Anova(M13)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: x
             Chisq Df Pr(>Chisq)    
frustration 30.475  1  3.382e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ae.m.M13 <- allEffects(M13)
ae.m.M13.df <- as.data.frame(ae.m.M13[1])
plot(ae.m.M13)

#Make demographics df

df_acc4 <- df_acc %>% left_join(demographics, by= "subject")

#Age

M14 <-  lmer(feedback.RT ~ Age  + (1 | subject) + (1 | session) , data = df_acc4)

Anova(M14)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
     Chisq Df Pr(>Chisq)
Age 0.8272  1     0.3631

Not significant

#Gender

M15 <-  lmer(feedback.RT ~ Gender  + (1 | subject) + (1 | session) , data = df_acc4)

Anova(M15)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
        Chisq Df Pr(>Chisq)
Gender 2.6308  1     0.1048

Not significant

#Footedness

M16 <-  lmer(feedback.RT ~ Footedness  + (1 | subject) + (1 | session) , data = df_acc4)

Anova(M16)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
            Chisq Df Pr(>Chisq)
Footedness 0.0366  1     0.8482

Not significant

#Smoking

M17 <-  lmer(feedback.RT ~ Smoking + (1 | subject) + (1 | session) , data = df_acc4)

Anova(M17)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
         Chisq Df Pr(>Chisq)  
Smoking 3.7342  1    0.05331 .
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Not significnat but almost

#Alcohol

M18 <-  lmer(feedback.RT ~ Alcohol  + (1 | subject) + (1 | session) , data = df_acc4)

Anova(M18)
Analysis of Deviance Table (Type II Wald chisquare tests)

Response: feedback.RT
        Chisq Df Pr(>Chisq)
Alcohol 0.509  1     0.4756

Not significnat

If the baseline is used to compare against it can be seen that for most measures, block 3 is the most challenging. Mental demand, physical demand effort and frustration are the highest in this block when compared to baseline. temporal demand is slightly higher in block 2 and people percieve their performance as the highest in block 4

#Who won our price

df_winner <- df_after_session_qestionaire %>% group_by(subject) %>%  summarise(meanRT = mean(feedback.RT, na.rm = TRUE), mean_accuracy = mean(trial.acc, na.rm = TRUE)) %>% mutate(missing_accuracy= 1-mean_accuracy, winscore = meanRT * missing_accuracy)

Exclude People two sds from the mean

df_acc2 <- df_acc %>% group_by(subject,session) %>%  summarise(avg_trial_rt = mean(trial.RT, na.rm = TRUE),  # Compute mean RT
            n = n(), sd_avg_trial_RT= sd(trial.RT)) 
`summarise()` has grouped output by 'subject'. You can override using the
`.groups` argument.
df_acc3 <- df_acc %>%   left_join(df_acc2, by= c("subject", "session"))

df_2sd <- df_acc3 %>%
  filter(trial.acc <= (avg_trial_rt - (2 * sd_avg_trial_RT)) | 
         trial.acc >= (avg_trial_rt + (2 * sd_avg_trial_RT))) %>%
  mutate(subject = as.factor(subject))