cat("\014")     # clean terminal

rm(list = ls()) # clean workspace
try(dev.off(), silent = TRUE) # close all plots
library(dplyr)
master_dir     <- '~/Insync/OneDrive_shared/Fondecyt_Emociones_Estabilometria'
data_dir       <- paste(master_dir, 'data',  sep = '/')
all_data_name  <- paste(data_dir, 'all_data_raw.csv', sep='/')
all_data_raw <- read.csv(all_data_name, header = TRUE)
all_data_raw <- all_data_raw[(all_data_raw$Group == 'Elder' | all_data_raw$Group == 'Parkinson' | all_data_raw$Group == 'Young'), ]
all_data_raw <- all_data_raw[(all_data_raw$Paradigm == 'New'), ]
all_data_raw$Group    <- factor(all_data_raw$Group, levels = c("Parkinson", "Elder", "Young"))
all_data_raw$Task <- factor(all_data_raw$Task, levels = c("Single", "Neutral", "Pleasant", "Unpleasant", "UnpleasantCar", "Visualization"))
all_data_raw$Emotion  <- factor(all_data_raw$Emotion)
all_data_raw$ID       <- factor(all_data_raw$ID)
all_data_raw$num_ID   <- factor(all_data_raw$num_ID)
all_data_raw$Paradigm <- factor(all_data_raw$Paradigm)
all_data_raw$log10_area  <- log10(all_data_raw$area)

1 General Description

options(width = 100)
summary(all_data_raw[c("Group", "Paradigm", "Task", "Emotion", "ID", "area", "heart_rate", "ave_phasic_eda")])
       Group     Paradigm             Task     Emotion         ID           area         
 Parkinson:237   New:735   Single       :145   No :195   FOJO_04:  6   Min.   :   1.285  
 Elder    :239             Neutral      :146   Yes:540   FOJO_05:  6   1st Qu.: 114.131  
 Young    :259             Pleasant     :147             FOJO_06:  6   Median : 190.325  
                           Unpleasant   :147             FOJO_07:  6   Mean   : 287.050  
                           UnpleasantCar:100             EP_201 :  5   3rd Qu.: 305.294  
                           Visualization: 50             EP_203 :  5   Max.   :4001.387  
                                                         (Other):701   NA's   :20        
   heart_rate     ave_phasic_eda    
 Min.   : 48.39   Min.   : -0.0031  
 1st Qu.: 69.42   1st Qu.:  0.0350  
 Median : 77.44   Median :  0.1478  
 Mean   : 77.90   Mean   :  1.3530  
 3rd Qu.: 85.72   3rd Qu.:  0.4842  
 Max.   :117.80   Max.   :639.0436  
 NA's   :44       NA's   :43        

1.1 Valid recordings

options(width = 100)
xtabs(~ Task + Group, data = all_data_raw)
               Group
Task            Parkinson Elder Young
  Single               46    48    51
  Neutral              48    47    51
  Pleasant             48    48    51
  Unpleasant           48    48    51
  UnpleasantCar        47    48     5
  Visualization         0     0    50

1.1.1 COP

options(width = 100)
knitr::kable(aggregate(area ~ Task + Group,                                            # Count rows of all groups
          data = all_data_raw,
          FUN = length))
Task Group area
Single Parkinson 44
Neutral Parkinson 48
Pleasant Parkinson 48
Unpleasant Parkinson 48
UnpleasantCar Parkinson 47
Single Elder 47
Neutral Elder 47
Pleasant Elder 48
Unpleasant Elder 48
UnpleasantCar Elder 48
Single Young 49
Neutral Young 47
Pleasant Young 46
Unpleasant Young 47
UnpleasantCar Young 5
Visualization Young 48

1.1.2 ECG

options(width = 100)
knitr::kable(aggregate(heart_rate ~ Task + Group,                                            # Count rows of all groups
          data = all_data_raw,
          FUN = length))
