This script contains the analyses conducted on data related to participants who took part in our study “Toward a Social Rubber Hand”.

First, we load packages we need for analyses #PACKAGES

library (tidyverse) #for data handling
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.0      ✔ purrr   0.3.5 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.3      ✔ forcats 0.5.2 
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(readxl) #to read excel files
library(writexl)  #to export data as excel file 
## Warning: il pacchetto 'writexl' è stato creato con R versione 4.2.3
library(lme4) 
## Caricamento del pacchetto richiesto: Matrix
## 
## Caricamento pacchetto: 'Matrix'
## 
## I seguenti oggetti sono mascherati da 'package:tidyr':
## 
##     expand, pack, unpack
library(rstatix)
## Warning: il pacchetto 'rstatix' è stato creato con R versione 4.2.3
## 
## Caricamento pacchetto: 'rstatix'
## 
## Il seguente oggetto è mascherato da 'package:stats':
## 
##     filter
library(stats)
library(dplyr)
library(yarrr)
## Warning: il pacchetto 'yarrr' è stato creato con R versione 4.2.3
## Caricamento del pacchetto richiesto: jpeg
## Caricamento del pacchetto richiesto: BayesFactor
## Warning: il pacchetto 'BayesFactor' è stato creato con R versione 4.2.3
## Caricamento del pacchetto richiesto: coda
## ************
## Welcome to BayesFactor 0.9.12-4.4. If you have questions, please contact Richard Morey (richarddmorey@gmail.com).
## 
## Type BFManual() to open the manual.
## ************
## Caricamento del pacchetto richiesto: circlize
## Warning: il pacchetto 'circlize' è stato creato con R versione 4.2.3
## ========================================
## circlize version 0.4.15
## CRAN page: https://cran.r-project.org/package=circlize
## Github page: https://github.com/jokergoo/circlize
## Documentation: https://jokergoo.github.io/circlize_book/book/
## 
## If you use it in published research, please cite:
## Gu, Z. circlize implements and enhances circular visualization
##   in R. Bioinformatics 2014.
## 
## This message can be suppressed by:
##   suppressPackageStartupMessages(library(circlize))
## ========================================
## 
## yarrr v0.1.5. Citation info at citation('yarrr'). Package guide at yarrr.guide()
## Email me at Nathaniel.D.Phillips.is@gmail.com
## 
## Caricamento pacchetto: 'yarrr'
## 
## Il seguente oggetto è mascherato da 'package:ggplot2':
## 
##     diamonds
library(xlsx)
## Warning: il pacchetto 'xlsx' è stato creato con R versione 4.2.3
library(emmeans) 
## Welcome to emmeans.
## Caution: You lose important information if you filter this package's results.
## See '? untidy'
library(ggplot2)

Then, we proceed with by importing the complete data matrix

#import file
SRHI <- read_excel("LMM_Matrix.xlsx") #import file

#SRH_TraitQuestionnaires <- SRH_TraitQuestionnaires[-1,] 

SRHI
## # A tibble: 2,340 × 37
##    Block Session Subject VisuoSp…¹ RTNoO…² Basel…³ Drift1 Drift2 Owner…⁴ Locat…⁵
##    <chr>   <dbl>   <dbl> <chr>       <dbl>   <dbl>  <dbl>  <dbl>   <dbl>   <dbl>
##  1 A           2       1 cong          219    17.8   17.6   18.7      -3      -3
##  2 A           2       1 cong          246    17.8   17.6   18.7      -3      -3
##  3 A           2       1 cong          253    17.8   17.6   18.7      -3      -3
##  4 A           2       1 cong          254    17.8   17.6   18.7      -3      -3
##  5 A           2       1 cong          267    17.8   17.6   18.7      -3      -3
##  6 A           2       1 cong          279    17.8   17.6   18.7      -3      -3
##  7 A           2       1 cong          279    17.8   17.6   18.7      -3      -3
##  8 A           2       1 cong          297    17.8   17.6   18.7      -3      -3
##  9 A           2       1 cong          298    17.8   17.6   18.7      -3      -3
## 10 A           2       1 cong          300    17.8   17.6   18.7      -3      -3
## # … with 2,330 more rows, 27 more variables: HandLoss <dbl>, RT1_I <dbl>,
## #   RT2_F <dbl>, RT3_P <dbl>, DT1_I <dbl>, DT2_F <dbl>, DT3_P <dbl>,
## #   SI_1 <dbl>, SI_2 <dbl>, SI_3 <dbl>, Noticing <dbl>, NotDistracting <dbl>,
## #   NotWorrying <dbl>, AttentionRegulation <dbl>, EmotionalAwareness <dbl>,
## #   SelfRegulation <dbl>, BodyListening <dbl>, Trusting <dbl>,
## #   PerspectiveTaking <dbl>, Fantasy <dbl>, EmpaticConcern <dbl>,
## #   PersonalDistress <dbl>, Means_STQ <dbl>, TouchComfortability <dbl>, …

Then we declare our factors, that are: the Subject number, the Session order (if participants performed first the a/synchronous block), the block or Stroking Type (a/synchronous) and the VisuoSpatial Congruency (in/congruent).

factor_decl = c("Subject", "Session", "Block","VisuoSpatialCongruency")
SRHI[factor_decl] <- lapply(SRHI[factor_decl], factor)  

#LMM We first test the effect of “Block” (stroking type: Synchronous or Asynchronous) and “VisuoSpatialCongruency” (visuo-tactile Congruence or Incongruence) on pre-processed Reaction Times “RTNoOutlier”, considering “Subject” and Block * VisuoSpatialCongruency interaction as random effect.

