From 0989cec1da4490e4f8d2d9092344241d61286d15 Mon Sep 17 00:00:00 2001 From: Benjamin Deonovic Date: Mon, 17 Jun 2024 12:14:33 -0500 Subject: [PATCH 1/3] Fix stan CSV parsing for save warmups currently results in a NA value for `save_warmup` field --- rstan/rstan/R/stan_csv.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rstan/rstan/R/stan_csv.R b/rstan/rstan/R/stan_csv.R index d3d678cf3..753cd352d 100644 --- a/rstan/rstan/R/stan_csv.R +++ b/rstan/rstan/R/stan_csv.R @@ -107,10 +107,11 @@ parse_stancsv_comments <- function(comments) { } names1 <- intersect(c("thin", "iter", "warmup", "chain_id", "max_depth", "num_samples", "num_warmup", "id", - "max_treedepth", "save_warmup"), names0) + "max_treedepth"), names0) names2 <- intersect(c("stepsize", "stepsize_jitter", "adapt_gamma", "adapt_kappa", "adapt_delta", "gamma", "kappa", "delta", "t0", "adapt_t0"), names0) + values[["save_warmup"]] <- as.integer(as.logical(values[["save_warmup"]])) for (z in names1) values[[z]] <- as.integer(values[[z]]) for (z in names2) values[[z]] <- as.numeric(values[[z]]) if (compute_iter) values[["iter"]] <- values[["iter"]] + values[["warmup"]] From 037488d3623fb7fa3c32d82e83800afa158f831b Mon Sep 17 00:00:00 2001 From: Benjamin Deonovic Date: Mon, 17 Jun 2024 12:20:12 -0500 Subject: [PATCH 2/3] Only update if present in comments --- rstan/rstan/R/stan_csv.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rstan/rstan/R/stan_csv.R b/rstan/rstan/R/stan_csv.R index 753cd352d..65f553596 100644 --- a/rstan/rstan/R/stan_csv.R +++ b/rstan/rstan/R/stan_csv.R @@ -111,7 +111,7 @@ parse_stancsv_comments <- function(comments) { names2 <- intersect(c("stepsize", "stepsize_jitter", "adapt_gamma", "adapt_kappa", "adapt_delta", "gamma", "kappa", "delta", "t0", "adapt_t0"), names0) - values[["save_warmup"]] <- as.integer(as.logical(values[["save_warmup"]])) + if ("save_warmup" %in% names(values) values[["save_warmup"]] <- as.integer(as.logical(values[["save_warmup"]])) for (z in names1) values[[z]] <- as.integer(values[[z]]) for (z in names2) values[[z]] <- as.numeric(values[[z]]) if (compute_iter) values[["iter"]] <- values[["iter"]] + values[["warmup"]] From a40fd7295f6d5c2434fe410fda569d660b1b28b0 Mon Sep 17 00:00:00 2001 From: Benjamin Deonovic Date: Mon, 17 Jun 2024 13:12:25 -0500 Subject: [PATCH 3/3] fix missing paren --- rstan/rstan/R/stan_csv.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rstan/rstan/R/stan_csv.R b/rstan/rstan/R/stan_csv.R index 65f553596..857044f0f 100644 --- a/rstan/rstan/R/stan_csv.R +++ b/rstan/rstan/R/stan_csv.R @@ -111,7 +111,7 @@ parse_stancsv_comments <- function(comments) { names2 <- intersect(c("stepsize", "stepsize_jitter", "adapt_gamma", "adapt_kappa", "adapt_delta", "gamma", "kappa", "delta", "t0", "adapt_t0"), names0) - if ("save_warmup" %in% names(values) values[["save_warmup"]] <- as.integer(as.logical(values[["save_warmup"]])) + if ("save_warmup" %in% names(values)) values[["save_warmup"]] <- as.integer(as.logical(values[["save_warmup"]])) for (z in names1) values[[z]] <- as.integer(values[[z]]) for (z in names2) values[[z]] <- as.numeric(values[[z]]) if (compute_iter) values[["iter"]] <- values[["iter"]] + values[["warmup"]]