From 145a05e159ca7cd6a9e175b198c24a6a7025e2fb Mon Sep 17 00:00:00 2001 From: Liang Zhang Date: Fri, 5 Apr 2024 23:39:36 +0800 Subject: [PATCH] Add hddm scripts Signed-off-by: Liang Zhang --- DESCRIPTION | 1 + _scripts_hddm/compile_models.R | 66 +++++++ _scripts_hddm/hddm.qsub | 10 + _scripts_hddm/retest_alert.R | 62 ++++++ _scripts_hddm/retest_antisac.R | 54 +++++ _scripts_hddm/retest_birds_cong.R | 62 ++++++ _scripts_hddm/retest_birds_switch.R | 62 ++++++ _scripts_hddm/retest_cardsort.R | 62 ++++++ _scripts_hddm/retest_counting.R | 54 +++++ _scripts_hddm/retest_crt.R | 54 +++++ _scripts_hddm/retest_faces.R | 62 ++++++ _scripts_hddm/retest_flanker.R | 62 ++++++ _scripts_hddm/retest_grid.R | 54 +++++ _scripts_hddm/retest_magician.R | 54 +++++ _scripts_hddm/retest_number.R | 54 +++++ _scripts_hddm/retest_numlet.R | 54 +++++ _scripts_hddm/retest_orient.R | 62 ++++++ _scripts_hddm/retest_painting.R | 54 +++++ _scripts_hddm/retest_stroop.R | 62 ++++++ _scripts_hddm/retest_words.R | 54 +++++ config/game_hddm.csv | 77 ++++++++ renv.lock | 295 ++++++++++++++++++++++++++++ submit_jobs.sh | 5 + 23 files changed, 1436 insertions(+) create mode 100644 _scripts_hddm/compile_models.R create mode 100644 _scripts_hddm/hddm.qsub create mode 100644 _scripts_hddm/retest_alert.R create mode 100644 _scripts_hddm/retest_antisac.R create mode 100644 _scripts_hddm/retest_birds_cong.R create mode 100644 _scripts_hddm/retest_birds_switch.R create mode 100644 _scripts_hddm/retest_cardsort.R create mode 100644 _scripts_hddm/retest_counting.R create mode 100644 _scripts_hddm/retest_crt.R create mode 100644 _scripts_hddm/retest_faces.R create mode 100644 _scripts_hddm/retest_flanker.R create mode 100644 _scripts_hddm/retest_grid.R create mode 100644 _scripts_hddm/retest_magician.R create mode 100644 _scripts_hddm/retest_number.R create mode 100644 _scripts_hddm/retest_numlet.R create mode 100644 _scripts_hddm/retest_orient.R create mode 100644 _scripts_hddm/retest_painting.R create mode 100644 _scripts_hddm/retest_stroop.R create mode 100644 _scripts_hddm/retest_words.R create mode 100644 config/game_hddm.csv create mode 100644 submit_jobs.sh diff --git a/DESCRIPTION b/DESCRIPTION index 4b8f184..37eccc6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -13,6 +13,7 @@ Depends: Imports: Amelia, arrow, + brms, clustermq, corrplot, cpmr, diff --git a/_scripts_hddm/compile_models.R b/_scripts_hddm/compile_models.R new file mode 100644 index 0000000..8a48a97 --- /dev/null +++ b/_scripts_hddm/compile_models.R @@ -0,0 +1,66 @@ +library(tidyverse) +library(brms) +# retest models +## congruency effect/switch cost +brm( + bf( + rt | dec(acc) ~ 0 + ocassion:type + (0 + ocassion:type | p | user_id), + bs ~ 0 + ocassion + (0 + ocassion | p | user_id), + ndt ~ 0 + ocassion + (0 + ocassion | p | user_id), + bias = 0.5 + ), + withr::with_seed( + 1, + expand_grid( + user_id = 0, + ocassion = c("test", "retest"), + type = c("inc", "con") # could be changed to switch related levels + ) |> + mutate( + rt = rexp(n()), + acc = sample(c(0, 1), n(), replace = TRUE) + ) + ), + family = wiener( + link_bs = "identity", + link_ndt = "identity" + ), + prior = c( + set_prior("cauchy(0, 5)", class = "b"), + set_prior("gamma(3, .5)", class = "b", dpar = "bs", lb = 0), + set_prior("gamma(1, .5)", class = "b", dpar = "ndt", lb = 0) + ), + file = "data/model_diff_retest", + chains = 0 +) +## simple intercept models +brm( + bf( + rt | dec(acc) ~ 0 + ocassion + (0 + ocassion | p | user_id), + bs ~ 0 + ocassion + (0 + ocassion | p | user_id), + ndt ~ 0 + ocassion + (0 + ocassion | p | user_id), + bias = 0.5 + ), + withr::with_seed( + 1, + expand_grid( + user_id = 0, + ocassion = c("test", "retest") + ) |> + mutate( + rt = rexp(n()), + acc = sample(c(0, 1), n(), replace = TRUE) + ) + ), + family = wiener( + link_bs = "identity", + link_ndt = "identity" + ), + prior = c( + set_prior("cauchy(0, 5)", class = "b"), + set_prior("gamma(3, .5)", class = "b", dpar = "bs", lb = 0), + set_prior("gamma(1, .5)", class = "b", dpar = "ndt", lb = 0) + ), + file = "data/model_simple_retest", + chains = 0 +) diff --git a/_scripts_hddm/hddm.qsub b/_scripts_hddm/hddm.qsub new file mode 100644 index 0000000..967f36b --- /dev/null +++ b/_scripts_hddm/hddm.qsub @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#$ -cwd +#$ -S /bin/bash +#$ -N hddm +#$ -o logs/qsub +#$ -q withpe.q +#$ -pe ompi 4 +#$ -j y + +Rscript $SCRIPT diff --git a/_scripts_hddm/retest_alert.R b/_scripts_hddm/retest_alert.R new file mode 100644 index 0000000..3d02c4b --- /dev/null +++ b/_scripts_hddm/retest_alert.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "380173315257221" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-cong_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + StimType = case_match( + StimType, + "congruent" ~ "con", + "incongruent" ~ "inc" + ) + ) |> + filter(RT > 0.25) |> + select(user_id, ocassion, type = StimType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 189 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_antisac.R b/_scripts_hddm/retest_antisac.R new file mode 100644 index 0000000..229c710 --- /dev/null +++ b/_scripts_hddm/retest_antisac.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "238239294447813" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 20) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 194 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_birds_cong.R b/_scripts_hddm/retest_birds_cong.R new file mode 100644 index 0000000..ec2ded0 --- /dev/null +++ b/_scripts_hddm/retest_birds_cong.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224377200398533" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-cong_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + StimType = case_match( + StimType, + "Congruent" ~ "con", + "Incongruent" ~ "inc" + ) + ) |> + filter(RT > 0.15) |> + select(user_id, ocassion, type = StimType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 383 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_birds_switch.R b/_scripts_hddm/retest_birds_switch.R new file mode 100644 index 0000000..2b25c45 --- /dev/null +++ b/_scripts_hddm/retest_birds_switch.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224377200398533" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-switch_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + TaskType = case_match( + TaskType, + "Switch" ~ "switch", + "Repeat" ~ "repeat" + ) + ) |> + filter(RT > 0.15, !is.na(TaskType)) |> + select(user_id, ocassion, type = TaskType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 383 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_cardsort.R b/_scripts_hddm/retest_cardsort.R new file mode 100644 index 0000000..0de027c --- /dev/null +++ b/_scripts_hddm/retest_cardsort.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224377872388293" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-switch_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + Type = case_match( + Type, + "Switch" ~ "switch", + "Repeat" ~ "repeat" + ) + ) |> + filter(RT > 0.15, !is.na(Type)) |> + select(user_id, ocassion, type = Type, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 183 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_counting.R b/_scripts_hddm/retest_counting.R new file mode 100644 index 0000000..56df1d9 --- /dev/null +++ b/_scripts_hddm/retest_counting.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "380176247862021" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-switch_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10, Type != "filler") |> + select(user_id, ocassion, type = Type, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 281 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_crt.R b/_scripts_hddm/retest_crt.R new file mode 100644 index 0000000..80dfeff --- /dev/null +++ b/_scripts_hddm/retest_crt.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224374703641029" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 188 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_faces.R b/_scripts_hddm/retest_faces.R new file mode 100644 index 0000000..ce8b68c --- /dev/null +++ b/_scripts_hddm/retest_faces.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224376556507589" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-switch_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + TaskType = case_match( + TaskType, + "Switch" ~ "switch", + "Repeat" ~ "repeat" + ) + ) |> + filter(RT > 0.25 & RT < 10, !is.na(TaskType)) |> + select(user_id, ocassion, type = TaskType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 388 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_flanker.R b/_scripts_hddm/retest_flanker.R new file mode 100644 index 0000000..1aac14f --- /dev/null +++ b/_scripts_hddm/retest_flanker.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224379118576069" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-cong_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + Type = case_match( + Type, + "Congruent" ~ "con", + "Incongruent" ~ "inc" + ) + ) |> + filter(RT > 0.25) |> + select(user_id, ocassion, type = Type, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 194 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_grid.R b/_scripts_hddm/retest_grid.R new file mode 100644 index 0000000..8777ebc --- /dev/null +++ b/_scripts_hddm/retest_grid.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "225191769534981" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 190 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_magician.R b/_scripts_hddm/retest_magician.R new file mode 100644 index 0000000..117e640 --- /dev/null +++ b/_scripts_hddm/retest_magician.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "268008982663269" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 143 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_number.R b/_scripts_hddm/retest_number.R new file mode 100644 index 0000000..bdf8eb1 --- /dev/null +++ b/_scripts_hddm/retest_number.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "225191359021253" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 190 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_numlet.R b/_scripts_hddm/retest_numlet.R new file mode 100644 index 0000000..2a43d28 --- /dev/null +++ b/_scripts_hddm/retest_numlet.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "375903641948933" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-switch_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10, TaskType != "filler") |> + select(user_id, ocassion, type = TaskType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 281 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_orient.R b/_scripts_hddm/retest_orient.R new file mode 100644 index 0000000..9c11080 --- /dev/null +++ b/_scripts_hddm/retest_orient.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "380174783693701" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-cong_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + StimType = case_match( + StimType, + "congruent" ~ "con", + "incongruent" ~ "inc" + ) + ) |> + filter(RT > 0.25) |> + select(user_id, ocassion, type = StimType, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 189 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_painting.R b/_scripts_hddm/retest_painting.R new file mode 100644 index 0000000..922cdc5 --- /dev/null +++ b/_scripts_hddm/retest_painting.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "225525822632453" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 190 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_stroop.R b/_scripts_hddm/retest_stroop.R new file mode 100644 index 0000000..0e88245 --- /dev/null +++ b/_scripts_hddm/retest_stroop.R @@ -0,0 +1,62 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "224378628399301" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-cong_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate( + RT = RT / 1000, + # unify levels + Type = case_match( + Type, + "Congruent" ~ "con", + "Incongruent" ~ "inc" + ) + ) |> + filter(RT > 0.25) |> + select(user_id, ocassion, type = Type, acc = ACC, rt = RT) +model <- readRDS("data/model_diff_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 4 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 383 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/_scripts_hddm/retest_words.R b/_scripts_hddm/retest_words.R new file mode 100644 index 0000000..b22985e --- /dev/null +++ b/_scripts_hddm/retest_words.R @@ -0,0 +1,54 @@ +suppressPackageStartupMessages({ + library(tidyverse) + library(brms) +}) +requireNamespace("bit64", quietly = TRUE) +projects <- targets::tar_config_yaml() +game_id <- "225525419221509" +file_save <- str_glue("data-raw/hddm-retest/game-{game_id}_type-simple_wiener") +cat("Processing: ", data.iquizoo::match_info(game_id, "game_name"), "\n\n") +data <- targets::tar_read_raw( + paste0("data_valid_", game_id), + store = projects$prepare_source_data_retest$store +) |> + filter(n() == 2, .by = user_id) |> + mutate( + ocassion = if_else(row_number(game_time) == 1, "test", "retest"), + .by = user_id + ) |> + unnest(raw_parsed) |> + mutate(RT = RT / 1000) |> + filter(RT > 0.25 & RT < 10) |> + select(user_id, ocassion, acc = ACC, rt = RT) +model <- readRDS("data/model_simple_retest.rds") + +if (interactive()) { + View(standata(update(model, newdata = data, chains = 0))) +} + +initfun <- function() { + K <- 2 # 2 by 2 + K_bs <- 2 + K_ndt <- 2 + M_1 <- K + K_bs + K_ndt + N_1 <- 190 # number of subjects + list( + b = as.array(rnorm(K)), + b_bs = as.array(runif(K_bs, 1, 2)), + b_ndt = as.array(runif(K_ndt, 0.05, 0.1)), + sd_1 = as.array(runif(M_1, 0.5, 1)), + z_1 = matrix(rnorm(M_1 * N_1, 0, 0.01), M_1, N_1), + L_1 = diag(M_1) + ) +} +fit_wiener <- update( + model, + newdata = data, + init = initfun, + file = file_save, + iter = 1000, + warmup = 500, + chains = 4, + cores = 4, + control = list(max_treedepth = 15, adapt_delta = 0.9) +) diff --git a/config/game_hddm.csv b/config/game_hddm.csv new file mode 100644 index 0000000..effe337 --- /dev/null +++ b/config/game_hddm.csv @@ -0,0 +1,77 @@ +game_id,game_name,hddm +268008982667388,按图索骥, +268008982642792,方向临摹, +239263721484357,节奏感知, +239263162577477,时间顺序判断, +239264243732549,时长分辨, +268008982646874,超级秒表PRO, +224374703641029,快速归类PRO,simple +375917961736965,方向检测, +375934626087813,色彩检测, +268008982667350,火眼金睛, +238267995484229,雪花收藏家, +268008982667380,舒尔特方格(中级), +240406295777861,我是大厨, +265086851706949,小狗回家, +268008982659192,一心二用PRO, +268008982663260,萤火虫PRO, +380173315257221,注意警觉,cong +380174783693701,注意指向,cong +268008982642772,专注大师_中级, +268008982667347,捉虫高级简版, +324182449562501,视觉记忆测试, +268008982642811,城市导航, +268008982667358,宇宙黑洞A, +268008982655090,顺背数PRO, +268008982642798,位置记忆PRO, +224383397556421,过目不忘PRO, +375916542735109,万花筒, +279330041741381,欢乐餐厅PRO, +281039429226565,连续再认PRO, +386185817178885,词汇学习, +375917432341381,路径学习, +384311706735365,人工语言-高级, +381576542159749,社交达人, +380173961339781,事件记忆, +268008982655053,塔罗牌, +268008982642793,强化学习, +268008982671439,图片记忆, +268008982655069,言语记忆, +268008982667368,各得其所, +268008982663267,连点成画PRO, +355740871500677,数字推理, +355740333933445,图形推理, +356101783560965,文字推理, +411281158706373,远距离联想, +324179001000709,平面展开, +268008982659144,三维心理旋转测试, +324179964613381,视角判断, +361750352892805,图形折叠, +324177880433541,物体旋转, +224375977935045,变色魔块PRO, +238239294447813,变戏法,simple +224378628399301,多彩文字PRO,cong +224379118576069,太空飞船PRO,cong +224377200398533,候鸟迁徙PRO,cong +224377200398533,候鸟迁徙PRO,switch +380176247862021,多变计数师,switch +224377872388293,卡片分类PRO,switch +375903641948933,随机应变,switch +224376556507589,察颜观色PRO,switch +225191769534981,格子卡片,simple +225525822632453,美术卡片,simple +225191359021253,数字卡片PRO,simple +225525419221509,文字卡片,simple +268008982663269,魔术师终极,simple +268008982663278,蝴蝶照相机, +225528186135045,打靶场, +238279920537669,幸运小球PRO, +386196539900677,井然有序, +268008982667381,密码箱, +268008982663290,词语判断, +268008982667391,声调判断, +268008982650988,语义判断, +322148361573125,阅读判断, +268008982650985,登陆月球(中级), +268008982655059,数感, +268008982659166,速算师(中级), diff --git a/renv.lock b/renv.lock index 231ece2..24b3dae 100644 --- a/renv.lock +++ b/renv.lock @@ -39,6 +39,18 @@ "Repository": "CRAN", "Hash": "a8235afbcd6316e6e91433ea47661013" }, + "Brobdingnag": { + "Package": "Brobdingnag", + "Version": "1.2-9", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "Matrix", + "R", + "methods" + ], + "Hash": "00077243042334c50b74cdfafe172870" + }, "CompQuadForm": { "Package": "CompQuadForm", "Version": "1.4.3", @@ -186,6 +198,18 @@ ], "Hash": "0776bf7526869e0286b0463cb72fb211" }, + "QuickJSR": { + "Package": "QuickJSR", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R6", + "Rcpp", + "jsonlite" + ], + "Hash": "765d4f4bcec02ed0663d4de3db23f6e5" + }, "R6": { "Package": "R6", "Version": "2.5.1", @@ -360,6 +384,18 @@ ], "Hash": "2042cd9759cc89a453c4aefef0ce9aae" }, + "StanHeaders": { + "Package": "StanHeaders", + "Version": "2.32.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "RcppEigen", + "RcppParallel" + ], + "Hash": "2286252ee7b8ee96e6d7f248ba65bb1f" + }, "V8": { "Package": "V8", "Version": "4.4.2", @@ -482,6 +518,27 @@ ], "Hash": "c21ca34590a8dd80fccec5bf1b2d26d7" }, + "bayesplot": { + "Package": "bayesplot", + "Version": "1.11.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "dplyr", + "ggplot2", + "ggridges", + "glue", + "posterior", + "reshape2", + "rlang", + "stats", + "tibble", + "tidyselect", + "utils" + ], + "Hash": "c5cde76012ea08e94265ace1b53b77b9" + }, "bayestestR": { "Package": "bayestestR", "Version": "0.13.2", @@ -570,6 +627,25 @@ "Repository": "CRAN", "Hash": "8f4a384e19dccd8c65356dc096847b76" }, + "bridgesampling": { + "Package": "bridgesampling", + "Version": "1.1-2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "Brobdingnag", + "Matrix", + "R", + "coda", + "methods", + "mvtnorm", + "parallel", + "scales", + "stringr", + "utils" + ], + "Hash": "a64d4be61a31696fec80dc24cef69a9c" + }, "brio": { "Package": "brio", "Version": "1.1.4", @@ -580,6 +656,41 @@ ], "Hash": "68bd2b066e1fe780bbf62fc8bcc36de3" }, + "brms": { + "Package": "brms", + "Version": "2.21.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "Matrix", + "R", + "Rcpp", + "abind", + "backports", + "bayesplot", + "bridgesampling", + "coda", + "future", + "future.apply", + "ggplot2", + "glue", + "grDevices", + "loo", + "matrixStats", + "methods", + "mgcv", + "nleqslv", + "nlme", + "parallel", + "posterior", + "rlang", + "rstan", + "rstantools", + "stats", + "utils" + ], + "Hash": "5997b296ee665c10f0d18f1d01c9dd5c" + }, "broom": { "Package": "broom", "Version": "1.0.5", @@ -790,6 +901,17 @@ ], "Hash": "e4f8e89f5c705e9ec9c723dbb98d24c0" }, + "coda": { + "Package": "coda", + "Version": "0.19-4.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "lattice" + ], + "Hash": "af436915c590afc6fffc3ce3a5be1569" + }, "codetools": { "Package": "codetools", "Version": "0.2-19", @@ -1132,6 +1254,26 @@ ], "Hash": "fd6209a5ad74d6791b54c6bbb3c324f6" }, + "distributional": { + "Package": "distributional", + "Version": "0.3.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "digest", + "farver", + "generics", + "ggplot2", + "lifecycle", + "numDeriv", + "rlang", + "scales", + "stats", + "utils", + "vctrs" + ], + "Hash": "0a94c3c917918a1c90f4609171ff41b6" + }, "downlit": { "Package": "downlit", "Version": "0.4.3", @@ -1406,6 +1548,20 @@ ], "Hash": "e57e292737f7a4efa9d8a91c5908222c" }, + "future.apply": { + "Package": "future.apply", + "Version": "1.11.2", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "future", + "globals", + "parallel", + "utils" + ], + "Hash": "afe1507511629f44572e6c53b9baeb7c" + }, "future.batchtools": { "Package": "future.batchtools", "Version": "0.12.1", @@ -1560,6 +1716,20 @@ ], "Hash": "cc3361e234c4a5050e29697d675764aa" }, + "ggridges": { + "Package": "ggridges", + "Version": "0.5.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "ggplot2", + "grid", + "scales", + "withr" + ], + "Hash": "66488692cb8621bc78df1b9b819497a6" + }, "ggsci": { "Package": "ggsci", "Version": "3.0.1", @@ -2042,6 +2212,16 @@ "Repository": "CRAN", "Hash": "6154ec2223172bce8162d4153cda21f7" }, + "inline": { + "Package": "inline", + "Version": "0.3.19", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "methods" + ], + "Hash": "1deaf1de3eac7e1d3377954b3a283652" + }, "insight": { "Package": "insight", "Version": "0.19.8", @@ -2259,6 +2439,21 @@ ], "Hash": "07fb0c5b727b15b0ce40feb641498e4e" }, + "loo": { + "Package": "loo", + "Version": "2.7.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "checkmate", + "matrixStats", + "parallel", + "posterior", + "stats" + ], + "Hash": "7917e9c58d89dbb80d8eede166581fa0" + }, "lubridate": { "Package": "lubridate", "Version": "1.9.3", @@ -2295,6 +2490,16 @@ ], "Hash": "765cf53992401b3b6c297b69e1edb8bd" }, + "matrixStats": { + "Package": "matrixStats", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R" + ], + "Hash": "33a3ca9e732b57244d14f5d732ffc9eb" + }, "matrixcalc": { "Package": "matrixcalc", "Version": "1.0-6", @@ -2530,6 +2735,13 @@ ], "Hash": "7ec5a2396d3c9ad4374495283dfcdc83" }, + "nleqslv": { + "Package": "nleqslv", + "Version": "3.3.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "982736cfb7276c4d9a2afa4e6b8e95a4" + }, "nlme": { "Package": "nlme", "Version": "3.1-164", @@ -2834,6 +3046,28 @@ ], "Hash": "ceb5c2a59ba33d42d051285a3e8a5118" }, + "posterior": { + "Package": "posterior", + "Version": "1.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "abind", + "checkmate", + "distributional", + "matrixStats", + "methods", + "parallel", + "pillar", + "rlang", + "stats", + "tensorA", + "tibble", + "vctrs" + ], + "Hash": "8dac526a34b9eb62305d16c04cb57837" + }, "prabclus": { "Package": "prabclus", "Version": "2.3-3", @@ -3288,6 +3522,19 @@ ], "Hash": "1425f91b4d5d9a8f25352c44a3d914ed" }, + "reshape2": { + "Package": "reshape2", + "Version": "1.4.4", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "Rcpp", + "plyr", + "stringr" + ], + "Hash": "bb5996d0bd962d214a11140d77589917" + }, "reticulate": { "Package": "reticulate", "Version": "1.35.0", @@ -3408,6 +3655,43 @@ ], "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144" }, + "rstan": { + "Package": "rstan", + "Version": "2.32.6", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "BH", + "QuickJSR", + "R", + "Rcpp", + "RcppEigen", + "RcppParallel", + "StanHeaders", + "ggplot2", + "gridExtra", + "inline", + "loo", + "methods", + "pkgbuild", + "stats4" + ], + "Hash": "8a5b5978f888a3477c116e0395d006f8" + }, + "rstantools": { + "Package": "rstantools", + "Version": "2.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "Rcpp", + "RcppParallel", + "desc", + "stats", + "utils" + ], + "Hash": "23813e635fcd210c33e154aa46d0a21a" + }, "rstatix": { "Package": "rstatix", "Version": "0.7.2", @@ -3816,6 +4100,17 @@ ], "Hash": "35b83348e5cf547715687c93ce5c2126" }, + "tensorA": { + "Package": "tensorA", + "Version": "0.36.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "stats" + ], + "Hash": "0d587599172f2ffda2c09cb6b854e0e5" + }, "testthat": { "Package": "testthat", "Version": "3.2.1", diff --git a/submit_jobs.sh b/submit_jobs.sh new file mode 100644 index 0000000..7629b3c --- /dev/null +++ b/submit_jobs.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +for file in _scripts_hddm/retest_*.R; do + qsub -v SCRIPT=$file ./_scripts_hddm/hddm.qsub +done