Task Group heart_rate
Single Parkinson 42
Neutral Parkinson 43
Pleasant Parkinson 42
Unpleasant Parkinson 41
UnpleasantCar Parkinson 43
Single Elder 45
Neutral Elder 44
Pleasant Elder 46
Unpleasant Elder 46
UnpleasantCar Elder 46
Single Young 50
Neutral Young 50
Pleasant Young 49
Unpleasant Young 50
UnpleasantCar Young 5
Visualization Young 49

1.1.3 EDA

options(width = 100)
knitr::kable(aggregate(ave_phasic_eda ~ Task + Group,                                            # Count rows of all groups
          data = all_data_raw,
          FUN = length))
Task Group ave_phasic_eda
Single Parkinson 42
Neutral Parkinson 41
Pleasant Parkinson 41
Unpleasant Parkinson 39
UnpleasantCar Parkinson 45
Single Elder 48
Neutral Elder 47
Pleasant Elder 48
Unpleasant Elder 48
UnpleasantCar Elder 48
Single Young 49
Neutral Young 45
Pleasant Young 47
Unpleasant Young 49
UnpleasantCar Young 5
Visualization Young 50
LS0tCnRpdGxlOiAiQ09QLCBFQ0cgJiBFREEiCmF1dGhvcjogIkFsdmFybyBSaXZlcmEtUmVpIgpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgY29kZV9mb2xkaW5nOiBoaWRlCiAgICBoaWdobGlnaHQ6IHRhbmdvCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgdGhlbWU6IGNlcnVsZWFuCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IG5vCiAgICAgIHNtb290aF9zY3JvbGw6IG5vCnN1YnRpdGxlOiBQYXJraW5zb24gRWxkZXIgJiBZb3VuZyBncm91cHMKLS0tCgpgYGB7ciBDbGVhbiBhbmQgTG9hZCBMaWJyYXJpZXN9CmNhdCgiXDAxNCIpICAgICAjIGNsZWFuIHRlcm1pbmFsCnJtKGxpc3QgPSBscygpKSAjIGNsZWFuIHdvcmtzcGFjZQp0cnkoZGV2Lm9mZigpLCBzaWxlbnQgPSBUUlVFKSAjIGNsb3NlIGFsbCBwbG90cwpsaWJyYXJ5KGRwbHlyKQpgYGAKCmBgYHtyIExvYWQgRGF0YX0KbWFzdGVyX2RpciAgICAgPC0gJ34vSW5zeW5jL09uZURyaXZlX3NoYXJlZC9Gb25kZWN5dF9FbW9jaW9uZXNfRXN0YWJpbG9tZXRyaWEnCmRhdGFfZGlyICAgICAgIDwtIHBhc3RlKG1hc3Rlcl9kaXIsICdkYXRhJywgIHNlcCA9ICcvJykKYWxsX2RhdGFfbmFtZSAgPC0gcGFzdGUoZGF0YV9kaXIsICdhbGxfZGF0YV9yYXcuY3N2Jywgc2VwPScvJykKYWxsX2RhdGFfcmF3IDwtIHJlYWQuY3N2KGFsbF9kYXRhX25hbWUsIGhlYWRlciA9IFRSVUUpCmFsbF9kYXRhX3JhdyA8LSBhbGxfZGF0YV9yYXdbKGFsbF9kYXRhX3JhdyRHcm91cCA9PSAnRWxkZXInIHwgYWxsX2RhdGFfcmF3JEdyb3VwID09ICdQYXJraW5zb24nIHwgYWxsX2RhdGFfcmF3JEdyb3VwID09ICdZb3VuZycpLCBdCmFsbF9kYXRhX3JhdyA8LSBhbGxfZGF0YV9yYXdbKGFsbF9kYXRhX3JhdyRQYXJhZGlnbSA9PSAnTmV3JyksIF0KYWxsX2RhdGFfcmF3JEdyb3VwICAgIDwtIGZhY3RvcihhbGxfZGF0YV9yYXckR3JvdXAsIGxldmVscyA9IGMoIlBhcmtpbnNvbiIsICJFbGRlciIsICJZb3VuZyIpKQphbGxfZGF0YV9yYXckVGFzayA8LSBmYWN0b3IoYWxsX2RhdGFfcmF3JFRhc2ssIGxldmVscyA9IGMoIlNpbmdsZSIsICJOZXV0cmFsIiwgIlBsZWFzYW50IiwgIlVucGxlYXNhbnQiLCAiVW5wbGVhc2FudENhciIsICJWaXN1YWxpemF0aW9uIikpCmFsbF9kYXRhX3JhdyRFbW90aW9uICA8LSBmYWN0b3IoYWxsX2RhdGFfcmF3JEVtb3Rpb24pCmFsbF9kYXRhX3JhdyRJRCAgICAgICA8LSBmYWN0b3IoYWxsX2RhdGFfcmF3JElEKQphbGxfZGF0YV9yYXckbnVtX0lEICAgPC0gZmFjdG9yKGFsbF9kYXRhX3JhdyRudW1fSUQpCmFsbF9kYXRhX3JhdyRQYXJhZGlnbSA8LSBmYWN0b3IoYWxsX2RhdGFfcmF3JFBhcmFkaWdtKQphbGxfZGF0YV9yYXckbG9nMTBfYXJlYSAgPC0gbG9nMTAoYWxsX2RhdGFfcmF3JGFyZWEpCmBgYAoKIyBHZW5lcmFsIERlc2NyaXB0aW9uCmBgYHtyIGdlbmVyYWx9Cm9wdGlvbnMod2lkdGggPSAxMDApCnN1bW1hcnkoYWxsX2RhdGFfcmF3W2MoIkdyb3VwIiwgIlBhcmFkaWdtIiwgIlRhc2siLCAiRW1vdGlvbiIsICJJRCIsICJhcmVhIiwgImhlYXJ0X3JhdGUiLCAiYXZlX3BoYXNpY19lZGEiKV0pCmBgYAoKIyMgVmFsaWQgcmVjb3JkaW5ncwpgYGB7ciBjYXNlcywgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gYWxsX2RhdGFfcmF3KQpgYGAKCiMjIyBDT1AKYGBge3IgY29wfQpvcHRpb25zKHdpZHRoID0gMTAwKQprbml0cjo6a2FibGUoYWdncmVnYXRlKGFyZWEgfiBUYXNrICsgR3JvdXAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENvdW50IHJvd3Mgb2YgYWxsIGdyb3VwcwogICAgICAgICAgZGF0YSA9IGFsbF9kYXRhX3JhdywKICAgICAgICAgIEZVTiA9IGxlbmd0aCkpCmBgYAoKIyMjIEVDRwpgYGB7ciBlY2d9Cm9wdGlvbnMod2lkdGggPSAxMDApCmtuaXRyOjprYWJsZShhZ2dyZWdhdGUoaGVhcnRfcmF0ZSB+IFRhc2sgKyBHcm91cCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ291bnQgcm93cyBvZiBhbGwgZ3JvdXBzCiAgICAgICAgICBkYXRhID0gYWxsX2RhdGFfcmF3LAogICAgICAgICAgRlVOID0gbGVuZ3RoKSkKYGBgCgojIyMgRURBCmBgYHtyIGVkYX0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKa25pdHI6OmthYmxlKGFnZ3JlZ2F0ZShhdmVfcGhhc2ljX2VkYSB+IFRhc2sgKyBHcm91cCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ291bnQgcm93cyBvZiBhbGwgZ3JvdXBzCiAgICAgICAgICBkYXRhID0gYWxsX2RhdGFfcmF3LAogICAgICAgICAgRlVOID0gbGVuZ3RoKSkKYGBgCg==