#LMM
lmm_model <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)

#verifysingularity
isSingular(lmm_model)
## [1] FALSE
#lookattheresult
Anova(lmm_model)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                 Chisq Df Pr(>Chisq)    
## Block                          0.7556  1     0.3847    
## VisuoSpatialCongruency       146.8508  1     <2e-16 ***
## Block:VisuoSpatialCongruency   1.1246  1     0.2889    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the model is not singular, we continue to explore the data through post-hoc comparisons.

# Means 
emmeans_congruency <- emmeans(lmm_model, ~ VisuoSpatialCongruency)
## NOTE: Results may be misleading due to involvement in interactions
emmeans_block <- emmeans(lmm_model, ~ Block)
## NOTE: Results may be misleading due to involvement in interactions
emmeans_interaction <- emmeans(lmm_model, ~ Block * VisuoSpatialCongruency)

# Post hoc comparisons
posthoc_interaction <- pairs(emmeans_interaction, adjust = "bonferroni")
posthoc_congruency <- contrast(emmeans_congruency, adjust = "bonferroni")
posthoc_block <- contrast(emmeans_block, adjust = "bonferroni")

#post hoc summary
summary(posthoc_interaction)
##  contrast        estimate    SE   df t.ratio p.value
##  A cong - S cong    -9.77  9.78 32.0  -0.999  1.0000
##  A cong - A inc   -123.26 11.90 31.9 -10.361  <.0001
##  A cong - S inc   -120.27 12.21 32.0  -9.851  <.0001
##  S cong - A inc   -113.49 16.41 32.0  -6.915  <.0001
##  S cong - S inc   -110.50 10.76 31.9 -10.267  <.0001
##  A inc - S inc       2.99 14.50 31.9   0.206  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests
summary(posthoc_congruency)
##  contrast    estimate   SE df t.ratio p.value
##  cong effect    -58.4 4.81 32 -12.158  <.0001
##  inc effect      58.4 4.81 32  12.158  <.0001
## 
## Results are averaged over the levels of: Block 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 2 tests
summary(posthoc_block)
##  contrast estimate  SE df t.ratio p.value
##  A effect    -1.69 5.4 32  -0.314  1.0000
##  S effect     1.69 5.4 32   0.314  1.0000
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 2 tests

#STQ The social touch questionnaire (STQ; Wilhelm et al., 2001) comprises 20 items. Participants were asked to ‘Indicate to what extent each of the following statements is characteristic or true for you’ on a 0–4 scale (0=not at all, 1=slightly, 2=moderately, 3=very, 4=extremely).

Items were chosen to provide a broad sample of affects and attitudes towards social touch. The scoring were preprocessed in a different script. Here we considered the mean scores as covariate for our LMM.

#LMM + STQ covariate
lmm_model_STQ <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Means_STQ  + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)

#verifysingularity
isSingular(lmm_model_STQ)
## [1] FALSE
#summary
Anova(lmm_model_STQ)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                           Chisq Df Pr(>Chisq)    
## Block                                    0.7490  1     0.3868    
## VisuoSpatialCongruency                 143.9075  1     <2e-16 ***
## Means_STQ                                0.0751  1     0.7840    
## Block:VisuoSpatialCongruency             1.1011  1     0.2940    
## Block:Means_STQ                          0.2746  1     0.6003    
## VisuoSpatialCongruency:Means_STQ         0.2923  1     0.5887    
## Block:VisuoSpatialCongruency:Means_STQ   0.1511  1     0.6975    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#MAIA The Multidimensional Assessment of Interoceptive Awareness (Willem et al., 2022) is a 32-item rating scale that measures Interoceptive Awareness, which refers to the features of interoception that are accessible to consciousness. The MAIA is a 6-point Likert format, ranging from 0 (never) to 5 (always), which evaluates 8 dimensions of interoceptive awareness: NOTICING; NOT DISTRACTING and NOT WORRYING; ATTENTION REGULATION; EMOTIONAL AWARENESS; SELF-REGULATION; BODY LISTENING and TRUSTING.

The scoring were preprocessed in a different script. Here we considered the mean scores as covariate for our LMM.

#LMM + MAIA dimensions as covariate
lmm_model_N <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Noticing + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_ND <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * NotDistracting + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_NW <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * NotWorrying + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_AR <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * AttentionRegulation + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_EA <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * EmotionalAwareness + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_SR <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SelfRegulation + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_BL <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * BodyListening + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_T <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Trusting + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)


