From abcbef1dbbd3d2ae05e999efd7a473c52aec9f24 Mon Sep 17 00:00:00 2001 From: Bjarke Hautop Date: Sun, 4 Jan 2026 17:23:42 +0100 Subject: [PATCH 1/2] Fix ggplot2 warning in mcmc_nuts_treedepth about dropping fewer than 2 observations. --- R/mcmc-diagnostics-nuts.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/R/mcmc-diagnostics-nuts.R b/R/mcmc-diagnostics-nuts.R index 5d6ad7e8..1ca9643a 100644 --- a/R/mcmc-diagnostics-nuts.R +++ b/R/mcmc-diagnostics-nuts.R @@ -373,6 +373,7 @@ mcmc_nuts_treedepth <- function(x, lp, chain = NULL, ...) { ggplot(violin_lp_data, aes(x = factor(.data$Value), y = .data$lp)) + geom_violin(fill = get_color("l"), color = get_color("lh")) + labs(x = "treedepth__", y = "lp__") + + scale_x_discrete(drop = FALSE) + bayesplot_theme_get() violin_accept_stat_data <- data.frame(treedepth, as = accept_stat$Value) @@ -380,6 +381,7 @@ mcmc_nuts_treedepth <- function(x, lp, chain = NULL, ...) { ggplot(violin_accept_stat_data, aes(x = factor(.data$Value), y = .data$as)) + geom_violin(fill = get_color("l"), color = get_color("lh")) + labs(x = "treedepth__", y = "accept_stat__") + + scale_x_discrete(drop = FALSE) + scale_y_continuous(breaks = c(0, 0.5, 1)) + bayesplot_theme_get() From cfb5055589419e7eec32cb4b5d413c2e794b1937 Mon Sep 17 00:00:00 2001 From: Bjarke Hautop Date: Sun, 4 Jan 2026 20:21:28 +0100 Subject: [PATCH 2/2] Fix violin_plot warning correctly --- R/mcmc-diagnostics-nuts.R | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/R/mcmc-diagnostics-nuts.R b/R/mcmc-diagnostics-nuts.R index 1ca9643a..7b7a95a7 100644 --- a/R/mcmc-diagnostics-nuts.R +++ b/R/mcmc-diagnostics-nuts.R @@ -369,19 +369,29 @@ mcmc_nuts_treedepth <- function(x, lp, chain = NULL, ...) { yaxis_ticks(FALSE) violin_lp_data <- data.frame(treedepth, lp = lp$Value) + + # Only keep treedepth values that occur more than once for violin plot + value_counts <- table(violin_lp_data$Value) + keep_values <- names(value_counts[value_counts > 1]) + violin_lp_data <- violin_lp_data[violin_lp_data$Value %in% keep_values, ] + violin_lp <- ggplot(violin_lp_data, aes(x = factor(.data$Value), y = .data$lp)) + geom_violin(fill = get_color("l"), color = get_color("lh")) + labs(x = "treedepth__", y = "lp__") + - scale_x_discrete(drop = FALSE) + bayesplot_theme_get() violin_accept_stat_data <- data.frame(treedepth, as = accept_stat$Value) + + # Only keep treedepth values that occur more than once for violin plot + value_counts <- table(violin_accept_stat_data$Value) + keep_values <- names(value_counts[value_counts > 1]) + violin_accept_stat_data <- violin_accept_stat_data[violin_accept_stat_data$Value %in% keep_values, ] + violin_accept_stat <- ggplot(violin_accept_stat_data, aes(x = factor(.data$Value), y = .data$as)) + geom_violin(fill = get_color("l"), color = get_color("lh")) + labs(x = "treedepth__", y = "accept_stat__") + - scale_x_discrete(drop = FALSE) + scale_y_continuous(breaks = c(0, 0.5, 1)) + bayesplot_theme_get() @@ -411,7 +421,6 @@ mcmc_nuts_treedepth <- function(x, lp, chain = NULL, ...) { as_bayesplot_grid(nuts_plot) } - #' @rdname MCMC-nuts #' @export #' @param alpha For `mcmc_nuts_energy()` only, the transparency (alpha) level