Goal

Apply low-dimensional covariance regression model to preprocessed timeseries data from the Human Connectome Project.

library(CovRegFC)
## Loading required package: Rcpp
## Warning: replacing previous import 'cowplot::ggsave' by 'ggplot2::ggsave'
## when loading 'CovRegFC'
library(cowplot)
## Loading required package: ggplot2
## 
## Attaching package: 'cowplot'
## The following object is masked from 'package:ggplot2':
## 
##     ggsave
library(ggplot2)
library(reshape2)
library(magrittr)
library(stringr)
library(devtools)
library(rstan)
## Loading required package: StanHeaders
## rstan (Version 2.15.1, packaged: 2017-04-19 05:03:57 UTC, GitRev: 2e1f913d3ca3)
## For execution on a local, multicore CPU with excess RAM we recommend calling
## rstan_options(auto_write = TRUE)
## options(mc.cores = parallel::detectCores())
## 
## Attaching package: 'rstan'
## The following object is masked from 'package:magrittr':
## 
##     extract
library(abind)
library(png)
library(cowplot)
library(BatchJobs)
## Loading required package: BBmisc
## Sourced 1 configuration files:
##   1: /Users/cseiler/Code/RLibraries/BatchJobs/etc/BatchJobs_global_config.R
## BatchJobs configuration:
##   cluster functions: Interactive
##   mail.from: 
##   mail.to: 
##   mail.start: none
##   mail.done: none
##   mail.error: none
##   default.resources: 
##   debug: FALSE
##   raise.warnings: FALSE
##   staged.queries: TRUE
##   max.concurrent.jobs: Inf
##   fs.timeout: NA
##   measure.mem: TRUE
library(coda)
## 
## Attaching package: 'coda'
## The following object is masked from 'package:rstan':
## 
##     traceplot
params
## $num_regions
## [1] "15"
## 
## $num_subjects
## [1] "80"
## 
## $tp_per_subject
## [1] "Auto"
## 
## $num_samples
## [1] "1"

Load HCP Data

Analysis based on data from the WU-Minn HCP 1200 Subjects Data Release with four complete rfMRI runs (with 100% of collected time points). Load subject information and behavioral measurements.

subject_info = read.csv("HCP_PTN820/sample_info.csv")
subject_info = subject_info[,c(
  "Subject",
  "Age",
  "Gender",
  "Acquisition",
  "PSQI_AmtSleep", # amount of sleep in hours
  "PSQI_Score" # Pittsburgh Sleep Quality Index (PSQI) Completed
  )] 

Classification of sleep duration from Hirshkowitz et al. (2015)1:

sleep_duration = rep("undefined",nrow(subject_info))
sleep_duration[subject_info$PSQI_AmtSleep <= 6] = "short"
sleep_duration[(subject_info$PSQI_AmtSleep >= 7) & (subject_info$PSQI_AmtSleep <= 9)] = "conventional"
subject_info$sleep_duration = factor(sleep_duration)
table(subject_info$sleep_duration)
## 
## conventional        short    undefined 
##          710          366          130
str(subject_info)
## 'data.frame':    1206 obs. of  7 variables:
##  $ Subject       : int  100004 100206 100307 100408 100610 101006 101107 101208 101309 101410 ...
##  $ Age           : Factor w/ 4 levels "22-25","26-30",..: 1 2 2 3 2 3 1 3 2 2 ...
##  $ Gender        : Factor w/ 2 levels "F","M": 2 2 1 2 2 1 2 1 2 2 ...
##  $ Acquisition   : Factor w/ 13 levels "Q01","Q02","Q03",..: 6 11 1 3 8 6 6 12 6 6 ...
##  $ PSQI_AmtSleep : num  5 6 6.5 8 7 7 4 7 5.5 5.5 ...
##  $ PSQI_Score    : int  8 6 4 4 4 2 9 6 5 8 ...
##  $ sleep_duration: Factor w/ 3 levels "conventional",..: 2 2 3 1 1 1 2 1 2 2 ...

Load timeseries.