#verifysingularity
isSingular(lmm_model_N)
## [1] FALSE
isSingular(lmm_model_ND)
## [1] FALSE
isSingular(lmm_model_NW)
## [1] FALSE
isSingular(lmm_model_AR)
## [1] FALSE
isSingular(lmm_model_EA)
## [1] FALSE
isSingular(lmm_model_SR)
## [1] FALSE
isSingular(lmm_model_BL)
## [1] FALSE
isSingular(lmm_model_T)
## [1] FALSE
#summary
Anova(lmm_model_N)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                          Chisq Df Pr(>Chisq)    
## Block                                   0.7714  1     0.3798    
## VisuoSpatialCongruency                143.2676  1     <2e-16 ***
## Noticing                                0.0001  1     0.9904    
## Block:VisuoSpatialCongruency            1.0806  1     0.2986    
## Block:Noticing                          1.2948  1     0.2552    
## VisuoSpatialCongruency:Noticing         0.2376  1     0.6260    
## Block:VisuoSpatialCongruency:Noticing   0.0142  1     0.9051    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_ND)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                Chisq Df Pr(>Chisq)    
## Block                                         0.6646  1    0.41495    
## VisuoSpatialCongruency                      150.3131  1    < 2e-16 ***
## NotDistracting                                0.6026  1    0.43760    
## Block:VisuoSpatialCongruency                  1.2880  1    0.25642    
## Block:NotDistracting                          0.6407  1    0.42345    
## VisuoSpatialCongruency:NotDistracting         2.7591  1    0.09670 .  
## Block:VisuoSpatialCongruency:NotDistracting   4.8549  1    0.02757 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_NW)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                             Chisq Df Pr(>Chisq)    
## Block                                      0.7252  1     0.3944    
## VisuoSpatialCongruency                   142.1882  1     <2e-16 ***
## NotWorrying                                0.0310  1     0.8603    
## Block:VisuoSpatialCongruency               1.1063  1     0.2929    
## Block:NotWorrying                          0.0246  1     0.8753    
## VisuoSpatialCongruency:NotWorrying         0.0037  1     0.9517    
## Block:VisuoSpatialCongruency:NotWorrying   0.5161  1     0.4725    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_AR)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                     Chisq Df Pr(>Chisq)    
## Block                                              0.7337  1     0.3917    
## VisuoSpatialCongruency                           143.7189  1     <2e-16 ***
## AttentionRegulation                                0.0013  1     0.9712    
## Block:VisuoSpatialCongruency                       1.0927  1     0.2959    
## Block:AttentionRegulation                          0.0095  1     0.9222    
## VisuoSpatialCongruency:AttentionRegulation         0.3264  1     0.5678    
## Block:VisuoSpatialCongruency:AttentionRegulation   0.0057  1     0.9398    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_EA)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                    Chisq Df Pr(>Chisq)    
## Block                                             0.7287  1     0.3933    
## VisuoSpatialCongruency                          142.1680  1     <2e-16 ***
## EmotionalAwareness                                0.1369  1     0.7114    
## Block:VisuoSpatialCongruency                      1.0920  1     0.2960    
## Block:EmotionalAwareness                          0.0057  1     0.9400    
## VisuoSpatialCongruency:EmotionalAwareness         0.0006  1     0.9812    
## Block:VisuoSpatialCongruency:EmotionalAwareness   0.1268  1     0.7218    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_SR)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                Chisq Df Pr(>Chisq)    
## Block                                         0.8443  1     0.3582    
## VisuoSpatialCongruency                      143.1181  1     <2e-16 ***
## SelfRegulation                                0.5080  1     0.4760    
## Block:VisuoSpatialCongruency                  1.1212  1     0.2897    
## Block:SelfRegulation                          1.7116  1     0.1908    
## VisuoSpatialCongruency:SelfRegulation         0.2161  1     0.6420    
## Block:VisuoSpatialCongruency:SelfRegulation   0.7124  1     0.3986    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_BL)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                               Chisq Df Pr(>Chisq)    
## Block                                        0.7472  1     0.3874    
## VisuoSpatialCongruency                     150.4713  1     <2e-16 ***
## BodyListening                                0.0200  1     0.8875    
## Block:VisuoSpatialCongruency                 1.0790  1     0.2989    
## Block:BodyListening                          0.2527  1     0.6152    
## VisuoSpatialCongruency:BodyListening         1.8003  1     0.1797    
## Block:VisuoSpatialCongruency:BodyListening   0.1004  1     0.7513    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_T)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                          Chisq Df Pr(>Chisq)    
## Block                                   0.7573  1   0.384180    
## VisuoSpatialCongruency                144.1726  1  < 2.2e-16 ***
## Trusting                                7.4889  1   0.006208 ** 
## Block:VisuoSpatialCongruency            1.0847  1   0.297639    
## Block:Trusting                          0.6117  1   0.434152    
## VisuoSpatialCongruency:Trusting         0.4165  1   0.518708    
## Block:VisuoSpatialCongruency:Trusting   0.0967  1   0.755843    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are not singular, we can continue to explore the significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_ND <- emmeans(lmm_model_ND, ~ Block *  VisuoSpatialCongruency | NotDistracting)

#
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_ND <- pairs(emmeans_interaction_ND, adjust = "bonferroni")

#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_ND)
## NotDistracting = 2.02:
##  contrast        estimate    SE   df t.ratio p.value
##  A cong - S cong    -9.71  9.91 31.0  -0.980  1.0000
##  A cong - A inc   -123.32 12.09 30.9 -10.204  <.0001
##  A cong - S inc   -120.01 11.36 31.0 -10.567  <.0001
##  S cong - A inc   -113.62 16.66 31.0  -6.821  <.0001
##  S cong - S inc   -110.30 10.07 30.9 -10.955  <.0001
##  A inc - S inc       3.31 13.81 30.9   0.240  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests

#IRI The LInterpersonal Reactivity Index (Davis, 1980; Gilet et al., 2013) is a self-report questionnaire about empathic tendencies. The IRI consists of 28 items on a 5-point Likert scale ranging from 0 (does not describe me well) to 4 (describes me very well). It is divided in 4 dimensions: Perspective Taking, Fantasy, Empatic Concern, and Personal Distress scores, computed by summing the scores every seven items, so that the minimum (0) and maximum (28) score of each dimension is the same. The scoring were preprocessed in a different script. Here we considered the mean scores as covariate for our LMM.

#LMM + IRI dimensions as covariate
lmm_model_PT <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * PerspectiveTaking + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_F <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Fantasy + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_EC <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * EmpaticConcern + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_PD <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * PersonalDistress + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)


#verifysingularity
isSingular(lmm_model_PT)
## [1] FALSE
isSingular(lmm_model_F)
## [1] FALSE
isSingular(lmm_model_EC)
## [1] FALSE
isSingular(lmm_model_PD)
## [1] FALSE
#summary
Anova(lmm_model_PT)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                   Chisq Df Pr(>Chisq)    
## Block                                            0.8427  1     0.3586    
## VisuoSpatialCongruency                         142.3934  1     <2e-16 ***
## PerspectiveTaking                                1.7334  1     0.1880    
## Block:VisuoSpatialCongruency                     1.1226  1     0.2894    
## Block:PerspectiveTaking                          1.7906  1     0.1808    
## VisuoSpatialCongruency:PerspectiveTaking         0.0267  1     0.8702    
## Block:VisuoSpatialCongruency:PerspectiveTaking   0.8309  1     0.3620    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_F)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                         Chisq Df Pr(>Chisq)    
## Block                                  0.8678  1     0.3516    
## VisuoSpatialCongruency               145.5786  1     <2e-16 ***
## Fantasy                                0.4968  1     0.4809    
## Block:VisuoSpatialCongruency           1.1213  1     0.2896    
## Block:Fantasy                          2.5510  1     0.1102    
## VisuoSpatialCongruency:Fantasy         0.8091  1     0.3684    
## Block:VisuoSpatialCongruency:Fantasy   0.5184  1     0.4715    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_EC)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                Chisq Df Pr(>Chisq)    
## Block                                         0.7816  1    0.37665    
## VisuoSpatialCongruency                      142.5926  1    < 2e-16 ***
## EmpaticConcern                                4.7322  1    0.02960 *  
## Block:VisuoSpatialCongruency                  1.0895  1    0.29657    
## Block:EmpaticConcern                          3.3782  1    0.06606 .  
## VisuoSpatialCongruency:EmpaticConcern         0.0409  1    0.83973    
## Block:VisuoSpatialCongruency:EmpaticConcern   0.0673  1    0.79534    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_PD)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                  Chisq Df Pr(>Chisq)    
## Block                                           0.9333  1    0.33401    
## VisuoSpatialCongruency                        142.6996  1    < 2e-16 ***
## PersonalDistress                                0.0277  1    0.86776    
## Block:VisuoSpatialCongruency                    1.1497  1    0.28361    
## Block:PersonalDistress                          3.1212  1    0.07728 .  
## VisuoSpatialCongruency:PersonalDistress         0.1978  1    0.65649    
## Block:VisuoSpatialCongruency:PersonalDistress   1.3737  1    0.24118    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are not singular, we can continue to explore the almost significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_EC <- emmeans(lmm_model_EC, ~ Block | EmpaticConcern)
## NOTE: Results may be misleading due to involvement in interactions
emmeans_interaction_PD <- emmeans(lmm_model_PD, ~ Block | PersonalDistress)
## NOTE: Results may be misleading due to involvement in interactions
#
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_EC <- pairs(emmeans_interaction_EC, adjust = "bonferroni")
posthoc_interaction_PD <- pairs(emmeans_interaction_PD, adjust = "bonferroni")

#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_EC)
## EmpaticConcern = 13.8:
##  contrast estimate   SE df t.ratio p.value
##  A - S       -3.49 10.5 31  -0.333  0.7412
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger
summary(posthoc_interaction_PD)
## PersonalDistress = 13.4:
##  contrast estimate   SE df t.ratio p.value
##  A - S       -3.36 10.8 31  -0.311  0.7580
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger

##Received Touch Participants were asked to self-report about their socio-tactile interactions levels. The question stated “In the last week, how many tactile interactions have you received?” and three possible tactile interactions were presented on a VAS scale from 0 to 100, stating: (1) Intimate Touch (e.g. kissing, cuddling, caressing by partner or close family); (2) Friendly Touch (e.g. hugs from friends or acceptance); (3) Professional Touch (e.g. shaking hands, touching colleagues’ shoulders, touching carers).

Here we considered the scores to each question as covariate for our LMM.

#LMM + Received Touch dimensions as covariate
lmm_model_RT1_I <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * RT1_I + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_RT2_F <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * RT2_F + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
## boundary (singular) fit: see help('isSingular')
lmm_model_RT3_P <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * RT3_P + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)