num_regions = as.integer(params$num_regions)
num_regions
## [1] 15
channel_names = paste0("R",1:num_regions)
path = paste0("HCP_PTN820/node_timeseries/3T_HCP820_MSMAll_d",num_regions,"_ts2")
file_names = list.files(path = path,pattern = ".txt")
file_subject_ids = strsplit(file_names,split = ".txt") %>% unlist
ts = lapply(file_subject_ids,function(Subject) {
  print(paste("reading subject:",Subject))
  full_path = paste0(path,"/",Subject,".txt")
  timeseries = read.csv(full_path,header = FALSE,sep = " ")
  timeseries$Subject = Subject
  timeseries
}) %>% do.call(rbind,.) %>% data.frame
## [1] "reading subject: 100206"
## [1] "reading subject: 100307"
## [1] "reading subject: 100408"
## [1] "reading subject: 100610"
## [1] "reading subject: 101006"
## [1] "reading subject: 101107"
## [1] "reading subject: 101309"
## [1] "reading subject: 101915"
## [1] "reading subject: 102008"
## [1] "reading subject: 102311"
## [1] "reading subject: 102513"
## [1] "reading subject: 102816"
## [1] "reading subject: 103111"
## [1] "reading subject: 103414"
## [1] "reading subject: 103515"
## [1] "reading subject: 103818"
## [1] "reading subject: 104012"
## [1] "reading subject: 104416"
## [1] "reading subject: 104820"
## [1] "reading subject: 105014"
## [1] "reading subject: 105115"
## [1] "reading subject: 105216"
## [1] "reading subject: 105620"
## [1] "reading subject: 105923"
## [1] "reading subject: 106016"
## [1] "reading subject: 106319"
## [1] "reading subject: 106521"
## [1] "reading subject: 107018"
## [1] "reading subject: 107321"
## [1] "reading subject: 107422"
## [1] "reading subject: 107725"
## [1] "reading subject: 108121"
## [1] "reading subject: 108222"
## [1] "reading subject: 108323"
## [1] "reading subject: 108525"
## [1] "reading subject: 108828"
## [1] "reading subject: 109123"
## [1] "reading subject: 109325"
## [1] "reading subject: 109830"
## [1] "reading subject: 110007"
## [1] "reading subject: 110411"
## [1] "reading subject: 110613"
## [1] "reading subject: 111009"
## [1] "reading subject: 111312"
## [1] "reading subject: 111413"
## [1] "reading subject: 111514"
## [1] "reading subject: 111716"
## [1] "reading subject: 112112"
## [1] "reading subject: 112314"
## [1] "reading subject: 112516"
## [1] "reading subject: 112920"
## [1] "reading subject: 113215"
## [1] "reading subject: 113619"
## [1] "reading subject: 113922"
## [1] "reading subject: 114217"
## [1] "reading subject: 114318"
## [1] "reading subject: 114419"
## [1] "reading subject: 114621"
## [1] "reading subject: 114823"
## [1] "reading subject: 114924"
## [1] "reading subject: 115017"
## [1] "reading subject: 115219"
## [1] "reading subject: 115320"
## [1] "reading subject: 115825"
## [1] "reading subject: 116524"
## [1] "reading subject: 116726"
## [1] "reading subject: 117122"
## [1] "reading subject: 117324"
## [1] "reading subject: 117930"
## [1] "reading subject: 118023"
## [1] "reading subject: 118124"
## [1] "reading subject: 118225"
## [1] "reading subject: 118528"
## [1] "reading subject: 118730"
## [1] "reading subject: 118932"
## [1] "reading subject: 119126"
## [1] "reading subject: 120111"
## [1] "reading subject: 120212"
## [1] "reading subject: 120515"
## [1] "reading subject: 120717"
## [1] "reading subject: 121416"
## [1] "reading subject: 121618"
## [1] "reading subject: 121921"
## [1] "reading subject: 122317"
## [1] "reading subject: 122620"
## [1] "reading subject: 122822"
## [1] "reading subject: 123117"
## [1] "reading subject: 123420"
## [1] "reading subject: 123521"
## [1] "reading subject: 123824"
## [1] "reading subject: 123925"
## [1] "reading subject: 124220"
## [1] "reading subject: 124422"
## [1] "reading subject: 124624"
## [1] "reading subject: 124826"
## [1] "reading subject: 125525"
## [1] "reading subject: 126325"
## [1] "reading subject: 126628"
## [1] "reading subject: 127327"
## [1] "reading subject: 127630"
## [1] "reading subject: 127933"
## [1] "reading subject: 128026"
## [1] "reading subject: 128127"
## [1] "reading subject: 128632"
## [1] "reading subject: 128935"
## [1] "reading subject: 129028"
## [1] "reading subject: 129129"
## [1] "reading subject: 129331"
## [1] "reading subject: 129634"
## [1] "reading subject: 130013"
## [1] "reading subject: 130316"
## [1] "reading subject: 130417"
## [1] "reading subject: 130619"
## [1] "reading subject: 130821"
## [1] "reading subject: 130922"
## [1] "reading subject: 131217"
## [1] "reading subject: 131419"
## [1] "reading subject: 131722"
## [1] "reading subject: 131823"
## [1] "reading subject: 131924"
## [1] "reading subject: 132017"
## [1] "reading subject: 132118"
## [1] "reading subject: 133019"
## [1] "reading subject: 133625"
## [1] "reading subject: 133827"
## [1] "reading subject: 133928"
## [1] "reading subject: 134021"
## [1] "reading subject: 134223"
## [1] "reading subject: 134324"
## [1] "reading subject: 134425"
## [1] "reading subject: 134728"
## [1] "reading subject: 134829"
## [1] "reading subject: 135225"
## [1] "reading subject: 135528"
## [1] "reading subject: 135730"
## [1] "reading subject: 135932"
## [1] "reading subject: 136227"
## [1] "reading subject: 136732"
## [1] "reading subject: 136833"
## [1] "reading subject: 137027"
## [1] "reading subject: 137128"
## [1] "reading subject: 137229"
## [1] "reading subject: 137633"
## [1] "reading subject: 137936"
## [1] "reading subject: 138231"
## [1] "reading subject: 138534"
## [1] "reading subject: 138837"
## [1] "reading subject: 139233"
## [1] "reading subject: 139637"
## [1] "reading subject: 139839"
## [1] "reading subject: 140117"
## [1] "reading subject: 140319"
## [1] "reading subject: 140824"
## [1] "reading subject: 140925"
## [1] "reading subject: 141119"
## [1] "reading subject: 141422"
## [1] "reading subject: 141826"
## [1] "reading subject: 142828"
## [1] "reading subject: 143325"
## [1] "reading subject: 143426"
## [1] "reading subject: 144125"
## [1] "reading subject: 144226"
## [1] "reading subject: 144428"
## [1] "reading subject: 144731"
## [1] "reading subject: 144832"
## [1] "reading subject: 145127"
## [1] "reading subject: 145834"
## [1] "reading subject: 146129"
## [1] "reading subject: 146331"
## [1] "reading subject: 146432"
## [1] "reading subject: 146533"
## [1] "reading subject: 146937"
## [1] "reading subject: 147030"
## [1] "reading subject: 147737"
## [1] "reading subject: 148032"
## [1] "reading subject: 148133"
## [1] "reading subject: 148335"
## [1] "reading subject: 148436"
## [1] "reading subject: 148840"
## [1] "reading subject: 148941"
## [1] "reading subject: 149236"
## [1] "reading subject: 149337"
## [1] "reading subject: 149539"
## [1] "reading subject: 149741"
## [1] "reading subject: 149842"
## [1] "reading subject: 150625"
## [1] "reading subject: 150726"
## [1] "reading subject: 150928"
## [1] "reading subject: 151223"
## [1] "reading subject: 151425"
## [1] "reading subject: 151526"
## [1] "reading subject: 151627"
## [1] "reading subject: 151728"
## [1] "reading subject: 151829"
## [1] "reading subject: 152831"
## [1] "reading subject: 153025"
## [1] "reading subject: 153227"
## [1] "reading subject: 153429"
## [1] "reading subject: 153631"
## [1] "reading subject: 153732"
## [1] "reading subject: 153833"
## [1] "reading subject: 154229"
## [1] "reading subject: 154431"
## [1] "reading subject: 154532"
## [1] "reading subject: 154734"
## [1] "reading subject: 154835"
## [1] "reading subject: 154936"
## [1] "reading subject: 155635"
## [1] "reading subject: 155938"
## [1] "reading subject: 156031"
## [1] "reading subject: 156233"
## [1] "reading subject: 156334"
## [1] "reading subject: 156435"
## [1] "reading subject: 156536"
## [1] "reading subject: 156637"
## [1] "reading subject: 157336"
## [1] "reading subject: 157437"
## [1] "reading subject: 157942"
## [1] "reading subject: 158035"
## [1] "reading subject: 158136"
## [1] "reading subject: 158338"
## [1] "reading subject: 158540"
## [1] "reading subject: 158843"
## [1] "reading subject: 159138"
## [1] "reading subject: 159239"
## [1] "reading subject: 159340"
## [1] "reading subject: 159441"
## [1] "reading subject: 159744"
## [1] "reading subject: 160123"
## [1] "reading subject: 160729"
## [1] "reading subject: 160830"
## [1] "reading subject: 161327"
## [1] "reading subject: 161630"
## [1] "reading subject: 161731"
## [1] "reading subject: 162026"
## [1] "reading subject: 162228"
## [1] "reading subject: 162329"
## [1] "reading subject: 162733"
## [1] "reading subject: 162935"
## [1] "reading subject: 163129"
## [1] "reading subject: 163331"
## [1] "reading subject: 163432"
## [1] "reading subject: 163836"
## [1] "reading subject: 164030"
## [1] "reading subject: 164131"
## [1] "reading subject: 164636"
## [1] "reading subject: 164939"
## [1] "reading subject: 165032"
## [1] "reading subject: 165638"
## [1] "reading subject: 165840"
## [1] "reading subject: 166438"
## [1] "reading subject: 166640"
## [1] "reading subject: 167036"
## [1] "reading subject: 167238"
## [1] "reading subject: 167743"
## [1] "reading subject: 168139"
## [1] "reading subject: 168240"
## [1] "reading subject: 168341"
## [1] "reading subject: 168745"
## [1] "reading subject: 169343"
## [1] "reading subject: 169444"
## [1] "reading subject: 169949"
## [1] "reading subject: 170631"
## [1] "reading subject: 171330"
## [1] "reading subject: 171532"
## [1] "reading subject: 171633"
## [1] "reading subject: 172029"
## [1] "reading subject: 172130"
## [1] "reading subject: 172332"
## [1] "reading subject: 172433"
## [1] "reading subject: 172534"
## [1] "reading subject: 172938"
## [1] "reading subject: 173334"
## [1] "reading subject: 173435"
## [1] "reading subject: 173536"
## [1] "reading subject: 173637"
## [1] "reading subject: 173738"
## [1] "reading subject: 173839"
## [1] "reading subject: 173940"
## [1] "reading subject: 174437"
## [1] "reading subject: 174841"
## [1] "reading subject: 175035"
## [1] "reading subject: 175237"
## [1] "reading subject: 175338"
## [1] "reading subject: 175439"
## [1] "reading subject: 175540"
## [1] "reading subject: 175742"
## [1] "reading subject: 176037"
## [1] "reading subject: 176239"
## [1] "reading subject: 176441"
## [1] "reading subject: 176542"
## [1] "reading subject: 176744"
## [1] "reading subject: 177241"
## [1] "reading subject: 177645"
## [1] "reading subject: 177746"
## [1] "reading subject: 178142"
## [1] "reading subject: 178243"
## [1] "reading subject: 178647"
## [1] "reading subject: 178748"
## [1] "reading subject: 178849"
## [1] "reading subject: 178950"
## [1] "reading subject: 179245"
## [1] "reading subject: 179346"
## [1] "reading subject: 180129"
## [1] "reading subject: 180432"
## [1] "reading subject: 180735"
## [1] "reading subject: 180836"
## [1] "reading subject: 180937"
## [1] "reading subject: 181131"
## [1] "reading subject: 181232"
## [1] "reading subject: 181636"
## [1] "reading subject: 182032"
## [1] "reading subject: 182436"
## [1] "reading subject: 182739"
## [1] "reading subject: 182840"
## [1] "reading subject: 183034"
## [1] "reading subject: 185139"
## [1] "reading subject: 185341"
## [1] "reading subject: 185442"
## [1] "reading subject: 185846"
## [1] "reading subject: 185947"
## [1] "reading subject: 186141"
## [1] "reading subject: 186444"
## [1] "reading subject: 187143"
## [1] "reading subject: 187345"
## [1] "reading subject: 187547"
## [1] "reading subject: 187850"
## [1] "reading subject: 188347"
## [1] "reading subject: 188448"
## [1] "reading subject: 188549"
## [1] "reading subject: 188751"
## [1] "reading subject: 189349"
## [1] "reading subject: 189450"
## [1] "reading subject: 190031"
## [1] "reading subject: 191033"
## [1] "reading subject: 191336"
## [1] "reading subject: 191437"
## [1] "reading subject: 191841"
## [1] "reading subject: 191942"
## [1] "reading subject: 192035"
## [1] "reading subject: 192136"
## [1] "reading subject: 192439"
## [1] "reading subject: 192540"
## [1] "reading subject: 192641"
## [1] "reading subject: 192843"
## [1] "reading subject: 193239"
## [1] "reading subject: 194140"
## [1] "reading subject: 194645"
## [1] "reading subject: 194746"
## [1] "reading subject: 194847"
## [1] "reading subject: 195041"
## [1] "reading subject: 195445"
## [1] "reading subject: 195647"
## [1] "reading subject: 195849"
## [1] "reading subject: 195950"
## [1] "reading subject: 196144"
## [1] "reading subject: 196346"
## [1] "reading subject: 196750"
## [1] "reading subject: 197348"
## [1] "reading subject: 197550"
## [1] "reading subject: 198249"
## [1] "reading subject: 198350"
## [1] "reading subject: 198451"
## [1] "reading subject: 198653"
## [1] "reading subject: 198855"
## [1] "reading subject: 199150"
## [1] "reading subject: 199251"
## [1] "reading subject: 199453"
## [1] "reading subject: 199655"
## [1] "reading subject: 199958"
## [1] "reading subject: 200008"
## [1] "reading subject: 200109"
## [1] "reading subject: 200311"
## [1] "reading subject: 200614"
## [1] "reading subject: 200917"
## [1] "reading subject: 201111"
## [1] "reading subject: 201414"
## [1] "reading subject: 201515"
## [1] "reading subject: 201818"
## [1] "reading subject: 202113"
## [1] "reading subject: 202719"
## [1] "reading subject: 203418"
## [1] "reading subject: 203923"
## [1] "reading subject: 204016"
## [1] "reading subject: 204319"
## [1] "reading subject: 204420"
## [1] "reading subject: 204521"
## [1] "reading subject: 204622"
## [1] "reading subject: 205119"
## [1] "reading subject: 205220"
## [1] "reading subject: 205725"
## [1] "reading subject: 205826"
## [1] "reading subject: 206222"
## [1] "reading subject: 207123"
## [1] "reading subject: 207426"
## [1] "reading subject: 208024"
## [1] "reading subject: 208125"
## [1] "reading subject: 208226"
## [1] "reading subject: 208327"
## [1] "reading subject: 209127"
## [1] "reading subject: 209228"
## [1] "reading subject: 209329"
## [1] "reading subject: 209834"
## [1] "reading subject: 209935"
## [1] "reading subject: 210011"
## [1] "reading subject: 210415"
## [1] "reading subject: 210617"
## [1] "reading subject: 211114"
## [1] "reading subject: 211215"
## [1] "reading subject: 211316"
## [1] "reading subject: 211417"
## [1] "reading subject: 211720"
## [1] "reading subject: 211922"
## [1] "reading subject: 212015"
## [1] "reading subject: 212116"
## [1] "reading subject: 212217"
## [1] "reading subject: 212318"
## [1] "reading subject: 212419"
## [1] "reading subject: 212823"
## [1] "reading subject: 213421"
## [1] "reading subject: 214019"
## [1] "reading subject: 214221"
## [1] "reading subject: 214423"
## [1] "reading subject: 214524"
## [1] "reading subject: 214625"
## [1] "reading subject: 214726"
## [1] "reading subject: 217126"
## [1] "reading subject: 217429"
## [1] "reading subject: 220721"
## [1] "reading subject: 221319"
## [1] "reading subject: 223929"
## [1] "reading subject: 224022"
## [1] "reading subject: 227432"
## [1] "reading subject: 228434"
## [1] "reading subject: 231928"
## [1] "reading subject: 233326"
## [1] "reading subject: 236130"
## [1] "reading subject: 237334"
## [1] "reading subject: 239944"
## [1] "reading subject: 245333"
## [1] "reading subject: 246133"
## [1] "reading subject: 248339"
## [1] "reading subject: 249947"
## [1] "reading subject: 250427"
## [1] "reading subject: 250932"
## [1] "reading subject: 251833"
## [1] "reading subject: 255639"
## [1] "reading subject: 256540"
## [1] "reading subject: 257542"
## [1] "reading subject: 257845"
## [1] "reading subject: 263436"
## [1] "reading subject: 268749"
## [1] "reading subject: 268850"
## [1] "reading subject: 270332"
## [1] "reading subject: 275645"
## [1] "reading subject: 280739"
## [1] "reading subject: 280941"
## [1] "reading subject: 283543"
## [1] "reading subject: 285345"
## [1] "reading subject: 285446"
## [1] "reading subject: 286650"
## [1] "reading subject: 287248"
## [1] "reading subject: 289555"
## [1] "reading subject: 290136"
## [1] "reading subject: 293748"
## [1] "reading subject: 295146"
## [1] "reading subject: 297655"
## [1] "reading subject: 298051"
## [1] "reading subject: 298455"
## [1] "reading subject: 299154"
## [1] "reading subject: 300618"
## [1] "reading subject: 303119"
## [1] "reading subject: 303624"
## [1] "reading subject: 304020"
## [1] "reading subject: 304727"
## [1] "reading subject: 305830"
## [1] "reading subject: 307127"
## [1] "reading subject: 308129"
## [1] "reading subject: 308331"
## [1] "reading subject: 309636"
## [1] "reading subject: 310621"
## [1] "reading subject: 311320"
## [1] "reading subject: 316633"
## [1] "reading subject: 316835"
## [1] "reading subject: 318637"
## [1] "reading subject: 320826"
## [1] "reading subject: 321323"
## [1] "reading subject: 322224"
## [1] "reading subject: 329440"
## [1] "reading subject: 330324"
## [1] "reading subject: 333330"
## [1] "reading subject: 334635"
## [1] "reading subject: 336841"
## [1] "reading subject: 339847"
## [1] "reading subject: 341834"
## [1] "reading subject: 346137"
## [1] "reading subject: 346945"
## [1] "reading subject: 348545"
## [1] "reading subject: 352132"
## [1] "reading subject: 352738"
## [1] "reading subject: 353740"
## [1] "reading subject: 356948"
## [1] "reading subject: 358144"
## [1] "reading subject: 361234"
## [1] "reading subject: 361941"
## [1] "reading subject: 365343"
## [1] "reading subject: 366042"
## [1] "reading subject: 366446"
## [1] "reading subject: 371843"
## [1] "reading subject: 377451"
## [1] "reading subject: 378857"
## [1] "reading subject: 379657"
## [1] "reading subject: 380036"
## [1] "reading subject: 381038"
## [1] "reading subject: 381543"
## [1] "reading subject: 382242"
## [1] "reading subject: 385450"
## [1] "reading subject: 386250"
## [1] "reading subject: 387959"
## [1] "reading subject: 389357"
## [1] "reading subject: 390645"
## [1] "reading subject: 391748"
## [1] "reading subject: 393247"
## [1] "reading subject: 393550"
## [1] "reading subject: 395251"
## [1] "reading subject: 395756"
## [1] "reading subject: 395958"
## [1] "reading subject: 397154"
## [1] "reading subject: 397760"
## [1] "reading subject: 397861"
## [1] "reading subject: 406432"
## [1] "reading subject: 406836"
## [1] "reading subject: 412528"
## [1] "reading subject: 414229"
## [1] "reading subject: 415837"
## [1] "reading subject: 422632"
## [1] "reading subject: 424939"
## [1] "reading subject: 429040"
## [1] "reading subject: 432332"
## [1] "reading subject: 433839"
## [1] "reading subject: 436239"
## [1] "reading subject: 436845"
## [1] "reading subject: 441939"
## [1] "reading subject: 445543"
## [1] "reading subject: 448347"
## [1] "reading subject: 449753"
## [1] "reading subject: 453441"
## [1] "reading subject: 456346"
## [1] "reading subject: 459453"
## [1] "reading subject: 465852"
## [1] "reading subject: 467351"
## [1] "reading subject: 475855"
## [1] "reading subject: 479762"
## [1] "reading subject: 480141"
## [1] "reading subject: 481951"
## [1] "reading subject: 485757"
## [1] "reading subject: 486759"
## [1] "reading subject: 495255"
## [1] "reading subject: 497865"
## [1] "reading subject: 499566"
## [1] "reading subject: 500222"
## [1] "reading subject: 506234"
## [1] "reading subject: 510326"
## [1] "reading subject: 512835"
## [1] "reading subject: 513736"
## [1] "reading subject: 517239"
## [1] "reading subject: 519950"
## [1] "reading subject: 520228"
## [1] "reading subject: 522434"
## [1] "reading subject: 523032"
## [1] "reading subject: 524135"
## [1] "reading subject: 525541"
## [1] "reading subject: 529549"
## [1] "reading subject: 529953"
## [1] "reading subject: 530635"
## [1] "reading subject: 531536"
## [1] "reading subject: 536647"
## [1] "reading subject: 540436"
## [1] "reading subject: 541943"
## [1] "reading subject: 545345"
## [1] "reading subject: 547046"
## [1] "reading subject: 548250"
## [1] "reading subject: 552544"
## [1] "reading subject: 553344"
## [1] "reading subject: 555348"
## [1] "reading subject: 555651"
## [1] "reading subject: 557857"
## [1] "reading subject: 559053"
## [1] "reading subject: 561242"
## [1] "reading subject: 561444"
## [1] "reading subject: 562345"
## [1] "reading subject: 562446"
## [1] "reading subject: 565452"
## [1] "reading subject: 566454"
## [1] "reading subject: 567052"
## [1] "reading subject: 567961"
## [1] "reading subject: 568963"
## [1] "reading subject: 570243"
## [1] "reading subject: 571144"
## [1] "reading subject: 572045"
## [1] "reading subject: 573249"
## [1] "reading subject: 573451"
## [1] "reading subject: 576255"
## [1] "reading subject: 579665"
## [1] "reading subject: 579867"
## [1] "reading subject: 580044"
## [1] "reading subject: 580347"
## [1] "reading subject: 580650"
## [1] "reading subject: 580751"
## [1] "reading subject: 581349"
## [1] "reading subject: 581450"
## [1] "reading subject: 583858"
## [1] "reading subject: 585256"
## [1] "reading subject: 585862"
## [1] "reading subject: 586460"
## [1] "reading subject: 587664"
## [1] "reading subject: 588565"
## [1] "reading subject: 592455"
## [1] "reading subject: 594156"
## [1] "reading subject: 597869"
## [1] "reading subject: 598568"
## [1] "reading subject: 599065"
## [1] "reading subject: 599469"
## [1] "reading subject: 599671"
## [1] "reading subject: 601127"
## [1] "reading subject: 604537"
## [1] "reading subject: 609143"
## [1] "reading subject: 611938"
## [1] "reading subject: 613538"
## [1] "reading subject: 614439"
## [1] "reading subject: 615744"
## [1] "reading subject: 616645"
## [1] "reading subject: 617748"
## [1] "reading subject: 618952"
## [1] "reading subject: 620434"
## [1] "reading subject: 622236"
## [1] "reading subject: 623844"
## [1] "reading subject: 626648"
## [1] "reading subject: 627549"
## [1] "reading subject: 627852"
## [1] "reading subject: 628248"
## [1] "reading subject: 633847"
## [1] "reading subject: 638049"
## [1] "reading subject: 645450"
## [1] "reading subject: 645551"
## [1] "reading subject: 647858"
## [1] "reading subject: 654350"
## [1] "reading subject: 654754"
## [1] "reading subject: 656253"
## [1] "reading subject: 656657"
## [1] "reading subject: 657659"
## [1] "reading subject: 660951"
## [1] "reading subject: 662551"
## [1] "reading subject: 663755"
## [1] "reading subject: 664757"
## [1] "reading subject: 665254"
## [1] "reading subject: 667056"
## [1] "reading subject: 668361"
## [1] "reading subject: 671855"
## [1] "reading subject: 672756"
## [1] "reading subject: 673455"
## [1] "reading subject: 677766"
## [1] "reading subject: 677968"
## [1] "reading subject: 679568"
## [1] "reading subject: 679770"
## [1] "reading subject: 680250"
## [1] "reading subject: 680957"
## [1] "reading subject: 683256"
## [1] "reading subject: 685058"
## [1] "reading subject: 686969"
## [1] "reading subject: 687163"
## [1] "reading subject: 690152"
## [1] "reading subject: 693764"
## [1] "reading subject: 695768"
## [1] "reading subject: 700634"
## [1] "reading subject: 702133"
## [1] "reading subject: 704238"
## [1] "reading subject: 705341"
## [1] "reading subject: 706040"
## [1] "reading subject: 707749"
## [1] "reading subject: 709551"
## [1] "reading subject: 713239"
## [1] "reading subject: 715041"
## [1] "reading subject: 715647"
## [1] "reading subject: 715950"
## [1] "reading subject: 720337"
## [1] "reading subject: 724446"
## [1] "reading subject: 725751"
## [1] "reading subject: 727553"
## [1] "reading subject: 727654"
## [1] "reading subject: 729254"
## [1] "reading subject: 729557"
## [1] "reading subject: 731140"
## [1] "reading subject: 732243"
## [1] "reading subject: 734045"
## [1] "reading subject: 735148"
## [1] "reading subject: 737960"
## [1] "reading subject: 742549"
## [1] "reading subject: 744553"
## [1] "reading subject: 748258"
## [1] "reading subject: 748662"
## [1] "reading subject: 749058"
## [1] "reading subject: 749361"
## [1] "reading subject: 751348"
## [1] "reading subject: 753150"
## [1] "reading subject: 753251"
## [1] "reading subject: 756055"
## [1] "reading subject: 759869"
## [1] "reading subject: 761957"
## [1] "reading subject: 765056"
## [1] "reading subject: 767464"
## [1] "reading subject: 769064"
## [1] "reading subject: 770352"
## [1] "reading subject: 771354"
## [1] "reading subject: 773257"
## [1] "reading subject: 779370"
## [1] "reading subject: 782561"
## [1] "reading subject: 783462"
## [1] "reading subject: 784565"
## [1] "reading subject: 788876"
## [1] "reading subject: 789373"
## [1] "reading subject: 792564"
## [1] "reading subject: 792766"
## [1] "reading subject: 792867"
## [1] "reading subject: 793465"
## [1] "reading subject: 800941"
## [1] "reading subject: 802844"
## [1] "reading subject: 803240"
## [1] "reading subject: 810843"
## [1] "reading subject: 812746"
## [1] "reading subject: 814649"
## [1] "reading subject: 816653"
## [1] "reading subject: 818859"
## [1] "reading subject: 820745"
## [1] "reading subject: 825048"
## [1] "reading subject: 826353"
## [1] "reading subject: 826454"
## [1] "reading subject: 833148"
## [1] "reading subject: 833249"
## [1] "reading subject: 835657"
## [1] "reading subject: 837560"
## [1] "reading subject: 837964"
## [1] "reading subject: 841349"
## [1] "reading subject: 843151"
## [1] "reading subject: 844961"
## [1] "reading subject: 845458"
## [1] "reading subject: 849264"
## [1] "reading subject: 849971"
## [1] "reading subject: 852455"
## [1] "reading subject: 856766"
## [1] "reading subject: 856968"
## [1] "reading subject: 857263"
## [1] "reading subject: 859671"
## [1] "reading subject: 861456"
## [1] "reading subject: 865363"
## [1] "reading subject: 867468"
## [1] "reading subject: 870861"
## [1] "reading subject: 871762"
## [1] "reading subject: 871964"
## [1] "reading subject: 872158"
## [1] "reading subject: 872562"
## [1] "reading subject: 872764"
## [1] "reading subject: 873968"
## [1] "reading subject: 877168"
## [1] "reading subject: 877269"
## [1] "reading subject: 878776"
## [1] "reading subject: 880157"
## [1] "reading subject: 882161"
## [1] "reading subject: 885975"
## [1] "reading subject: 887373"
## [1] "reading subject: 889579"
## [1] "reading subject: 891667"
## [1] "reading subject: 894067"
## [1] "reading subject: 894673"
## [1] "reading subject: 894774"
## [1] "reading subject: 896778"
## [1] "reading subject: 896879"
## [1] "reading subject: 898176"
## [1] "reading subject: 899885"
## [1] "reading subject: 901038"
## [1] "reading subject: 901139"
## [1] "reading subject: 901442"
## [1] "reading subject: 904044"
## [1] "reading subject: 907656"
## [1] "reading subject: 910241"
## [1] "reading subject: 910443"
## [1] "reading subject: 912447"
## [1] "reading subject: 917255"
## [1] "reading subject: 917558"
## [1] "reading subject: 919966"
## [1] "reading subject: 922854"
## [1] "reading subject: 923755"
## [1] "reading subject: 926862"
## [1] "reading subject: 927359"
## [1] "reading subject: 930449"
## [1] "reading subject: 932554"
## [1] "reading subject: 937160"
## [1] "reading subject: 942658"
## [1] "reading subject: 947668"
## [1] "reading subject: 951457"
## [1] "reading subject: 952863"
## [1] "reading subject: 955465"
## [1] "reading subject: 957974"
## [1] "reading subject: 958976"
## [1] "reading subject: 959574"
## [1] "reading subject: 965367"
## [1] "reading subject: 965771"
## [1] "reading subject: 966975"
## [1] "reading subject: 978578"
## [1] "reading subject: 979984"
## [1] "reading subject: 983773"
## [1] "reading subject: 984472"
## [1] "reading subject: 987983"
## [1] "reading subject: 990366"
## [1] "reading subject: 991267"
## [1] "reading subject: 992673"
## [1] "reading subject: 992774"
## [1] "reading subject: 993675"
## [1] "reading subject: 994273"
## [1] "reading subject: 996782"
names(ts)[1:num_regions] = channel_names