#verifysingularity
isSingular(lmm_model_RT1_I)
## [1] FALSE
isSingular(lmm_model_RT2_F)
## [1] TRUE
isSingular(lmm_model_RT3_P)
## [1] FALSE
#summary
Anova(lmm_model_RT1_I)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                0.7376  1     0.3904    
## VisuoSpatialCongruency             143.7033  1     <2e-16 ***
## RT1_I                                1.3795  1     0.2402    
## Block:VisuoSpatialCongruency         1.2484  1     0.2639    
## Block:RT1_I                          0.0011  1     0.9737    
## VisuoSpatialCongruency:RT1_I         0.1450  1     0.7033    
## Block:VisuoSpatialCongruency:RT1_I   4.3368  1     0.0373 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_RT2_F)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                1.5547  1    0.21244    
## VisuoSpatialCongruency             143.3298  1  < 2.2e-16 ***
## RT2_F                                1.6612  1    0.19744    
## Block:VisuoSpatialCongruency         1.2001  1    0.27329    
## Block:RT2_F                         15.8082  1   7.01e-05 ***
## VisuoSpatialCongruency:RT2_F         0.5601  1    0.45420    
## Block:VisuoSpatialCongruency:RT2_F   2.7356  1    0.09814 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_RT3_P)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                0.7643  1     0.3820    
## VisuoSpatialCongruency             148.8288  1     <2e-16 ***
## RT3_P                                0.1831  1     0.6687    
## Block:VisuoSpatialCongruency         1.0946  1     0.2954    
## Block:RT3_P                          0.9216  1     0.3370    
## VisuoSpatialCongruency:RT3_P         1.2720  1     0.2594    
## Block:VisuoSpatialCongruency:RT3_P   0.0396  1     0.8423    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since one model is singular, hence too complex, we create another model in which we do not consider the “Block * VSC” interaction as random factor, but only the two factors separately.

#LMM revised for Received Frendly Touch 
lmm_model_RT2_F2 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * RT2_F + (1 + Block + VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)

#singularity and summary
isSingular(lmm_model_RT2_F2)
## [1] FALSE
Anova(lmm_model_RT2_F2)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                0.1456  1    0.70281    
## VisuoSpatialCongruency             143.6203  1    < 2e-16 ***
## RT2_F                                2.3175  1    0.12793    
## Block:VisuoSpatialCongruency         2.1166  1    0.14571    
## Block:RT2_F                          5.0823  1    0.02417 *  
## VisuoSpatialCongruency:RT2_F         0.2878  1    0.59161    
## Block:VisuoSpatialCongruency:RT2_F   4.8302  1    0.02797 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are now all not singular, we can continue to explore the significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_RT1_I <- emmeans(lmm_model_RT1_I, ~ Block * VisuoSpatialCongruency| RT1_I)

emmeans_interaction_RT2_F <- emmeans(lmm_model_RT2_F2, ~ Block * VisuoSpatialCongruency| RT2_F)
emmeans_interaction_RT2_F2 <- emmeans(lmm_model_RT2_F2, ~ Block | RT2_F)
## NOTE: Results may be misleading due to involvement in interactions
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_RT1_I <- pairs(emmeans_interaction_RT1_I, adjust = "bonferroni")

posthoc_interaction_RT2_F <- pairs(emmeans_interaction_RT2_F, adjust = "bonferroni")
posthoc_interaction_RT2_F2 <- pairs(emmeans_interaction_RT2_F2, adjust = "bonferroni")
#
#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_RT1_I)
## RT1_I = 39.1:
##  contrast        estimate    SE   df t.ratio p.value
##  A cong - S cong    -9.78  9.92 31.0  -0.986  1.0000
##  A cong - A inc   -123.24 11.66 30.9 -10.570  <.0001
##  A cong - S inc   -120.28 12.38 31.0  -9.714  <.0001
##  S cong - A inc   -113.45 16.44 31.0  -6.899  <.0001
##  S cong - S inc   -110.50 10.86 30.9 -10.171  <.0001
##  A inc - S inc       2.95 14.21 30.9   0.208  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests
summary(posthoc_interaction_RT2_F)
## RT2_F = 26.6:
##  contrast        estimate   SE   df t.ratio p.value
##  A cong - S cong   -10.55 10.9 42.3  -0.969  1.0000
##  A cong - A inc   -123.15 10.8 46.1 -11.426  <.0001
##  A cong - S inc   -120.82 11.9 31.0 -10.145  <.0001
##  S cong - A inc   -112.59 15.9 31.0  -7.100  <.0001
##  S cong - S inc   -110.27 10.7 45.0 -10.296  <.0001
##  A inc - S inc       2.32 11.2 47.1   0.208  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests
summary(posthoc_interaction_RT2_F2)
## RT2_F = 26.6:
##  contrast estimate   SE   df t.ratio p.value
##  A - S       -4.11 10.1 31.1  -0.408  0.6859
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger

##Desired Touch Participants were asked to self-report about their socio-tactile interactions levels. The question stated “In the last week, how many tactile interactions have you desired?” and three possible tactile interactions were presented on a VAS scale from 0 to 100, stating: (1) Intimate Touch (e.g. kissing, cuddling, caressing by partner or close family); (2) Friendly Touch (e.g. hugs from friends or acceptance); (3) Professional Touch (e.g. shaking hands, touching colleagues’ shoulders, touching carers).

Here we considered the scores to each desired touch as covariate for our LMM.

#LMM + Desired Touch scores as covariate
lmm_model_DT1_I <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * DT1_I + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_DT2_F <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * DT2_F + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_DT3_P <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * DT3_P + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)



#verifysingularity
isSingular(lmm_model_DT1_I)
## [1] FALSE
isSingular(lmm_model_DT2_F)
## [1] FALSE
isSingular(lmm_model_DT3_P)
## [1] FALSE
#Anova
Anova(lmm_model_DT1_I)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                1.1525  1    0.28302    
## VisuoSpatialCongruency             143.4245  1    < 2e-16 ***
## DT1_I                                0.2076  1    0.64864    
## Block:VisuoSpatialCongruency         1.1971  1    0.27389    
## Block:DT1_I                          6.5067  1    0.01075 *  
## VisuoSpatialCongruency:DT1_I         0.5616  1    0.45362    
## Block:VisuoSpatialCongruency:DT1_I   2.7351  1    0.09817 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_DT2_F)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                1.2429  1   0.264904    
## VisuoSpatialCongruency             143.5115  1  < 2.2e-16 ***
## DT2_F                                0.1421  1   0.706245    
## Block:VisuoSpatialCongruency         1.1777  1   0.277833    
## Block:DT2_F                          9.6429  1   0.001901 ** 
## VisuoSpatialCongruency:DT2_F         0.5453  1   0.460235    
## Block:VisuoSpatialCongruency:DT2_F   1.8549  1   0.173210    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_DT3_P)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                       Chisq Df Pr(>Chisq)    
## Block                                0.7424  1     0.3889    
## VisuoSpatialCongruency             152.0782  1     <2e-16 ***
## DT3_P                                0.1735  1     0.6770    
## Block:VisuoSpatialCongruency         1.1076  1     0.2926    
## Block:DT3_P                          0.8786  1     0.3486    
## VisuoSpatialCongruency:DT3_P         1.9990  1     0.1574    
## Block:VisuoSpatialCongruency:DT3_P   0.0207  1     0.8856    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are now all not singular, we can continue to explore the significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_DT1_I <- emmeans(lmm_model_DT1_I, ~ Block * VisuoSpatialCongruency| DT1_I)
emmeans_interaction_DT1_I2 <- emmeans(lmm_model_DT1_I, ~ Block | DT1_I)
## NOTE: Results may be misleading due to involvement in interactions
emmeans_interaction_DT2_F <- emmeans(lmm_model_DT2_F, ~ Block | DT2_F)
## NOTE: Results may be misleading due to involvement in interactions
#
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_DT1_I <- pairs(emmeans_interaction_DT1_I, adjust = "bonferroni")
posthoc_interaction_DT1_I2 <- pairs(emmeans_interaction_DT1_I2, adjust = "bonferroni")

posthoc_interaction_DT2_F <- pairs(emmeans_interaction_DT2_F, adjust = "bonferroni")


#
#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_DT1_I)
## DT1_I = 57.4:
##  contrast        estimate    SE   df t.ratio p.value
##  A cong - S cong   -10.26  9.03 31.0  -1.137  1.0000
##  A cong - A inc   -123.16 12.04 30.9 -10.230  <.0001
##  A cong - S inc   -120.55 12.31 31.0  -9.790  <.0001
##  S cong - A inc   -112.90 16.32 31.0  -6.918  <.0001
##  S cong - S inc   -110.28 10.63 30.9 -10.370  <.0001
##  A inc - S inc       2.61 14.70 30.9   0.178  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests
summary(posthoc_interaction_DT1_I2)
## DT1_I = 57.4:
##  contrast estimate   SE df t.ratio p.value
##  A - S       -3.82 10.7 31  -0.358  0.7230
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger
summary(posthoc_interaction_DT2_F)
## DT2_F = 34.6:
##  contrast estimate   SE df t.ratio p.value
##  A - S        -4.1 10.4 31  -0.394  0.6963
## 
## Results are averaged over the levels of: VisuoSpatialCongruency 
## Degrees-of-freedom method: kenward-roger

##Social Interaction Participants were asked to self-report about their social interactions levels. Three question regarding social interaction involvement were presented on a VAS scale from 0 to 100, stating: (1) “How involved were you in social interactions before the pandemic”; (2) “How involved have you been in social interactions in the past week?”; (3) “How much would you like to be involved in social interactions right now?”.

Here we considered the scores to each question as covariate for our LMM.

#LMM + Social Interaction scores as covariate
lmm_model_SI_1 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SI_1 + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_SI_2 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SI_2 + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_SI_3 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SI_3 + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)



#verifysingularity
isSingular(lmm_model_SI_1)
## [1] FALSE
isSingular(lmm_model_SI_2)
## [1] FALSE
isSingular(lmm_model_SI_3)
## [1] FALSE
#Anova
Anova(lmm_model_SI_1)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                      Chisq Df Pr(>Chisq)    
## Block                               0.7021  1     0.4021    
## VisuoSpatialCongruency            143.0738  1     <2e-16 ***
## SI_1                                0.6162  1     0.4324    
## Block:VisuoSpatialCongruency        1.1699  1     0.2794    
## Block:SI_1                          0.2185  1     0.6402    
## VisuoSpatialCongruency:SI_1         0.3351  1     0.5627    
## Block:VisuoSpatialCongruency:SI_1   1.8279  1     0.1764    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_SI_2)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                      Chisq Df Pr(>Chisq)    
## Block                               0.8839  1   0.347127    
## VisuoSpatialCongruency            144.0343  1  < 2.2e-16 ***
## SI_2                                0.0104  1   0.918832    
## Block:VisuoSpatialCongruency        1.3517  1   0.244973    
## Block:SI_2                          0.7720  1   0.379609    
## VisuoSpatialCongruency:SI_2         1.2784  1   0.258203    
## Block:VisuoSpatialCongruency:SI_2   6.8087  1   0.009071 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_SI_3)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                      Chisq Df Pr(>Chisq)    
## Block                               0.8675  1     0.3517    
## VisuoSpatialCongruency            142.9175  1     <2e-16 ***
## SI_3                                1.0497  1     0.3056    
## Block:VisuoSpatialCongruency        1.1135  1     0.2913    
## Block:SI_3                          2.5658  1     0.1092    
## VisuoSpatialCongruency:SI_3         0.1766  1     0.6743    
## Block:VisuoSpatialCongruency:SI_3   0.6699  1     0.4131    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are not singular, we can continue to explore the significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_SI_2 <- emmeans(lmm_model_SI_2, ~ Block * VisuoSpatialCongruency| SI_2)