Merge timeseries and subject info into one data frame.

ts_subject_info = merge(ts,subject_info,by = "Subject")

Plot timeseries for one subject.

subject_names = names(table(ts_subject_info$Subject))
timeseries = subset(ts_subject_info,Subject == subject_names[1])
timeseries$timepoint = rep(1:(nrow(timeseries)/4),4)
timeseries$run = lapply(paste0("run_",1:4),function(i) rep(i,nrow(timeseries)/4)) %>% unlist
timeseries_long = melt(timeseries,id.vars = c("timepoint","run",names(subject_info)))
ggplot(timeseries_long,aes(x = timepoint,y = value,color = variable)) + 
  geom_line() + facet_wrap(~run)

timeseries_long_subset = subset(timeseries_long,
                                timepoint < 51 & (variable == "R1" | variable == "R2" | variable == "R3"))
ggplot(timeseries_long_subset,aes(x = timepoint,y = value,color = variable)) + 
  geom_line() + facet_wrap(~run)

What is the effective samples size computed using autocorrelation function.

run = cut_number(1:nrow(timeseries), 4, labels=FALSE)
ess = lapply(subject_names,function(subject_name) {
  sapply(1:4,function(i) {
    timeseries = subset(ts_subject_info,Subject == subject_name)
    Y = timeseries[run==i,channel_names]
    effectiveSize(Y) %>% min
  })  %>% sum
}) %>% unlist
df = data.frame(subject_id=1:length(ess),ess)
ggplot(df,aes(ess)) + geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

tp_per_subject = round(min(df$ess))
tp_per_subject
## [1] 167

Subsample time points within each subject to account for dependencies.

#tp_per_subject = as.integer(params$tp_per_subject)
#tp_per_subject
ts_subject_info_subset = subset(ts_subject_info,
                                sleep_duration == "short" | sleep_duration == "conventional") %>% droplevels
subject_names = names(table(ts_subject_info_subset$Subject))
subsample_ids = lapply(subject_names,function(subject_name) {
  ids = which(ts_subject_info_subset$Subject == subject_name)
  seq(from = min(ids),to = max(ids),length.out = tp_per_subject) %>% floor
}) %>% unlist
ts_subject_info_subset = ts_subject_info_subset[subsample_ids,] %>% droplevels
str(ts_subject_info_subset)
## 'data.frame':    121910 obs. of  22 variables:
##  $ Subject       : chr  "100206" "100206" "100206" "100206" ...
##  $ R1            : num  53.1 26.6 47.1 48.7 52.9 ...
##  $ R2            : num  -45.7 110 -16.2 -28.1 41.6 ...
##  $ R3            : num  15.8 16.8 -153 58.5 24.2 ...
##  $ R4            : num  74 -20.8 -39.7 50.5 90.3 ...
##  $ R5            : num  9.81 53.45 -19.24 -46.09 -92.13 ...
##  $ R6            : num  15.8 57.7 -36.5 -50.4 -87.1 ...
##  $ R7            : num  6.83 -127.34 26.82 -81.19 -44.93 ...
##  $ R8            : num  44.6 -18.9 -36.7 -60.7 62.6 ...
##  $ R9            : num  -44.7 -33.3 -45.4 156 12 ...
##  $ R10           : num  -41 35.7 42.3 -57.8 -1.2 ...
##  $ R11           : num  3.58 -38.95 23.69 47.86 17.75 ...
##  $ R12           : num  12.91 -20.89 59.28 -64.38 7.05 ...
##  $ R13           : num  -95.77 -70.64 -8.49 -3.9 62.22 ...
##  $ R14           : num  13.12 8.83 -30.12 60.29 -43.07 ...
##  $ R15           : num  -76.9 30.1 -34.1 33.5 -36.3 ...
##  $ Age           : Factor w/ 4 levels "22-25","26-30",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ Gender        : Factor w/ 2 levels "F","M": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Acquisition   : Factor w/ 12 levels "Q01","Q02","Q03",..: 11 11 11 11 11 11 11 11 11 11 ...
##  $ PSQI_AmtSleep : num  6 6 6 6 6 6 6 6 6 6 ...
##  $ PSQI_Score    : int  6 6 6 6 6 6 6 6 6 6 ...
##  $ sleep_duration: Factor w/ 2 levels "conventional",..: 2 2 2 2 2 2 2 2 2 2 ...
table(ts_subject_info_subset$Subject)
## 
## 100206 100408 100610 101006 101107 101309 102008 102513 102816 103111 
##    167    167    167    167    167    167    167    167    167    167 
## 103414 103515 104012 104416 104820 105014 105115 105216 105620 105923 
##    167    167    167    167    167    167    167    167    167    167 
## 106016 106319 106521 107018 107321 107422 107725 108121 108222 108323 
##    167    167    167    167    167    167    167    167    167    167 
## 108525 108828 109123 109830 110007 110411 110613 111312 111413 111514 
##    167    167    167    167    167    167    167    167    167    167 
## 111716 112112 112314 112516 112920 113215 113619 113922 114217 114318 
##    167    167    167    167    167    167    167    167    167    167 
## 114419 114621 114823 114924 115017 115219 115320 115825 116524 116726 
##    167    167    167    167    167    167    167    167    167    167 
## 117122 117324 118023 118124 118225 118528 118730 118932 119126 120111 
##    167    167    167    167    167    167    167    167    167    167 
## 120212 120515 120717 121416 121921 122317 122620 122822 123117 123420 
##    167    167    167    167    167    167    167    167    167    167 
## 123521 123824 123925 124220 124422 124624 124826 125525 126628 127630 
##    167    167    167    167    167    167    167    167    167    167 
## 127933 128026 128127 128632 128935 129028 129331 129634 130013 130316 
##    167    167    167    167    167    167    167    167    167    167 
## 130417 130619 130821 130922 131217 131419 131722 131823 131924 132017 
##    167    167    167    167    167    167    167    167    167    167 
## 132118 133019 133625 133827 133928 134021 134223 134324 134425 134829 
##    167    167    167    167    167    167    167    167    167    167 
## 135225 135528 135730 135932 136227 136732 136833 137027 137128 137229 
##    167    167    167    167    167    167    167    167    167    167 
## 137633 137936 138534 138837 139233 139839 140117 140824 140925 141119 
##    167    167    167    167    167    167    167    167    167    167 
## 141422 141826 142828 143325 143426 144125 144428 144731 144832 145834 
##    167    167    167    167    167    167    167    167    167    167 
## 146129 146432 146533 147737 148436 148840 148941 149236 149337 149539 
##    167    167    167    167    167    167    167    167    167    167 
## 149842 150625 150726 150928 151223 151425 151526 151627 151728 151829 
##    167    167    167    167    167    167    167    167    167    167 
## 152831 153025 153227 153429 153732 154229 154431 154532 154734 154835 
##    167    167    167    167    167    167    167    167    167    167 
## 154936 155635 155938 156031 156233 156435 156536 156637 157336 157437 
##    167    167    167    167    167    167    167    167    167    167 
## 157942 158035 158136 158540 158843 159138 159239 159340 159744 160123 
##    167    167    167    167    167    167    167    167    167    167 
## 160729 160830 161327 161630 161731 162026 162228 162329 162935 163129 
##    167    167    167    167    167    167    167    167    167    167 
## 163331 163432 163836 164030 164131 164636 164939 165638 165840 166438 
##    167    167    167    167    167    167    167    167    167    167 
## 166640 167036 167238 167743 168139 168240 168341 168745 169343 169444 
##    167    167    167    167    167    167    167    167    167    167 
## 169949 170631 171330 171532 171633 172029 172130 172332 172433 172534 
##    167    167    167    167    167    167    167    167    167    167 
## 173334 173435 173536 173637 173738 173839 173940 174437 174841 175035 
##    167    167    167    167    167    167    167    167    167    167 
## 175237 175338 175439 175540 176037 176239 176441 176542 176744 177241 
##    167    167    167    167    167    167    167    167    167    167 
## 177645 177746 178142 178243 178647 178748 178950 179245 179346 180129 
##    167    167    167    167    167    167    167    167    167    167 
## 180432 180735 180836 180937 181131 181232 181636 182032 182436 182739 
##    167    167    167    167    167    167    167    167    167    167 
## 182840 183034 185341 185442 185846 185947 186141 186444 187143 187345 
##    167    167    167    167    167    167    167    167    167    167 
## 187547 187850 188347 188448 188549 188751 189349 190031 191033 191437 
##    167    167    167    167    167    167    167    167    167    167 
## 191841 191942 192035 192136 192439 192540 192641 192843 193239 194140 
##    167    167    167    167    167    167    167    167    167    167 
## 194645 194746 194847 195041 195445 195647 195849 195950 196144 196346 
##    167    167    167    167    167    167    167    167    167    167 
## 196750 197348 197550 198249 198350 198451 198653 198855 199150 199251 
##    167    167    167    167    167    167    167    167    167    167 
## 199453 199958 200008 200109 200614 200917 201414 201515 201818 202113 
##    167    167    167    167    167    167    167    167    167    167 
## 202719 203418 203923 204016 204319 204420 204521 204622 205119 205220 
##    167    167    167    167    167    167    167    167    167    167 
## 205725 205826 206222 207123 208024 208125 208226 208327 209127 209228 
##    167    167    167    167    167    167    167    167    167    167 
## 209329 209834 209935 210011 210415 210617 211114 211215 211316 211417 
##    167    167    167    167    167    167    167    167    167    167 
## 211922 212015 212116 212217 212318 212419 212823 213421 214019 214524 
##    167    167    167    167    167    167    167    167    167    167 
## 214625 214726 217126 220721 221319 223929 224022 227432 228434 231928 
##    167    167    167    167    167    167    167    167    167    167 
## 233326 236130 237334 246133 248339 249947 250427 250932 255639 256540 
##    167    167    167    167    167    167    167    167    167    167 
## 257845 263436 268749 268850 270332 275645 280739 280941 283543 285345 
##    167    167    167    167    167    167    167    167    167    167 
## 285446 286650 287248 289555 290136 293748 295146 297655 298051 298455 
##    167    167    167    167    167    167    167    167    167    167 
## 299154 300618 303624 304020 304727 305830 307127 308129 308331 309636 
##    167    167    167    167    167    167    167    167    167    167 
## 310621 311320 316633 316835 318637 320826 321323 322224 329440 330324 
##    167    167    167    167    167    167    167    167    167    167 
## 333330 336841 339847 341834 346945 348545 352132 352738 353740 358144 
##    167    167    167    167    167    167    167    167    167    167 
## 361234 361941 365343 366042 366446 371843 377451 378857 379657 380036 
##    167    167    167    167    167    167    167    167    167    167 
## 381038 381543 382242 386250 387959 389357 390645 393247 393550 395251 
##    167    167    167    167    167    167    167    167    167    167 
## 395756 395958 397154 397760 397861 406432 406836 412528 414229 422632 
##    167    167    167    167    167    167    167    167    167    167 
## 424939 429040 432332 436239 436845 441939 448347 449753 453441 459453 
##    167    167    167    167    167    167    167    167    167    167 
## 465852 467351 475855 481951 485757 486759 495255 497865 499566 500222 
##    167    167    167    167    167    167    167    167    167    167 
## 506234 510326 512835 513736 517239 519950 520228 522434 523032 524135 
##    167    167    167    167    167    167    167    167    167    167 
## 529549 530635 531536 536647 541943 547046 548250 552544 553344 555651 
##    167    167    167    167    167    167    167    167    167    167 
## 557857 559053 561242 561444 562345 562446 565452 566454 567052 567961 
##    167    167    167    167    167    167    167    167    167    167 
## 570243 571144 572045 573249 573451 576255 579665 579867 580044 580347 
##    167    167    167    167    167    167    167    167    167    167 
## 580650 580751 581349 581450 583858 585256 585862 586460 587664 588565 
##    167    167    167    167    167    167    167    167    167    167 
## 592455 594156 597869 598568 599065 599469 599671 601127 604537 609143 
##    167    167    167    167    167    167    167    167    167    167 
## 611938 613538 615744 616645 617748 618952 620434 622236 623844 626648 
##    167    167    167    167    167    167    167    167    167    167 
## 627549 627852 628248 633847 638049 645551 647858 654350 654754 656253 
##    167    167    167    167    167    167    167    167    167    167 
## 656657 657659 660951 663755 664757 665254 667056 668361 671855 672756 
##    167    167    167    167    167    167    167    167    167    167 
## 673455 677766 679568 679770 680250 680957 683256 686969 687163 690152 
##    167    167    167    167    167    167    167    167    167    167 
## 693764 695768 700634 702133 704238 705341 706040 707749 709551 713239 
##    167    167    167    167    167    167    167    167    167    167 
## 715647 715950 720337 724446 725751 727654 729254 729557 731140 732243 
##    167    167    167    167    167    167    167    167    167    167 
## 734045 735148 737960 742549 748258 749058 751348 753150 753251 756055 
##    167    167    167    167    167    167    167    167    167    167 
## 759869 761957 765056 767464 769064 770352 771354 773257 782561 783462 
##    167    167    167    167    167    167    167    167    167    167 
## 784565 788876 789373 792564 792766 792867 793465 800941 803240 812746 
##    167    167    167    167    167    167    167    167    167    167 
## 814649 816653 818859 820745 825048 826353 826454 833148 833249 837560 
##    167    167    167    167    167    167    167    167    167    167 
## 837964 843151 844961 845458 849264 849971 852455 856766 856968 859671 
##    167    167    167    167    167    167    167    167    167    167 
## 865363 867468 870861 871762 871964 872158 872562 872764 873968 877168 
##    167    167    167    167    167    167    167    167    167    167 
## 877269 878776 880157 882161 885975 887373 889579 891667 894067 894673 
##    167    167    167    167    167    167    167    167    167    167 
## 894774 896778 896879 898176 901139 901442 904044 907656 910241 910443 
##    167    167    167    167    167    167    167    167    167    167 
## 912447 917255 917558 919966 922854 923755 926862 930449 932554 937160 
##    167    167    167    167    167    167    167    167    167    167 
## 942658 947668 951457 952863 955465 957974 958976 959574 965367 965771 
##    167    167    167    167    167    167    167    167    167    167 
## 966975 978578 979984 983773 984472 987983 990366 992673 992774 994273 
##    167    167    167    167    167    167    167    167    167    167
ct = table(ts_subject_info_subset[,c("Acquisition","sleep_duration")])/tp_per_subject
addmargins(ct)
##            sleep_duration
## Acquisition conventional short Sum
##         Q01           28    12  40
##         Q02           48    14  62
##         Q03           40    30  70
##         Q04           53    26  79
##         Q05           37    37  74
##         Q06           55    31  86
##         Q07           45    15  60
##         Q08           42    20  62
##         Q09           41    14  55
##         Q10           46    22  68
##         Q11           46    18  64
##         Q12            8     2  10
##         Sum          489   241 730