#
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_SI_2 <- pairs(emmeans_interaction_SI_2, adjust = "bonferroni")

#
#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_SI_2)
## SI_2 = 55.4:
##  contrast        estimate    SE   df t.ratio p.value
##  A cong - S cong    -9.77  9.77 31.0  -1.000  1.0000
##  A cong - A inc   -123.57 11.96 30.9 -10.332  <.0001
##  A cong - S inc   -120.24 12.31 31.0  -9.770  <.0001
##  S cong - A inc   -113.81 16.65 31.0  -6.836  <.0001
##  S cong - S inc   -110.47 10.35 30.9 -10.674  <.0001
##  A inc - S inc       3.33 14.35 30.9   0.232  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests

#Proprioceptive Drift Before starting the experiment and after each stroking (two per block), participants were asked to verbally report the felt location of the hidden left index finger. Therefore, the data were collected in three time points: baseline, session 1, and 2. These values of proprioceptive drift across each block are considered as covariate in the following LMM. Here we considered the scores to each question as covariate for our LMM.

#LMM + Social Interaction scores as covariate
lmm_model_Baseline <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Baseline + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_Drift1 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Drift1 + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_Drift2 <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Drift2 + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)



#verifysingularity
isSingular(lmm_model_Baseline)
## [1] FALSE
isSingular(lmm_model_Drift1)
## [1] FALSE
isSingular(lmm_model_Drift2)
## [1] FALSE
#Anova
Anova(lmm_model_Baseline)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                          Chisq Df Pr(>Chisq)    
## Block                                   0.4571  1     0.4990    
## VisuoSpatialCongruency                143.5828  1     <2e-16 ***
## Baseline                                0.5295  1     0.4668    
## Block:VisuoSpatialCongruency            0.9649  1     0.3260    
## Block:Baseline                          1.2737  1     0.2591    
## VisuoSpatialCongruency:Baseline         0.0844  1     0.7715    
## Block:VisuoSpatialCongruency:Baseline   0.0195  1     0.8889    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_Drift1)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                        Chisq Df Pr(>Chisq)    
## Block                                 0.7161  1     0.3974    
## VisuoSpatialCongruency              143.5994  1     <2e-16 ***
## Drift1                                0.1059  1     0.7449    
## Block:VisuoSpatialCongruency          1.1650  1     0.2804    
## Block:Drift1                          0.0297  1     0.8632    
## VisuoSpatialCongruency:Drift1         1.6335  1     0.2012    
## Block:VisuoSpatialCongruency:Drift1   0.8420  1     0.3588    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_Drift2)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                        Chisq Df Pr(>Chisq)    
## Block                                 0.9968  1     0.3181    
## VisuoSpatialCongruency              148.0371  1     <2e-16 ***
## Drift2                                1.3435  1     0.2464    
## Block:VisuoSpatialCongruency          1.3046  1     0.2534    
## Block:Drift2                          0.5679  1     0.4511    
## VisuoSpatialCongruency:Drift2         1.9267  1     0.1651    
## Block:VisuoSpatialCongruency:Drift2   1.3841  1     0.2394    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

##Perceived Similarity Participants also responded to some brief questions explicitly verifying the comfortability of the social-touch experience and the perceived similarity with the experimenter. Specifically, based on Myers & Hodges (2011); Goldstein & Cialdini (2007); Batson et al. (1997), as a measure of Perceived Similarity, we asked participants on a 9-point Likert scale, ranging from “Not at all” to “Extremely”, to what extent they felt: (1) Sharing similar attributes with the experimenter; (2) A shared identity with the experimenter; (3) Being similar to the experimenter. Moreover, we asked how comfortable they were with the touch during the experiment on a Visual Analog Scale (VAS) scale from 0 to 100.

Here we considered the scores to each question as covariate for our LMM.

#LMM + Social Interaction scores as covariate
lmm_model_TC <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * TouchComfortability + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_SA <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SimilarAttributes + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_SI <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * SharedIdentity + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_S <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Similarity + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)



#verifysingularity
isSingular(lmm_model_TC)
## [1] FALSE
isSingular(lmm_model_SA)
## [1] FALSE
isSingular(lmm_model_SI)
## [1] FALSE
isSingular(lmm_model_S)
## [1] FALSE
#summary
Anova(lmm_model_TC)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                     Chisq Df Pr(>Chisq)    
## Block                                              0.7322  1     0.3922    
## VisuoSpatialCongruency                           150.5699  1     <2e-16 ***
## TouchComfortability                                0.0002  1     0.9883    
## Block:VisuoSpatialCongruency                       1.2400  1     0.2655    
## Block:TouchComfortability                          0.1940  1     0.6596    
## VisuoSpatialCongruency:TouchComfortability         0.3724  1     0.5417    
## Block:VisuoSpatialCongruency:TouchComfortability   1.6493  1     0.1990    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_SA)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                   Chisq Df Pr(>Chisq)    
## Block                                            0.9264  1     0.3358    
## VisuoSpatialCongruency                         143.9871  1     <2e-16 ***
## SimilarAttributes                                0.2696  1     0.6036    
## Block:VisuoSpatialCongruency                     1.0512  1     0.3052    
## Block:SimilarAttributes                          0.0511  1     0.8212    
## VisuoSpatialCongruency:SimilarAttributes         0.0012  1     0.9719    
## Block:VisuoSpatialCongruency:SimilarAttributes   0.3483  1     0.5551    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_SI)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                                Chisq Df Pr(>Chisq)    
## Block                                         1.2373  1     0.2660    
## VisuoSpatialCongruency                      143.4059  1     <2e-16 ***
## SharedIdentity                                2.3437  1     0.1258    
## Block:VisuoSpatialCongruency                  1.0904  1     0.2964    
## Block:SharedIdentity                          0.9944  1     0.3187    
## VisuoSpatialCongruency:SharedIdentity         0.0106  1     0.9179    
## Block:VisuoSpatialCongruency:SharedIdentity   0.0073  1     0.9320    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_S)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                            Chisq Df Pr(>Chisq)    
## Block                                     0.5001  1     0.4794    
## VisuoSpatialCongruency                  147.1650  1     <2e-16 ***
## Similarity                                0.1555  1     0.6934    
## Block:VisuoSpatialCongruency              0.9365  1     0.3332    
## Block:Similarity                          0.0292  1     0.8644    
## VisuoSpatialCongruency:Similarity         0.0989  1     0.7531    
## Block:VisuoSpatialCongruency:Similarity   0.8274  1     0.3630    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