Subsample subject for power curve.

subsample_subjects = function(ts_subject_info_subset,
                              num_subjects,
                              seed = 934321) {
  set.seed(seed)
  total_samples = table(ts_subject_info_subset$sleep_duration)/table(ts_subject_info_subset$Subject)[1]
  num_subject_short = ceiling(num_subjects * total_samples["short"] / sum(total_samples))
  num_subject_conventional = num_subjects-num_subject_short
  short_names = subset(ts_subject_info_subset,sleep_duration == "short")$Subject %>%
    table %>% names %>% sample(.,num_subject_short)
  conventional_names = subset(ts_subject_info_subset,sleep_duration == "conventional")$Subject %>%
    table %>% names %>% sample(.,num_subject_conventional)
  subject_names = c(short_names,conventional_names)
  ts_subject_info_subset[ts_subject_info_subset$Subject %in% subject_names,]
}

Low-Dimensional Covariance Modeling

We can account for correlation between the error terms of the multivariate response variable using covariance regression model. Repeat many times for power curve.

condition = "sleep_duration"
ts_subject_info_subset = within(ts_subject_info_subset,
                                sleep_duration <- relevel(sleep_duration, ref = "conventional"))
num_subjects = as.integer(params$num_subjects)
num_samples = as.integer(params$num_samples)
log_name = paste0("HCP_low_",num_regions,"_",num_subjects,"_",tp_per_subject)
if(dir.exists(log_name)) unlink(log_name,recursive = TRUE) # cleanup
reg = makeRegistry(id = log_name, file.dir = log_name)
## Creating dir: HCP_low_15_80_167
## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries
## Saving registry: /Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/registry.RData
batchExport(reg, li = list(channel_names = channel_names,
                           condition = condition,
                           overwrite = TRUE))