##SRHI-Q Participants completed a questionnaire assessing the strength of the ‘social’ rubber hand illusion (SRHI-Q), adapted from a validated questionnaire developed by Longo et al. (2008). This questionnaire assessed the strength of the illusion in the paradigm through three components: Ownership, Location and Hand Loss. It consisted of 13 statements (listed below) measured on a 7-point Likert scale, ranging from “Strongly disagree” to “Strongly agree” with responses scoring -3 to 3, respectively. Thus, negative scores corresponded to disagreement with the statements, while positive scores corresponded to agreement with the statements.

Here we considered the scores to each component as covariate for our LMM.

#LMM + Social Interaction scores as covariate
lmm_model_Ownership <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Ownership + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_Location <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * Location + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)
lmm_model_HandLoss <- lmer(RTNoOutlier ~ Block * VisuoSpatialCongruency * HandLoss + (1 + Block * VisuoSpatialCongruency| Subject), control = lmerControl(optimizer = "bobyqa"), data = SRHI)


#verifysingularity
isSingular(lmm_model_Ownership)
## [1] FALSE
isSingular(lmm_model_Location)
## [1] FALSE
isSingular(lmm_model_HandLoss)
## [1] FALSE
#summary
Anova(lmm_model_Ownership)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                           Chisq Df Pr(>Chisq)    
## Block                                    0.0843  1    0.77159    
## VisuoSpatialCongruency                 161.5442  1    < 2e-16 ***
## Ownership                                1.7166  1    0.19014    
## Block:VisuoSpatialCongruency             1.5811  1    0.20860    
## Block:Ownership                          0.1922  1    0.66112    
## VisuoSpatialCongruency:Ownership         0.7990  1    0.37138    
## Block:VisuoSpatialCongruency:Ownership   4.2540  1    0.03916 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_Location)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                          Chisq Df Pr(>Chisq)    
## Block                                   0.1216  1     0.7273    
## VisuoSpatialCongruency                148.2831  1     <2e-16 ***
## Location                                0.2566  1     0.6125    
## Block:VisuoSpatialCongruency            0.8494  1     0.3567    
## Block:Location                          0.1079  1     0.7426    
## VisuoSpatialCongruency:Location         0.0009  1     0.9760    
## Block:VisuoSpatialCongruency:Location   0.8026  1     0.3703    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(lmm_model_HandLoss)
## Analysis of Deviance Table (Type II Wald chisquare tests)
## 
## Response: RTNoOutlier
##                                          Chisq Df Pr(>Chisq)    
## Block                                   0.7282  1     0.3935    
## VisuoSpatialCongruency                143.2491  1     <2e-16 ***
## HandLoss                                0.0000  1     0.9950    
## Block:VisuoSpatialCongruency            1.1588  1     0.2817    
## Block:HandLoss                          0.0088  1     0.9252    
## VisuoSpatialCongruency:HandLoss         1.1230  1     0.2893    
## Block:VisuoSpatialCongruency:HandLoss   0.7015  1     0.4023    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the models are not singular, we can continue to explore the significant p-value through post-hoc comparisons.

# Means of Block * VisuoSpatialCongruency interaction
emmeans_interaction_Ownership <- emmeans(lmm_model_Ownership, ~ Block * VisuoSpatialCongruency| Ownership)

#
# Post hoc comparisons of Block * VisuoSpatialCongruency
posthoc_interaction_Ownership <- pairs(emmeans_interaction_Ownership, adjust = "bonferroni")

#
#post hoc summary of Block * VisuoSpatialCongruency
summary(posthoc_interaction_Ownership)
## Ownership = -1.67:
##  contrast        estimate   SE   df t.ratio p.value
##  A cong - S cong    -6.75 11.0 31.6  -0.612  1.0000
##  A cong - A inc   -120.61 12.1 31.4  -9.956  <.0001
##  A cong - S inc   -113.39 12.3 32.1  -9.252  <.0001
##  S cong - A inc   -113.86 17.4 33.0  -6.560  <.0001
##  S cong - S inc   -106.63 10.5 31.0 -10.181  <.0001
##  A inc - S inc       7.23 15.4 32.5   0.468  1.0000
## 
## Degrees-of-freedom method: kenward-roger 
## P value adjustment: bonferroni method for 6 tests