fun = function(data) {
  library(CovRegFC)
  CovRegFC::covreg_low(data = data,
                       response = channel_names,
                       condition = condition)
}
if(is.na(num_subjects)) {
  batchMap(reg, fun, ts_subject_info_subset)
} else {
  data = lapply(1:num_samples,function(seed) {
    subsample_subjects(ts_subject_info_subset,
                       num_subjects = num_subjects,
                       seed = seed)
  })
  batchMap(reg, fun, data)
}
## Adding 1 jobs to DB.
## Warning in checkUserFunction(fun): The environment of provided function
## exceeds 10Mb.

## Warning in checkUserFunction(fun): Don't need to call dbFetch() for
## statements, only for queries

## Warning in checkUserFunction(fun): Don't need to call dbFetch() for
## statements, only for queries
submitJobs(reg)
## Saving conf: /Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/conf.RData
## Submitting 1 chunks / 1 jobs.
## Cluster functions: Interactive.
## Auto-mailer settings: start=none, done=none, error=none.
## Loading registry: /Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/registry.RData
## Loading RData files: channel_names,condition,overwrite
## Loading conf: /Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/conf.RData
## 2017-06-22 17:25:00: Starting job on node Christofs-MacBook-Pro-2.local.
## Auto-mailer settings: start=none, done=none, error=none.
## Setting work dir: /Users/cseiler/CovRegFC_HCP
## Loading jobs from file '/Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/jobs/01/1.rds'
## ########## Executing jid=1 ##########
## Timestamp: 2017-06-22 17:25:00
## Setting seed: 963208816
## The following numerical problems occurred the indicated number of times on chain 1
##                                                                                     count
## Exception thrown at line 20: normal_lpdf: Scale parameter[1] is 0, but must be > 0!     1
## When a numerical problem occurs, the Hamiltonian proposal gets rejected.
## See http://mc-stan.org/misc/warnings.html#exception-hamiltonian-proposal-rejected
## If the number in the 'count' column is small, there is no need to ask about this message on stan-users.
## Writing result file: /Users/cseiler/CovRegFC_HCP/HCP_low_15_80_167/jobs/01/1-result.RData
## 2017-06-22 18:28:38: All done.
## Setting work back to: /Users/cseiler/CovRegFC_HCP
## Memory usage according to gc:
## Sending 1 submit messages...
## Might take some time, do not interrupt this!
waitForJobs(reg,sleep = 360)
## Syncing registry ...
## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries
## [1] TRUE
fit_list = reduceResultsList(reg)
## Reducing 1 results...
save(fit_list,file = paste0("fit_list_low_",num_regions,"_",num_subjects,"_",tp_per_subject,".Rdata"))
fit = fit_list[[1]]

Traceplots to assess convergence of HMC sampler.

CovRegFC::plot_diagnostics(fit,par_name = "sigma",num_par = 8)

CovRegFC::plot_diagnostics(fit,par_name = "B",num_par = 8)

Visualize Results

Plot regions.

path = paste0("HCP_PTN820/groupICA/groupICA_3T_HCP820_MSMAll_d",num_regions,".ica/melodic_IC_sum.sum")
pngs = list.files(path = path,pattern = ".png")
full_paths = paste(path,pngs,sep = "/")
ps = lapply(1:length(full_paths),function(i) 
  CovRegFC::plot_brain(full_paths[i],title = paste0("R",i))
)
p_brains = do.call(plot_grid,c(ps,nrow = 2))
p_brains

ggsave(p_brains,filename = paste0("brains_",num_regions,".pdf"),width = 9,height = 3)

Analyze posterior covariance explained by simulation conditions.

condition_names = ts_subject_info_subset[,condition] %>% contrasts %>% rownames %>% rev
title = paste(condition_names,collapse = " vs. ")
p_brain_coeff = CovRegFC::plot_coeff(fit,
                                     response = channel_names,
                                     alpha = 0.05/length(channel_names),
                                     title = title,
                                     brain_slices = full_paths)
p_brain_coeff

ggsave(p_brain_coeff,filename = paste0("brains_coeff_",num_regions,"_",num_subjects,"_",tp_per_subject,".pdf"),
       height = 5,width = 10)

Session Info

session_info()
## Session info -------------------------------------------------------------
##  setting  value                       
##  version  R version 3.3.2 (2016-10-31)
##  system   x86_64, darwin13.4.0        
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  tz       America/Los_Angeles         
##  date     2017-06-22
## Packages -----------------------------------------------------------------
##  package     * version    date      
##  abind       * 1.4-5      2016-07-21
##  backports     1.1.0      2017-05-22
##  base        * 3.3.2      2016-10-31
##  base64enc     0.1-3      2015-07-28
##  BatchJobs   * 1.7        2016-10-01
##  BBmisc      * 1.11       2017-03-10
##  bit           1.1-12     2014-04-09
##  bit64         0.9-7      2017-05-08
##  blob          1.1.0      2017-06-17
##  brew          1.0-6      2011-04-13
##  checkmate     1.8.2      2016-11-02
##  coda        * 0.19-1     2016-12-08
##  codetools     0.2-15     2016-10-05
##  colorspace    1.3-2      2016-12-14
##  CovRegFC    * 0.1.0      2017-06-22
##  cowplot     * 0.7.0      2016-10-28
##  data.table    1.10.4     2017-02-01
##  datasets    * 3.3.2      2016-10-31
##  DBI           0.7        2017-06-18
##  devtools    * 1.13.2     2017-06-02
##  digest        0.6.12     2017-01-27
##  evaluate      0.10       2016-10-11
##  ggplot2     * 2.2.1      2016-12-30
##  graphics    * 3.3.2      2016-10-31
##  grDevices   * 3.3.2      2016-10-31
##  grid          3.3.2      2016-10-31
##  gridExtra     2.2.1      2016-02-29
##  gtable        0.2.0      2016-02-26
##  htmltools     0.3.6      2017-04-28
##  inline        0.3.14     2015-04-13
##  knitr         1.16       2017-05-18
##  labeling      0.3        2014-08-23
##  lattice       0.20-35    2017-03-25
##  lazyeval      0.2.0.9000 2017-05-09
##  magrittr    * 1.5        2014-11-22
##  memoise       1.1.0      2017-04-21
##  methods     * 3.3.2      2016-10-31
##  munsell       0.4.3      2016-02-13
##  pkgconfig     2.0.1      2017-03-21
##  plyr          1.8.4      2016-06-08
##  png         * 0.1-7      2013-12-03
##  Rcpp        * 0.12.11    2017-05-22
##  reshape2    * 1.4.2      2016-10-22
##  rlang         0.1.1      2017-05-18
##  rmarkdown     1.6        2017-06-15
##  rprojroot     1.2        2017-01-16
##  RSQLite       2.0        2017-06-19
##  rstan       * 2.15.1     2017-04-19
##  scales        0.4.1      2016-11-09
##  sendmailR     1.2-1      2014-09-21
##  StanHeaders * 2.15.0-1   2017-04-19
##  stats       * 3.3.2      2016-10-31
##  stats4        3.3.2      2016-10-31
##  stringi       1.1.5      2017-04-07
##  stringr     * 1.2.0      2017-02-18
##  tibble        1.3.3      2017-05-28
##  tools         3.3.2      2016-10-31
##  utils       * 3.3.2      2016-10-31
##  withr         1.0.2      2016-06-20
##  yaml          2.1.14     2016-11-12
##  source                                   
##  CRAN (R 3.2.5)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  CRAN (R 3.2.0)                           
##  Github (ChristofSeiler/BatchJobs@0e48846)
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.0)                           
##  cran (@0.19-1)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  CRAN (R 3.3.0)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  cran (@0.6.12)                           
##  CRAN (R 3.2.3)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  local                                    
##  local                                    
##  CRAN (R 3.2.4)                           
##  CRAN (R 3.2.3)                           
##  cran (@0.3.6)                            
##  CRAN (R 3.2.0)                           
##  cran (@1.16)                             
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.2)                           
##  Github (hadley/lazyeval@c155c3d)         
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  CRAN (R 3.2.3)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.2.5)                           
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.0)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.3.2)                           
##  CRAN (R 3.2.0)                           
##  CRAN (R 3.3.2)                           
##  local                                    
##  local                                    
##  cran (@1.1.5)                            
##  cran (@1.2.0)                            
##  CRAN (R 3.3.2)                           
##  local                                    
##  local                                    
##  CRAN (R 3.2.5)                           
##  cran (@2.1.14)

  1. Hirshkowitz et al. (2015), National Sleep Foundation’s sleep recommendations: Methodology and results summary, Sleep Health.↩