From b28a0f5d32615aba709abbcdb9316b4bec64a50f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 Aug 2025 14:49:06 +0000 Subject: [PATCH 1/8] Initial plan From b2c0b00bf45d92bd52422af6ce5f26755f6c048b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:00:52 +0000 Subject: [PATCH 2/8] Implement br_show_nomogram function for survival models Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- NAMESPACE | 1 + R/04-show.R | 252 ++++++++++++++++++++++++++++++++++++ tests/testthat/test-basic.R | 52 ++++++++ 3 files changed, 305 insertions(+) diff --git a/NAMESPACE b/NAMESPACE index 18f5e8d..68ca083 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -27,6 +27,7 @@ export(br_show_fitted_line_2d) export(br_show_forest) export(br_show_forest_ggstats) export(br_show_forest_ggstatsplot) +export(br_show_nomogram) export(br_show_risk_network) export(br_show_table) export(br_show_table_gt) diff --git a/R/04-show.R b/R/04-show.R index c069a39..2868f1f 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -530,3 +530,255 @@ br_show_table_gt <- function( } t } + +#' Show a nomogram for survival models +#' +#' @description +#' `r lifecycle::badge('stable')` +#' +#' This function creates a nomogram visualization for survival models, particularly +#' Cox proportional hazards models. A nomogram is a graphical calculating device +#' that provides a visual representation of a regression model to calculate +#' individualized predictions and risk scores. +#' +#' @param breg A regression object with results (must pass `assert_breg_obj_with_results()`). +#' @param idx Length-1 vector. Index or name (focal variable) of the model. +#' Only one model is supported for nomogram visualization. +#' @param funlabel Character string for the function label on the nomogram. +#' Default is "Linear Predictor" for Cox models. +#' @param fun Function to be applied to the linear predictor. For Cox models, +#' this could be the survival function at a specific time point. +#' @param fun.at Numeric vector of points where the function should be evaluated. +#' @param lp Logical indicating whether to include linear predictor axis. +#' Default is `TRUE`. +#' @param points Logical indicating whether to include points axis for calculating +#' total score. Default is `TRUE`. +#' @param total.points Logical indicating whether to include total points axis. +#' Default is `TRUE`. +#' @param ... Additional arguments passed to the plotting function. +#' @returns A plot +#' @export +#' @family br_show +#' @examples +#' # Cox proportional hazards model +#' lung <- survival::lung |> +#' dplyr::filter(ph.ecog != 3) +#' lung$ph.ecog <- factor(lung$ph.ecog) +#' +#' mds <- br_pipeline( +#' lung, +#' y = c("time", "status"), +#' x = c("age", "ph.ecog"), +#' x2 = "sex", +#' method = "coxph" +#' ) +#' +#' # Create nomogram for the first model +#' br_show_nomogram(mds, idx = 1) +#' +#' @testexamples +#' expect_true(inherits(br_show_nomogram(mds, idx = 1), c("ggplot", "grob"))) +br_show_nomogram <- function( + breg, + idx = 1, + funlabel = "Linear Predictor", + fun = NULL, + fun.at = NULL, + lp = TRUE, + points = TRUE, + total.points = TRUE, + ...) { + + assert_breg_obj_with_results(breg) + if (length(idx) != 1) { + cli_abort("length-1 {.arg idx} (integer index or a focal variable name) is required") + } + + # Get the specific model + mod <- br_get_models(breg, idx) + if (length(mod) > 1) { + mod <- mod[[1]] + } + + # Check if it's a supported model type + model_name <- insight::model_name(mod) + if (!model_name %in% c("coxph", "survreg")) { + cli_abort("nomogram visualization is currently only supported for survival models (coxph, survreg)") + } + + # Get model results and data + results <- br_get_results(breg, tidy = FALSE) + model_data <- br_get_data(breg) + + # Filter results for the specific model + focal_var <- names(br_get_models(breg))[idx] + model_results <- results |> + dplyr::filter(.data$Focal_variable == focal_var) + + # Create a simplified nomogram using ggplot2 + # This implements a basic nomogram structure + .create_nomogram_plot(mod, model_results, model_data, funlabel, fun, fun.at, lp, points, total.points, ...) +} + +# Helper function to create nomogram plot +.create_nomogram_plot <- function(model, results, data, funlabel, fun, fun.at, lp, points, total.points, ...) { + + # Extract model coefficients + coefs <- stats::coef(model) + + # Get variable information from results + var_info <- results |> + dplyr::filter(!.data$reference_row %in% TRUE, !is.na(.data$estimate)) |> + dplyr::select(.data$variable, .data$estimate, .data$var_type, .data$var_class) |> + dplyr::distinct() + + if (nrow(var_info) == 0) { + cli_abort("No valid coefficients found for nomogram creation") + } + + # Create nomogram data structure + nomogram_data <- list() + + # Calculate ranges and scales for each variable + for (i in seq_len(nrow(var_info))) { + var_name <- var_info$variable[i] + var_type <- var_info$var_type[i] + var_class <- var_info$var_class[i] + + if (var_name %in% names(data)) { + if (var_type == "continuous") { + var_range <- range(data[[var_name]], na.rm = TRUE) + var_seq <- seq(var_range[1], var_range[2], length.out = 10) + + # Calculate points contribution + coef_val <- var_info$estimate[i] + # Convert to log scale if estimates are exponentiated + if (coef_val > 0 && abs(log(coef_val)) > abs(coef_val)) { + coef_val <- log(coef_val) + } + + points_contrib <- coef_val * (var_seq - min(var_seq, na.rm = TRUE)) + + nomogram_data[[var_name]] <- data.frame( + variable = var_name, + value = var_seq, + points = points_contrib, + var_type = var_type, + stringsAsFactors = FALSE + ) + } else if (var_class == "factor") { + var_levels <- levels(as.factor(data[[var_name]])) + + # For factor variables, use the estimates directly from results + factor_results <- results |> + dplyr::filter(.data$variable == var_name, !is.na(.data$estimate)) + + if (nrow(factor_results) > 0) { + # Include reference level (0 points) and other levels + level_values <- c("Reference", factor_results$label) + points_values <- c(0, factor_results$estimate) + + # Convert to log scale if estimates are exponentiated + if (any(points_values > 0, na.rm = TRUE) && any(abs(log(points_values[points_values > 0])) > abs(points_values[points_values > 0]), na.rm = TRUE)) { + points_values[points_values > 0] <- log(points_values[points_values > 0]) + } + + nomogram_data[[var_name]] <- data.frame( + variable = var_name, + value = level_values, + points = points_values, + var_type = var_type, + stringsAsFactors = FALSE + ) + } + } + } + } + + # Combine all variable data + if (length(nomogram_data) == 0) { + cli_abort("Unable to create nomogram data from model results") + } + + plot_data <- do.call(rbind, nomogram_data) + + # Normalize points to 0-100 scale + if (points) { + max_abs_points <- max(abs(plot_data$points), na.rm = TRUE) + if (max_abs_points > 0) { + plot_data$points_norm <- (plot_data$points / max_abs_points) * 100 + } else { + plot_data$points_norm <- plot_data$points + } + } else { + plot_data$points_norm <- plot_data$points + } + + # Create the nomogram plot using ggplot2 + p <- ggplot2::ggplot(plot_data, ggplot2::aes(x = .data$points_norm, y = .data$variable)) + + ggplot2::geom_point(size = 2, color = "blue") + + ggplot2::geom_segment( + data = plot_data |> dplyr::group_by(.data$variable) |> + dplyr::summarise( + xmin = min(.data$points_norm, na.rm = TRUE), + xmax = max(.data$points_norm, na.rm = TRUE), + .groups = "drop" + ), + ggplot2::aes(x = .data$xmin, xend = .data$xmax, y = .data$variable, yend = .data$variable), + inherit.aes = FALSE, + color = "gray70" + ) + + ggplot2::scale_x_continuous(breaks = seq(0, 100, 20)) + + ggplot2::labs( + title = "Nomogram for Survival Model", + x = if (points) "Points (0-100)" else funlabel, + y = "Variables" + ) + + ggplot2::theme_minimal() + + ggplot2::theme( + plot.title = ggplot2::element_text(hjust = 0.5, face = "bold"), + panel.grid.minor = ggplot2::element_blank(), + panel.grid.major.y = ggplot2::element_blank(), + axis.text.y = ggplot2::element_text(face = "bold"), + strip.background = ggplot2::element_blank() + ) + + # Add variable labels as annotations + for (var in unique(plot_data$variable)) { + var_data <- plot_data[plot_data$variable == var, ] + if (var_data$var_type[1] == "continuous") { + # For continuous variables, show min and max values + min_val <- min(var_data$value, na.rm = TRUE) + max_val <- max(var_data$value, na.rm = TRUE) + p <- p + ggplot2::annotate("text", + x = min(var_data$points_norm), + y = var, + label = paste(round(min_val, 2)), + hjust = 1.1, vjust = -0.5, size = 3) + p <- p + ggplot2::annotate("text", + x = max(var_data$points_norm), + y = var, + label = paste(round(max_val, 2)), + hjust = -0.1, vjust = -0.5, size = 3) + } else { + # For categorical variables, show level names + for (i in seq_len(nrow(var_data))) { + p <- p + ggplot2::annotate("text", + x = var_data$points_norm[i], + y = var, + label = var_data$value[i], + hjust = 0.5, vjust = -0.5, size = 3) + } + } + } + + # Add total points information if requested + if (total.points) { + total_range <- range(plot_data$points_norm, na.rm = TRUE) + p <- p + ggplot2::labs( + caption = paste("Total Points Range:", round(total_range[1], 1), "to", round(total_range[2], 1)) + ) + } + + return(p) +} diff --git a/tests/testthat/test-basic.R b/tests/testthat/test-basic.R index 8849056..454c61f 100644 --- a/tests/testthat/test-basic.R +++ b/tests/testthat/test-basic.R @@ -1,3 +1,55 @@ test_that("multiplication works", { expect_equal(2 * 2, 4) }) + +test_that("br_show_nomogram works with Cox regression models", { + # Create a simple Cox regression model using survival data + lung <- survival::lung + if (!is.null(lung)) { + lung <- lung[!is.na(lung$ph.ecog), ] + lung <- lung[lung$ph.ecog != 3, ] + lung$ph.ecog <- factor(lung$ph.ecog) + + # Create breg object with Cox regression + mds <- br_pipeline( + lung, + y = c("time", "status"), + x = c("age", "ph.ecog"), + x2 = "sex", + method = "coxph" + ) + + # Test that nomogram function works + expect_no_error( + plot <- br_show_nomogram(mds, idx = 1) + ) + + # Test that it returns a ggplot object + plot <- br_show_nomogram(mds, idx = 1) + expect_true(inherits(plot, "ggplot")) + } +}) + +test_that("br_show_nomogram validates input parameters", { + # Create a simple model for testing + lung <- survival::lung + if (!is.null(lung)) { + lung <- lung[!is.na(lung$ph.ecog), ] + lung <- lung[lung$ph.ecog != 3, ] + lung$ph.ecog <- factor(lung$ph.ecog) + + mds <- br_pipeline( + lung, + y = c("time", "status"), + x = c("age"), + x2 = "sex", + method = "coxph" + ) + + # Test that multiple indices are rejected + expect_error( + br_show_nomogram(mds, idx = c(1, 2)), + "length-1.*idx.*is required" + ) + } +}) From 7adf660a344b4355452b4b8da1aaf4f270cc42d1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:05:01 +0000 Subject: [PATCH 3/8] Improve br_show_nomogram function with better coefficient handling and examples Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- R/04-show.R | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/R/04-show.R b/R/04-show.R index 2868f1f..419d8ab 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -573,11 +573,17 @@ br_show_table_gt <- function( #' method = "coxph" #' ) #' -#' # Create nomogram for the first model +#' # Create nomogram for the first model (age) #' br_show_nomogram(mds, idx = 1) #' +#' # Create nomogram for the second model (ph.ecog) +#' br_show_nomogram(mds, idx = 2) +#' +#' # Use with custom labels +#' br_show_nomogram(mds, idx = "age", funlabel = "Log Hazard") +#' #' @testexamples -#' expect_true(inherits(br_show_nomogram(mds, idx = 1), c("ggplot", "grob"))) +#' expect_true(inherits(br_show_nomogram(mds, idx = 1), "ggplot")) br_show_nomogram <- function( breg, idx = 1, @@ -596,9 +602,7 @@ br_show_nomogram <- function( # Get the specific model mod <- br_get_models(breg, idx) - if (length(mod) > 1) { - mod <- mod[[1]] - } + # br_get_models returns the model directly when idx has length 1 # Check if it's a supported model type model_name <- insight::model_name(mod) @@ -610,8 +614,17 @@ br_show_nomogram <- function( results <- br_get_results(breg, tidy = FALSE) model_data <- br_get_data(breg) - # Filter results for the specific model - focal_var <- names(br_get_models(breg))[idx] + # For nomogram, we want to show all variables in the specific model + # The idx parameter selects which model to visualize + # We need to get the focal variable name for this model + model_names <- br_get_model_names(breg) + if (is.character(idx)) { + focal_var <- idx + } else { + focal_var <- model_names[idx] + } + + # Filter results for the specific model's focal variable model_results <- results |> dplyr::filter(.data$Focal_variable == focal_var) @@ -629,7 +642,7 @@ br_show_nomogram <- function( # Get variable information from results var_info <- results |> dplyr::filter(!.data$reference_row %in% TRUE, !is.na(.data$estimate)) |> - dplyr::select(.data$variable, .data$estimate, .data$var_type, .data$var_class) |> + dplyr::select(.data$variable, .data$estimate, .data$var_type, .data$var_class, .data$label) |> dplyr::distinct() if (nrow(var_info) == 0) { @@ -669,9 +682,9 @@ br_show_nomogram <- function( } else if (var_class == "factor") { var_levels <- levels(as.factor(data[[var_name]])) - # For factor variables, use the estimates directly from results + # For factor variables, use the estimates from results factor_results <- results |> - dplyr::filter(.data$variable == var_name, !is.na(.data$estimate)) + dplyr::filter(.data$variable == var_name, !is.na(.data$estimate), !.data$reference_row %in% TRUE) if (nrow(factor_results) > 0) { # Include reference level (0 points) and other levels @@ -679,14 +692,12 @@ br_show_nomogram <- function( points_values <- c(0, factor_results$estimate) # Convert to log scale if estimates are exponentiated - if (any(points_values > 0, na.rm = TRUE) && any(abs(log(points_values[points_values > 0])) > abs(points_values[points_values > 0]), na.rm = TRUE)) { - points_values[points_values > 0] <- log(points_values[points_values > 0]) - } + points_log <- ifelse(points_values > 0 & points_values != 1, log(points_values), points_values) nomogram_data[[var_name]] <- data.frame( variable = var_name, value = level_values, - points = points_values, + points = points_log, var_type = var_type, stringsAsFactors = FALSE ) From 13ba46dbface9f42dc80a9e34bdacb9016669fea Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:17:13 +0000 Subject: [PATCH 4/8] Fix br_show_nomogram error with categorical variables Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- R/04-show.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/04-show.R b/R/04-show.R index 419d8ab..2618b77 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -698,7 +698,7 @@ br_show_nomogram <- function( variable = var_name, value = level_values, points = points_log, - var_type = var_type, + var_type = "categorical", stringsAsFactors = FALSE ) } @@ -759,8 +759,8 @@ br_show_nomogram <- function( var_data <- plot_data[plot_data$variable == var, ] if (var_data$var_type[1] == "continuous") { # For continuous variables, show min and max values - min_val <- min(var_data$value, na.rm = TRUE) - max_val <- max(var_data$value, na.rm = TRUE) + min_val <- min(as.numeric(var_data$value), na.rm = TRUE) + max_val <- max(as.numeric(var_data$value), na.rm = TRUE) p <- p + ggplot2::annotate("text", x = min(var_data$points_norm), y = var, From 6a4347467ad1238807db8da13f06c0d1fcc9c17e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:20:34 +0000 Subject: [PATCH 5/8] Add survival probability predictions to br_show_nomogram Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- R/04-show.R | 122 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 115 insertions(+), 7 deletions(-) diff --git a/R/04-show.R b/R/04-show.R index 2618b77..9d963e1 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -539,7 +539,8 @@ br_show_table_gt <- function( #' This function creates a nomogram visualization for survival models, particularly #' Cox proportional hazards models. A nomogram is a graphical calculating device #' that provides a visual representation of a regression model to calculate -#' individualized predictions and risk scores. +#' individualized predictions and risk scores. For survival models, it includes +#' survival probability predictions at specified time points. #' #' @param breg A regression object with results (must pass `assert_breg_obj_with_results()`). #' @param idx Length-1 vector. Index or name (focal variable) of the model. @@ -555,6 +556,10 @@ br_show_table_gt <- function( #' total score. Default is `TRUE`. #' @param total.points Logical indicating whether to include total points axis. #' Default is `TRUE`. +#' @param surv.at Numeric vector of time points (in years) for survival probability +#' prediction. Default is c(3, 5, 10) for 3, 5, and 10-year survival. +#' @param time.inc Time increment for baseline survival calculation. +#' Default is 365.25 (days per year). #' @param ... Additional arguments passed to the plotting function. #' @returns A plot #' @export @@ -573,14 +578,15 @@ br_show_table_gt <- function( #' method = "coxph" #' ) #' -#' # Create nomogram for the first model (age) +#' # Create nomogram for the first model (age) with default survival times #' br_show_nomogram(mds, idx = 1) #' #' # Create nomogram for the second model (ph.ecog) #' br_show_nomogram(mds, idx = 2) #' -#' # Use with custom labels -#' br_show_nomogram(mds, idx = "age", funlabel = "Log Hazard") +#' # Use with custom survival time points and labels +#' br_show_nomogram(mds, idx = "age", surv.at = c(1, 2, 5), +#' funlabel = "Log Hazard") #' #' @testexamples #' expect_true(inherits(br_show_nomogram(mds, idx = 1), "ggplot")) @@ -593,6 +599,8 @@ br_show_nomogram <- function( lp = TRUE, points = TRUE, total.points = TRUE, + surv.at = c(3, 5, 10), + time.inc = 365.25, ...) { assert_breg_obj_with_results(breg) @@ -629,12 +637,12 @@ br_show_nomogram <- function( dplyr::filter(.data$Focal_variable == focal_var) # Create a simplified nomogram using ggplot2 - # This implements a basic nomogram structure - .create_nomogram_plot(mod, model_results, model_data, funlabel, fun, fun.at, lp, points, total.points, ...) + # This implements a basic nomogram structure with survival predictions + .create_nomogram_plot(mod, model_results, model_data, funlabel, fun, fun.at, lp, points, total.points, surv.at, time.inc, ...) } # Helper function to create nomogram plot -.create_nomogram_plot <- function(model, results, data, funlabel, fun, fun.at, lp, points, total.points, ...) { +.create_nomogram_plot <- function(model, results, data, funlabel, fun, fun.at, lp, points, total.points, surv.at, time.inc, ...) { # Extract model coefficients coefs <- stats::coef(model) @@ -725,6 +733,25 @@ br_show_nomogram <- function( plot_data$points_norm <- plot_data$points } + # Calculate survival probabilities for Cox models + survival_data <- NULL + if (insight::model_name(model) == "coxph" && !is.null(surv.at) && length(surv.at) > 0) { + # Get baseline survival from the Cox model + baseline_surv <- tryCatch({ + survival::survfit(model) + }, error = function(e) { + cli_warn("Could not calculate baseline survival: {e$message}") + NULL + }) + + if (!is.null(baseline_surv)) { + # Calculate survival probabilities at specified time points + survival_data <- .calculate_survival_probabilities( + model, baseline_surv, surv.at, time.inc, plot_data + ) + } + } + # Create the nomogram plot using ggplot2 p <- ggplot2::ggplot(plot_data, ggplot2::aes(x = .data$points_norm, y = .data$variable)) + ggplot2::geom_point(size = 2, color = "blue") + @@ -786,6 +813,54 @@ br_show_nomogram <- function( # Add total points information if requested if (total.points) { total_range <- range(plot_data$points_norm, na.rm = TRUE) + + # Add total points scale + total_points_y <- length(unique(plot_data$variable)) + 1 + p <- p + ggplot2::geom_segment( + ggplot2::aes(x = total_range[1], xend = total_range[2], + y = total_points_y, yend = total_points_y), + inherit.aes = FALSE, color = "black", size = 1 + ) + + ggplot2::annotate("text", x = mean(total_range), y = total_points_y + 0.3, + label = "Total Points", hjust = 0.5, size = 4, face = "bold") + + # Add survival probability scales if available + if (!is.null(survival_data) && length(survival_data) > 0) { + for (i in seq_along(surv.at)) { + surv_time <- surv.at[i] + surv_key <- paste0("surv_", surv_time, "y") + + if (surv_key %in% names(survival_data)) { + surv_y <- total_points_y + 1 + i + + # Create survival probability scale + p <- p + ggplot2::geom_segment( + ggplot2::aes(x = total_range[1], xend = total_range[2], + y = surv_y, yend = surv_y), + inherit.aes = FALSE, color = "red", size = 1 + ) + + ggplot2::annotate("text", x = mean(total_range), y = surv_y + 0.3, + label = paste(surv_time, "-Year Survival Probability"), + hjust = 0.5, size = 4, face = "bold") + + # Add probability markers + prob_positions <- c(0.9, 0.7, 0.5, 0.3, 0.1) + for (prob in prob_positions) { + x_pos <- total_range[1] + (1 - prob) * diff(total_range) + p <- p + ggplot2::annotate("text", x = x_pos, y = surv_y - 0.2, + label = paste0(round(prob * 100, 0), "%"), + hjust = 0.5, size = 3) + } + } + } + + # Expand y-axis to accommodate survival scales + max_y <- total_points_y + 1 + length(surv.at) + current_vars <- unique(plot_data$variable) + all_levels <- c(current_vars, rep("", max_y - length(current_vars))) + p <- p + ggplot2::ylim(c(all_levels, "")) + } + p <- p + ggplot2::labs( caption = paste("Total Points Range:", round(total_range[1], 1), "to", round(total_range[2], 1)) ) @@ -793,3 +868,36 @@ br_show_nomogram <- function( return(p) } + +# Helper function to calculate survival probabilities +.calculate_survival_probabilities <- function(model, baseline_surv, surv.at, time.inc, plot_data) { + + # Convert survival times from years to the same units as model (typically days) + surv_times <- surv.at * time.inc + + # Calculate range of linear predictors from the plot data + lp_range <- range(plot_data$points, na.rm = TRUE) + lp_seq <- seq(lp_range[1], lp_range[2], length.out = 20) + + survival_data <- list() + + for (i in seq_along(surv.at)) { + surv_time <- surv_times[i] + + # Get baseline survival at this time point + time_idx <- which.min(abs(baseline_surv$time - surv_time)) + if (length(time_idx) > 0) { + baseline_surv_t <- baseline_surv$surv[time_idx] + + # Calculate survival probabilities for range of linear predictors + # S(t|x) = S0(t)^exp(β'x) + surv_probs <- baseline_surv_t^exp(lp_seq) + + # Store the survival probabilities + survival_data[[paste0("surv_", surv.at[i], "y")]] <- surv_probs + survival_data[[paste0("lp_", surv.at[i], "y")]] <- lp_seq + } + } + + return(survival_data) +} From 7dc4c18980576b5b3c3bd7ab92f99e27faa0e323 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 8 Aug 2025 09:28:38 +0000 Subject: [PATCH 6/8] Completely rewrite br_show_nomogram following medical nomogram conventions Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- R/04-show.R | 596 +++++++++++++++++++++++++------------- tests/testthat/Rplots.pdf | Bin 0 -> 138842 bytes 2 files changed, 389 insertions(+), 207 deletions(-) create mode 100644 tests/testthat/Rplots.pdf diff --git a/R/04-show.R b/R/04-show.R index 9d963e1..0db5ce3 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -542,6 +542,12 @@ br_show_table_gt <- function( #' individualized predictions and risk scores. For survival models, it includes #' survival probability predictions at specified time points. #' +#' The nomogram displays: +#' - A points scale (0-100) for scoring variable contributions +#' - Individual variable scales with their ranges and point contributions +#' - A total points scale for summing individual variable points +#' - Survival probability scales for clinical predictions at specified time points +#' #' @param breg A regression object with results (must pass `assert_breg_obj_with_results()`). #' @param idx Length-1 vector. Index or name (focal variable) of the model. #' Only one model is supported for nomogram visualization. @@ -636,268 +642,444 @@ br_show_nomogram <- function( model_results <- results |> dplyr::filter(.data$Focal_variable == focal_var) - # Create a simplified nomogram using ggplot2 - # This implements a basic nomogram structure with survival predictions + # Create a nomogram using ggplot2 following medical nomogram conventions .create_nomogram_plot(mod, model_results, model_data, funlabel, fun, fun.at, lp, points, total.points, surv.at, time.inc, ...) } -# Helper function to create nomogram plot +# Helper function to create nomogram plot following medical nomogram conventions .create_nomogram_plot <- function(model, results, data, funlabel, fun, fun.at, lp, points, total.points, surv.at, time.inc, ...) { - # Extract model coefficients + # Extract model coefficients (use log scale for Cox models) coefs <- stats::coef(model) - # Get variable information from results - var_info <- results |> - dplyr::filter(!.data$reference_row %in% TRUE, !is.na(.data$estimate)) |> - dplyr::select(.data$variable, .data$estimate, .data$var_type, .data$var_class, .data$label) |> - dplyr::distinct() + # Get variable information from results - handle all variables in the model + all_vars <- results |> + dplyr::select(.data$variable, .data$estimate, .data$var_type, .data$var_class, .data$label, .data$reference_row) |> + dplyr::distinct() |> + dplyr::arrange(.data$variable) + + if (nrow(all_vars) == 0) { + cli_abort("No variables found for nomogram creation") + } - if (nrow(var_info) == 0) { - cli_abort("No valid coefficients found for nomogram creation") + # Calculate nomogram structure like rms package + nomogram_scales <- .build_nomogram_scales(model, all_vars, data, coefs) + + if (length(nomogram_scales$variables) == 0) { + cli_abort("Unable to create nomogram scales from model results") + } + + # Calculate survival probabilities for Cox models + survival_scales <- NULL + if (insight::model_name(model) == "coxph" && !is.null(surv.at) && length(surv.at) > 0) { + baseline_surv <- tryCatch({ + survival::survfit(model) + }, error = function(e) { + cli_warn("Could not calculate baseline survival: {e$message}") + NULL + }) + + if (!is.null(baseline_surv)) { + survival_scales <- .build_survival_scales(model, baseline_surv, surv.at, time.inc, nomogram_scales) + } } - # Create nomogram data structure - nomogram_data <- list() + # Create the nomogram plot + .plot_nomogram(nomogram_scales, survival_scales, points, total.points, lp, funlabel, surv.at) +} + +# Build nomogram scales following rms conventions +.build_nomogram_scales <- function(model, all_vars, data, coefs) { + + # Initialize scales + variable_scales <- list() + max_points <- 100 + + # Get unique variables (excluding reference rows for factors) + unique_vars <- unique(all_vars$variable) - # Calculate ranges and scales for each variable - for (i in seq_len(nrow(var_info))) { - var_name <- var_info$variable[i] - var_type <- var_info$var_type[i] - var_class <- var_info$var_class[i] + # Process each variable + for (var_name in unique_vars) { + var_data <- all_vars[all_vars$variable == var_name, ] + + if (!var_name %in% names(data)) { + next + } - if (var_name %in% names(data)) { - if (var_type == "continuous") { - var_range <- range(data[[var_name]], na.rm = TRUE) - var_seq <- seq(var_range[1], var_range[2], length.out = 10) + var_type <- var_data$var_type[1] + var_class <- var_data$var_class[1] + + if (var_type == "continuous") { + # For continuous variables, create a range and calculate points + var_range <- range(data[[var_name]], na.rm = TRUE) + + # Get coefficient for this variable + if (var_name %in% names(coefs)) { + coef_val <- coefs[var_name] - # Calculate points contribution - coef_val <- var_info$estimate[i] - # Convert to log scale if estimates are exponentiated - if (coef_val > 0 && abs(log(coef_val)) > abs(coef_val)) { - coef_val <- log(coef_val) - } + # Create sequence of values across the range + var_seq <- seq(var_range[1], var_range[2], length.out = 11) - points_contrib <- coef_val * (var_seq - min(var_seq, na.rm = TRUE)) + # Calculate points for each value (relative to minimum) + points_contrib <- coef_val * (var_seq - var_range[1]) - nomogram_data[[var_name]] <- data.frame( + variable_scales[[var_name]] <- list( variable = var_name, - value = var_seq, + type = "continuous", + values = var_seq, points = points_contrib, - var_type = var_type, - stringsAsFactors = FALSE + range = var_range, + coefficient = coef_val ) - } else if (var_class == "factor") { - var_levels <- levels(as.factor(data[[var_name]])) - - # For factor variables, use the estimates from results - factor_results <- results |> - dplyr::filter(.data$variable == var_name, !is.na(.data$estimate), !.data$reference_row %in% TRUE) + } + + } else if (var_class == "factor") { + # For factor variables, use levels and their estimates + + # Get all levels including reference + factor_data <- var_data[!is.na(var_data$estimate) | var_data$reference_row, ] + + if (nrow(factor_data) > 0) { + # Include reference level (0 points) + ref_row <- factor_data[factor_data$reference_row %in% TRUE, ] + non_ref_rows <- factor_data[!factor_data$reference_row %in% TRUE & !is.na(factor_data$estimate), ] - if (nrow(factor_results) > 0) { - # Include reference level (0 points) and other levels - level_values <- c("Reference", factor_results$label) - points_values <- c(0, factor_results$estimate) - - # Convert to log scale if estimates are exponentiated - points_log <- ifelse(points_values > 0 & points_values != 1, log(points_values), points_values) - - nomogram_data[[var_name]] <- data.frame( - variable = var_name, - value = level_values, - points = points_log, - var_type = "categorical", - stringsAsFactors = FALSE - ) + if (nrow(ref_row) > 0) { + level_names <- c(ref_row$label[1], non_ref_rows$label) + point_values <- c(0, non_ref_rows$estimate) + } else { + level_names <- non_ref_rows$label + point_values <- non_ref_rows$estimate } + + variable_scales[[var_name]] <- list( + variable = var_name, + type = "factor", + values = level_names, + points = point_values, + levels = level_names + ) } } } - # Combine all variable data - if (length(nomogram_data) == 0) { - cli_abort("Unable to create nomogram data from model results") + # Normalize all points to 0-100 scale + all_points <- unlist(lapply(variable_scales, function(x) x$points)) + if (length(all_points) > 0) { + max_abs_point <- max(abs(all_points), na.rm = TRUE) + if (max_abs_point > 0) { + for (i in seq_along(variable_scales)) { + variable_scales[[i]]$points_norm <- (variable_scales[[i]]$points / max_abs_point) * max_points + } + } } - plot_data <- do.call(rbind, nomogram_data) + # Calculate total points range + total_range <- range(unlist(lapply(variable_scales, function(x) x$points_norm)), na.rm = TRUE) - # Normalize points to 0-100 scale - if (points) { - max_abs_points <- max(abs(plot_data$points), na.rm = TRUE) - if (max_abs_points > 0) { - plot_data$points_norm <- (plot_data$points / max_abs_points) * 100 - } else { - plot_data$points_norm <- plot_data$points - } - } else { - plot_data$points_norm <- plot_data$points - } + return(list( + variables = variable_scales, + total_range = total_range, + max_points = max_points + )) +} + +# Build survival probability scales +.build_survival_scales <- function(model, baseline_surv, surv.at, time.inc, nomogram_scales) { - # Calculate survival probabilities for Cox models - survival_data <- NULL - if (insight::model_name(model) == "coxph" && !is.null(surv.at) && length(surv.at) > 0) { - # Get baseline survival from the Cox model - baseline_surv <- tryCatch({ - survival::survfit(model) - }, error = function(e) { - cli_warn("Could not calculate baseline survival: {e$message}") - NULL - }) + # Convert survival times from years to model time units + surv_times <- surv.at * time.inc + + survival_scales <- list() + + for (i in seq_along(surv.at)) { + surv_time <- surv_times[i] - if (!is.null(baseline_surv)) { - # Calculate survival probabilities at specified time points - survival_data <- .calculate_survival_probabilities( - model, baseline_surv, surv.at, time.inc, plot_data + # Find closest time point in baseline survival + time_idx <- which.min(abs(baseline_surv$time - surv_time)) + if (length(time_idx) > 0 && time_idx <= length(baseline_surv$surv)) { + baseline_surv_t <- baseline_surv$surv[time_idx] + + # Calculate range of linear predictors + lp_range <- nomogram_scales$total_range / nomogram_scales$max_points * 2 # Scale back to approximate LP + lp_seq <- seq(lp_range[1], lp_range[2], length.out = 21) + + # Calculate survival probabilities: S(t|x) = S0(t)^exp(LP) + surv_probs <- baseline_surv_t^exp(lp_seq) + + # Map probabilities back to points scale + prob_at_points <- approx(lp_seq, surv_probs, + xout = seq(lp_range[1], lp_range[2], length.out = 11)) + + survival_scales[[paste0("surv_", surv.at[i])]] <- list( + time_years = surv.at[i], + probabilities = prob_at_points$y, + points_scale = seq(nomogram_scales$total_range[1], nomogram_scales$total_range[2], length.out = 11) ) } } - # Create the nomogram plot using ggplot2 - p <- ggplot2::ggplot(plot_data, ggplot2::aes(x = .data$points_norm, y = .data$variable)) + - ggplot2::geom_point(size = 2, color = "blue") + - ggplot2::geom_segment( - data = plot_data |> dplyr::group_by(.data$variable) |> - dplyr::summarise( - xmin = min(.data$points_norm, na.rm = TRUE), - xmax = max(.data$points_norm, na.rm = TRUE), - .groups = "drop" - ), - ggplot2::aes(x = .data$xmin, xend = .data$xmax, y = .data$variable, yend = .data$variable), - inherit.aes = FALSE, - color = "gray70" - ) + - ggplot2::scale_x_continuous(breaks = seq(0, 100, 20)) + - ggplot2::labs( - title = "Nomogram for Survival Model", - x = if (points) "Points (0-100)" else funlabel, - y = "Variables" - ) + + return(survival_scales) +} + +# Plot the nomogram using ggplot2 +.plot_nomogram <- function(nomogram_scales, survival_scales, points, total.points, lp, funlabel, surv.at) { + + # Prepare data for plotting + plot_data <- data.frame() + + # Add variable scales + for (i in seq_along(nomogram_scales$variables)) { + var_scale <- nomogram_scales$variables[[i]] + + # Create data frame for this variable + var_df <- data.frame( + variable = var_scale$variable, + axis_type = "variable", + x = var_scale$points_norm, + y = i, + label = if (var_scale$type == "continuous") { + round(var_scale$values, 1) + } else { + var_scale$values + }, + stringsAsFactors = FALSE + ) + + plot_data <- rbind(plot_data, var_df) + } + + n_vars <- length(nomogram_scales$variables) + + # Create the base plot + p <- ggplot2::ggplot(plot_data, ggplot2::aes(x = .data$x, y = .data$y)) + ggplot2::theme_minimal() + ggplot2::theme( - plot.title = ggplot2::element_text(hjust = 0.5, face = "bold"), + panel.grid.major = ggplot2::element_blank(), panel.grid.minor = ggplot2::element_blank(), - panel.grid.major.y = ggplot2::element_blank(), - axis.text.y = ggplot2::element_text(face = "bold"), - strip.background = ggplot2::element_blank() + axis.text.x = ggplot2::element_blank(), + axis.ticks.x = ggplot2::element_blank(), + axis.text.y = ggplot2::element_text(size = 10, hjust = 1), + plot.title = ggplot2::element_text(hjust = 0.5, size = 14, face = "bold"), + plot.margin = ggplot2::margin(20, 20, 20, 20) + ) + + ggplot2::labs( + title = "Nomogram for Survival Prediction", + x = NULL, + y = NULL ) - # Add variable labels as annotations - for (var in unique(plot_data$variable)) { - var_data <- plot_data[plot_data$variable == var, ] - if (var_data$var_type[1] == "continuous") { - # For continuous variables, show min and max values - min_val <- min(as.numeric(var_data$value), na.rm = TRUE) - max_val <- max(as.numeric(var_data$value), na.rm = TRUE) - p <- p + ggplot2::annotate("text", - x = min(var_data$points_norm), - y = var, - label = paste(round(min_val, 2)), - hjust = 1.1, vjust = -0.5, size = 3) - p <- p + ggplot2::annotate("text", - x = max(var_data$points_norm), - y = var, - label = paste(round(max_val, 2)), - hjust = -0.1, vjust = -0.5, size = 3) + # Add variable axis lines and labels + for (i in seq_along(nomogram_scales$variables)) { + var_scale <- nomogram_scales$variables[[i]] + y_pos <- i + + # Add axis line + p <- p + ggplot2::annotate("segment", + x = min(var_scale$points_norm), + xend = max(var_scale$points_norm), + y = y_pos, yend = y_pos, + linewidth = 0.8, color = "black") + + # Add variable name + p <- p + ggplot2::annotate("text", + x = min(nomogram_scales$total_range) - 5, + y = y_pos, + label = var_scale$variable, + hjust = 1, vjust = 0.5, + size = 3.5) + + # Add tick marks and labels + if (var_scale$type == "continuous") { + # For continuous, add ticks at regular intervals + tick_indices <- seq(1, length(var_scale$points_norm), by = 2) + for (j in tick_indices) { + x_pos <- var_scale$points_norm[j] + label_val <- round(var_scale$values[j], 1) + + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = y_pos - 0.1, yend = y_pos + 0.1, + linewidth = 0.5, color = "black") + + # Label + p <- p + ggplot2::annotate("text", + x = x_pos, y = y_pos + 0.3, + label = as.character(label_val), + hjust = 0.5, vjust = 0, + size = 2.5) + } } else { - # For categorical variables, show level names - for (i in seq_len(nrow(var_data))) { + # For factors, add ticks for each level + for (j in seq_along(var_scale$points_norm)) { + x_pos <- var_scale$points_norm[j] + label_val <- var_scale$values[j] + + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = y_pos - 0.1, yend = y_pos + 0.1, + linewidth = 0.5, color = "black") + + # Label p <- p + ggplot2::annotate("text", - x = var_data$points_norm[i], - y = var, - label = var_data$value[i], - hjust = 0.5, vjust = -0.5, size = 3) + x = x_pos, y = y_pos + 0.3, + label = as.character(label_val), + hjust = 0.5, vjust = 0, + size = 2.5) } } } - # Add total points information if requested - if (total.points) { - total_range <- range(plot_data$points_norm, na.rm = TRUE) + current_y <- n_vars + 1 + + # Add points scale if requested + if (points) { + points_y <- current_y + current_y <- current_y + 1 - # Add total points scale - total_points_y <- length(unique(plot_data$variable)) + 1 - p <- p + ggplot2::geom_segment( - ggplot2::aes(x = total_range[1], xend = total_range[2], - y = total_points_y, yend = total_points_y), - inherit.aes = FALSE, color = "black", size = 1 - ) + - ggplot2::annotate("text", x = mean(total_range), y = total_points_y + 0.3, - label = "Total Points", hjust = 0.5, size = 4, face = "bold") + # Points axis line + p <- p + ggplot2::annotate("segment", + x = nomogram_scales$total_range[1], + xend = nomogram_scales$total_range[2], + y = points_y, yend = points_y, + linewidth = 1, color = "black") + + # Points label + p <- p + ggplot2::annotate("text", + x = min(nomogram_scales$total_range) - 5, + y = points_y, + label = "Points", + hjust = 1, vjust = 0.5, + size = 3.5) - # Add survival probability scales if available - if (!is.null(survival_data) && length(survival_data) > 0) { - for (i in seq_along(surv.at)) { - surv_time <- surv.at[i] - surv_key <- paste0("surv_", surv_time, "y") + # Points tick marks and labels + point_ticks <- seq(0, nomogram_scales$max_points, by = 20) + for (pt in point_ticks) { + if (pt >= nomogram_scales$total_range[1] && pt <= nomogram_scales$total_range[2]) { + # Tick mark + p <- p + ggplot2::annotate("segment", + x = pt, xend = pt, + y = points_y - 0.1, yend = points_y + 0.1, + linewidth = 0.5, color = "black") - if (surv_key %in% names(survival_data)) { - surv_y <- total_points_y + 1 + i - - # Create survival probability scale - p <- p + ggplot2::geom_segment( - ggplot2::aes(x = total_range[1], xend = total_range[2], - y = surv_y, yend = surv_y), - inherit.aes = FALSE, color = "red", size = 1 - ) + - ggplot2::annotate("text", x = mean(total_range), y = surv_y + 0.3, - label = paste(surv_time, "-Year Survival Probability"), - hjust = 0.5, size = 4, face = "bold") - - # Add probability markers - prob_positions <- c(0.9, 0.7, 0.5, 0.3, 0.1) - for (prob in prob_positions) { - x_pos <- total_range[1] + (1 - prob) * diff(total_range) - p <- p + ggplot2::annotate("text", x = x_pos, y = surv_y - 0.2, - label = paste0(round(prob * 100, 0), "%"), - hjust = 0.5, size = 3) - } - } + # Label + p <- p + ggplot2::annotate("text", + x = pt, y = points_y + 0.3, + label = as.character(pt), + hjust = 0.5, vjust = 0, + size = 2.5) } - - # Expand y-axis to accommodate survival scales - max_y <- total_points_y + 1 + length(surv.at) - current_vars <- unique(plot_data$variable) - all_levels <- c(current_vars, rep("", max_y - length(current_vars))) - p <- p + ggplot2::ylim(c(all_levels, "")) } - - p <- p + ggplot2::labs( - caption = paste("Total Points Range:", round(total_range[1], 1), "to", round(total_range[2], 1)) - ) } - return(p) -} - -# Helper function to calculate survival probabilities -.calculate_survival_probabilities <- function(model, baseline_surv, surv.at, time.inc, plot_data) { - - # Convert survival times from years to the same units as model (typically days) - surv_times <- surv.at * time.inc - - # Calculate range of linear predictors from the plot data - lp_range <- range(plot_data$points, na.rm = TRUE) - lp_seq <- seq(lp_range[1], lp_range[2], length.out = 20) - - survival_data <- list() - - for (i in seq_along(surv.at)) { - surv_time <- surv_times[i] + # Add total points scale if requested + if (total.points) { + total_y <- current_y + current_y <- current_y + 1 - # Get baseline survival at this time point - time_idx <- which.min(abs(baseline_surv$time - surv_time)) - if (length(time_idx) > 0) { - baseline_surv_t <- baseline_surv$surv[time_idx] + # Total points axis line + p <- p + ggplot2::annotate("segment", + x = nomogram_scales$total_range[1], + xend = nomogram_scales$total_range[2], + y = total_y, yend = total_y, + linewidth = 1, color = "black") + + # Total points label + p <- p + ggplot2::annotate("text", + x = min(nomogram_scales$total_range) - 5, + y = total_y, + label = "Total Points", + hjust = 1, vjust = 0.5, + size = 3.5) + + # Total points ticks (same as points scale) + point_ticks <- seq(0, nomogram_scales$max_points, by = 20) + for (pt in point_ticks) { + if (pt >= nomogram_scales$total_range[1] && pt <= nomogram_scales$total_range[2]) { + # Tick mark + p <- p + ggplot2::annotate("segment", + x = pt, xend = pt, + y = total_y - 0.1, yend = total_y + 0.1, + linewidth = 0.5, color = "black") + + # Label + p <- p + ggplot2::annotate("text", + x = pt, y = total_y + 0.3, + label = as.character(pt), + hjust = 0.5, vjust = 0, + size = 2.5) + } + } + } + + # Add survival probability scales if available + if (!is.null(survival_scales) && length(survival_scales) > 0) { + for (i in seq_along(survival_scales)) { + surv_scale <- survival_scales[[i]] + surv_y <- current_y + current_y <- current_y + 1 - # Calculate survival probabilities for range of linear predictors - # S(t|x) = S0(t)^exp(β'x) - surv_probs <- baseline_surv_t^exp(lp_seq) + # Survival axis line + p <- p + ggplot2::annotate("segment", + x = nomogram_scales$total_range[1], + xend = nomogram_scales$total_range[2], + y = surv_y, yend = surv_y, + linewidth = 1, color = "red") - # Store the survival probabilities - survival_data[[paste0("surv_", surv.at[i], "y")]] <- surv_probs - survival_data[[paste0("lp_", surv.at[i], "y")]] <- lp_seq + # Survival label + p <- p + ggplot2::annotate("text", + x = min(nomogram_scales$total_range) - 5, + y = surv_y, + label = paste0(surv_scale$time_years, "-Year Survival"), + hjust = 1, vjust = 0.5, + size = 3.5) + + # Add probability tick marks + prob_values <- c(0.9, 0.7, 0.5, 0.3, 0.1) + for (prob in prob_values) { + # Find corresponding x position + prob_idx <- which.min(abs(surv_scale$probabilities - prob)) + if (length(prob_idx) > 0 && prob_idx <= length(surv_scale$points_scale)) { + x_pos <- surv_scale$points_scale[prob_idx] + + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = surv_y - 0.1, yend = surv_y + 0.1, + linewidth = 0.5, color = "red") + + # Label + p <- p + ggplot2::annotate("text", + x = x_pos, y = surv_y + 0.3, + label = paste0(round(prob * 100), "%"), + hjust = 0.5, vjust = 0, + size = 2.5, color = "red") + } + } } } - return(survival_data) + # Set y-axis limits and labels + y_labels <- c(sapply(nomogram_scales$variables, function(x) x$variable)) + if (points) y_labels <- c(y_labels, "Points") + if (total.points) y_labels <- c(y_labels, "Total Points") + if (!is.null(survival_scales)) { + surv_labels <- sapply(survival_scales, function(x) paste0(x$time_years, "-Year Survival")) + y_labels <- c(y_labels, surv_labels) + } + + p <- p + ggplot2::scale_y_continuous( + limits = c(0.5, current_y - 0.5), + breaks = seq_along(y_labels), + labels = y_labels + ) + + ggplot2::scale_x_continuous( + limits = c(min(nomogram_scales$total_range) - 20, max(nomogram_scales$total_range) + 10) + ) + + return(p) } + + diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf new file mode 100644 index 0000000000000000000000000000000000000000..24feab8b2c5fd7816d59aaa04a08782803375f21 GIT binary patch literal 138842 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

2h-Q@4U=GbscMS{VX4w-Qke;HaD#baCp-z3 zmvwr)V~WKNKTh?!rM&yTH`_iHu5HO5YJh#2=A*ViMN@0bWXSeXd3F)J$pJ%E>$ud{ znZ78xS5B!^!i#3tYo8ouuYecrr84VR$2bo8ad2eU*x6c>^0Fb}c&NN=+eNr>KjCA` zrI&Vm-qq-_FfxF_oNUL$N84YMSN}~#lmEmVQd7U~TLM2N3ERS;j6al_G98RPBE~YY zmXy_;0c{CSpv_Z^?b`fbLR7<~o826nt<{{YmWRSiO5vD1B zCVQJ8Np_8E^J(Q4N^qgTN!Db(~Okf&GQ@>RaU^ez6Z9dZ8L1u5blSTBu=%PGfeW~ zfE3dr{`*0e-Gi|9NWggYF5mE0*%?dS=f;n>E^M58jrf$`{s2Sf_+$o*B@n(HPu^78 z7cA1l)t98@1L1;|yGg9SOj*)o`EDd5WqO{~;S%t}{zwgkpXS6($9Z<& z6eZgfynrIiI!}y&B2F*?>vG|zIa(99Y*RK&O>?p<{B%X`g!&tx{tGxYySf#(6`Hps zj=BKT8Bk`OFlzh9c&k%n46>saJ$;sF@VP-fJ=W^f@M4>xfR&JG0I>uL1ji|VpY&U- zI&!oW045MtO7r5s0|#DAIiWNCO*j`LRWT?L>@CT5`jTWU>@TDuG&jj^UEu=X>xHs%tw<|Js^QEKdV-W#_16@%FV z`F$8UqWy+~SFDf_uq7=TdXN?!RLHdBbhyGzCYMN*3(ZIqy`CK+;Ffu8jKRUTNjpF% zIAjMIqJtKp-?D>iITc2p9N5D~Ooz!HFd9O)jjp-LtV^F`d=y zc%Kd~m1R1$-h0+Pra+kfZQ7MZXV|W2r?W!};F6J3s@DZC^VHpl$&GzK-(gC&r0Jib zb@k{&>l(opJw19R+iQsU*f9a#6>az1;C7i*=pAGOzp2(ZaPFuj0 z#7bUQMGSZtaDkRN`Ba*;FW`!fG^cVzH$^wRZAWh}PtVKW{!1UgBRe0yGqsvJeh|=> zi92UelQR1vi=bek*Zh|LQ`+Fr%yFrIH;Ct4jVTf~d^bpVQ^t4U1 zU!H@*+k^P6J#5O;iA6Y%BD(B$!VIEKF85?dj-bmuzpeyEquLq;hrBhAM`qa)b|g-Z zp-c6o3_D(zEZHGc>f(?C$GFXigZiKtAj-lD(q(`Yv! zIu^t659E1*^E>-T$D@76D`vD*$6Fn*eC6S<-1?{N{5={ZfjM*pML;2P1XLr7&=OHf zkY;4X(!nWYu-7l9qpocsUw5KCKe2&*B;cTwQVIygZkAt&khAo37MloWb0N@KoK~m_ zHwDWfuQPTJ%#Wi zgx_Hh3<53TlNB=qpfXk>dlce^Fi;CVw_OHG4BFMz3n!r(dk#Yl~&y}%9f_X z_X1>d&@W~`uJy+r`*SncpF3}Gc1Qju8)Sb5Du9=~@X>K31Fd-%Sm!-cPM!dBvM|J5Uy}j8Am`@1pJM-lwEXfvr*2BiaZ{yM29nJP_aV2%!__n+q&DH1TgAaCFbMyyi zXYKsPOy{JYYK}d2`FPv~z_;bnxxD^uKbT!R6kPGZY_s!8ZTItWm2fKI8>BPJ#Ty;+jkw$(=PDZYWIUxE~QmrcUt$`bI+?E1-0sf&u zj+5Bik@EmDv}2RlevbbI`M%Yr9so>FvHdbYGEhI~2Yh5V=&XR%a?5Z*d6v44Ls0d@BJ8~mOXEJ*|oS;kq zlhD@vAzaV%(;V`#Z{=KK#}Mrp8?+XPPmSLX`p}^3D_<1t%MokPPukd^t72%EOu`hN zXG3J*%d1X>G9r`KR&h`RXQ32kp-Oxf&fzR@4P^Q{v9q>L*Vo<8;es9~al(>ri4~?7 zJ|^1`wF~0SNlO4p!YlxJylq$8Q=|tT*aNKoX(aW3I^T$78*eMvBb7IodfL&h@;)KF^M50@}#{JMYEq z`~dJlfFecg0Ev7nAdz_edO04|{f@z=ad;J5ZZfN>l2!e{TCvgn741+CDPjjO#AiGpCJL8vv9m7lICMm^YcCMoxjS&^wF1{19GxH+YQCpIg(luSoPR>$y ztDdjbtGTaoVws5#!EX{hdz3jqKVk7ox4e23}!{hPftegM@@t0DV1CV45Z<2P6<%d0JbZG-Z+u4OKz-P|zVBS*h#cP;WG ztot0)9cEb4c< z?_#LDT1cko&q&v3oWC5Hzg)5T+pw0S*cSH;h~*LZzJ@O(^5SW+4TK&pZ&(QJ^@r~P z%#O>%x_>r;HX$%Qki-Jhcy$$c7XmPqpO!Ge{8>_kX=i?NjY9gpipY9SYbwyUE1x3e z8D!h$?&ps`dh7U2)@t&~xE-6<%y?1cvPUXY#mfydmVa-F!!;Lv4;#D#AZ_?NoI1mNZ#T#B!We6-j_eWN#da@C-V9Ay z@@Bu7$>Ch$=4d9xw!m_!04FL^0=RJ>ZGjV|UITj3790}b#4)r5X5Z27Yy(*y;Kbok z;XQIPe?dBuw;g5ypeo?UZuEJnPVDnK?2)?$hosS7$5ty-LSYKa(2k zF^C%LA~3d&HRe1`^)O@2GjJ8CA7N(la{?EcOlMrOANFO7E?GyXVe|ra8m65(K-=*h zZO3zYwjF0LTqK=ZXs&Mo=cYaOs-S%$+Q?fio{;tBxh&M^3<2{psvzow&&^y{LYbCICUKAal;8W$Y9wjkpOa ztYR(jAqN#!i^1El)eAF|l4P7dgw{$iT*CkN-v<-rRnRXpyA#3H@+&On7&D5+96bh{ zd;`?r{H!j*LJZ9C4ETdNdIqd!VaBt`?5TRP8*^+QpAM`5Pt||(Sq4G`n6jr)(*f)e zUy|J~Kg%GI@!A`hBkGcCEJqQuTe8Vn<2@WS-2_iFBx8v_OEUhkPW_$1`f{f_4(yko z6?Cb?0I&yn(;f^xHSxN~fQ-L6Pr@!CQQQIO0qkgg$O-^hF!?mmNhME~GTd6TF;X2+ zg2V-bQpk4qP$VTVrWDx0m{o@YKpxlv9aftJV=Ts*?83QWpJS*407P`9l>kp94I(`8 z8PJ)*3^6hBV$mEdDTWa(dA5qdWY5N#6H(JCj zysAqhf$)Qpl2JMiEgOd4<9-J*=>bduk0Rv@pmc;CIGi(w5dO{!WtM_YatMf&XETI< z&m~ue@ZTnXfKZIRqDuc5aijgMj#s|&@KoT03+D7kc^SDyvGtOz9t|&hj^Vw357=s^6z?Pv)4mb z-E6ap)R5~3B(gkh{r#@)Mz+G|hb((EqH@)Q!~BTE12cs(O0&&=Kstvd?Ov&0V!!LP z<6Zgs;H@8;lUipbhxB5^kD)3iSA^n6-}fL@)9_8_F4;kuV8V{+cKO|}!XeDmI!h}u zao=tE^&eR|gYEiod7<`^fkJ=~tMznU-7hqBa3LB}2$fepV z$jM?$v9CWi$QD54K2TQ)?Q~y`Q{Vw0^1J{;xzhbf+zA`$nND zaI{;JBVd}id=DC-sZuaiD{krlcA;wo*K;Vyr`Q^RQN#{N8{Z0~ zjUsj$(2m2!a+9JWF*}}UhYA}-?0~Kjq7bmUMiD#bkwwY{fa0t~%uZ!cs`~y9-nJZz zN_P7hB58qc#j4+ zS}wY461H82T|@PZ3}hvCK+XtoG!)=yg_xa_Xh&llz)`W?mv9?)9~CpQpGx2pO462F zKTaDVQOlUJ-w)uM@?Ndrk2hF1R{Ydc%^$Eg6$ER1ZMi)H{?lBTt6@GAUf>SisZWX+W)a7BZZmxCW z$ClYB)3cCissk@!a}Y2lC;YgMcV#JPjYXDO435aX2yV_Bv27? zT^JE*o?t{ky(lC130kB8Et=QjQaUmnSZis5{Reo#%)j>OahaQmciTE$xdze=Bj<$b zGA)8Tonc7k!jOD&Wml!(Sb{?5!p~yjsAas}9bK)fs?#$Q$1FRRxd(y| zl2kHty5)s*8?!`DFJluBEx6RB@nn|*ymU-2b1{4AT`{N?@u_2(j5Mc0mg z!@AFAbz(hg^WK735nY1e(-QSwjs=)VT(4hDW&KE_ZUJUt{F$jgaMUH%b2sV+>--yL zc!%}ey_%KA`qU~Jvh}>=QrGJN<HwyfjGucrI-pMxX>`$fage+HQ=SXKY9sTE%*m?qv(a|3RT06`Z zvnpT*^_x~*OpK0uq#w4OczLfsHzon_DK@p@c&OKsDre_ zcz!C%RnGpKe%5S{r>WLnIpf0tmguta5abqTys%Z_*#8n(;_6j_Yf(B;x)Nj>OMGFq zLYrMIdK81(Slw<{NGKEBlO25Rg>b~#oT&wJ3*R+>%gNM?{+7La8Cl{>`vlO5oNNX4 zqlVVX^kg4y8Zmf~D55Jih!x=+hRJ1y0C?QXpbR)OqJ&t)f0VtViUdRQEs=*u zAK{?r>7+z+dU3saLSG~@BB&YlTu#dI2 zN#!4aZQ(-(Dh?Ufbm}zAUir!`h8*JuEn5654}ayBh#kcIzcDb3RYFg_ahzzQttzS4 zI4s9@p5?o_c^+uiz#LQmrID9 zwh3Lpg)ZCPRsxp!SG4o+{eXsQpuq?z-7K`?rXBaT%&bo0SJxFJ-A+XDVr;2)G`~%^ zxq#pNzNNIHuKHZ3X?zhM>s=w=IUfK|=jXiQog1~+D;FL;3T#jn*x>IYN`kbB^R+}D z>zjT;AM0VW!Ik<~9e|Pss5)F}G_s^mRl|pMN9^-nng#ww)r%j@^}r`PNagS_IZbZf z!HeL;9qNg805bL`kWo450QJ=dIc3E|&AV%7-B&5dI%)5hx9jv6R=!x^dnF{rMMEjP zDO+6hb_yV4vH&u!5a<_uhk|>U1pVTvRe0Soq6y@e)KeP;fMX?iSfc+Nh+}aA9D2cr zbF(q{eXT(U@vH`rSduXw=sl4$Xd>(zrgq#et9dPO9I@1>gv-=zgJG z&lnBxQQu89mqvY^@Wu*eSsF4?^r$-A0VA<4U%+>qp5O-xDht|lcUc~_GXlDw-) z2}$17I#%F zo?NOeXAbVT>N@C-i|5J%#8#S_p2fn!ZQy>foADzC3oCBxtO~mQD6#cXd z!_ZCq9k_{?N@Z$I#yl={=dC~~SPhcL7;CHfD>>%Nv5W=PzD7!0;*AY(!y2@WdDem( zZri}O*~)n{#}Y-4>vq5mBHFK#-ial=p+pdv%Ci-gumd+~3Mcb#tVEY*J^;u9xdwP^ zO4K|$6d6PRFTf}_XmR%&eoICfh+cyuz{vp;;iQxCWIcCq$^dRS8QqurkcCl=quiwn zG(ZLDXcrf$%!0{s)k#KG!%zHorH{6Zxa&^TJ1WVG%3vj6uLm?x zCt1slRCcFi%F4&0ZX98?bI}K=3-JmS>W_T&E)@huQVpLJuWNle#(@J)Nei4-qy@ZK z&10D15vpwqJ;rL=EE)y!MGac}KcjrKc0Pc>QAdu{hjS-)D)_e zT+xLpCI2Utk81y<@X@*Ki^|7^Qv}M#U%ezKA9KH|d^DAyeDs(iP(D5wC_(u+^+HGG zqeuU*DIXVhf;JLbdF)YW!1%y?CfANt<>*?BJ{P+Jw2dz8!ZuvwfHAXnff`c(899I% z0OPrPNAn~u1|oMD2 z02fJec6@8l1lW=FkygbBkU@}NiV;3Sda1qOCHY$q*?88AQ+dHC>S4{OB@2I7uYF#! z2Q$)w!j_TL5seA!ku1rXmAxhMu%&11zj6ToTc`D}9OOINQEz_z4Qhh~^n=j`LLR9N zx zTYb`GT5QCP#tYQdKKAutqP7Ah)iWc|B#}6a0{>==eSqQVBoQT%u#kd5MHMksadl)3 z!myCmG+3TcE5$-1k(wlig%ofw8Wyrp7J)U43u?~P1@$*#$ODWYDx^TvwOoSNxrmHQ z*ff^C;=WwS%~$oU)wJZdH3ob5{S_Z-Myu?3{`_~WoAv$M;1-LambqJNZYBLlJfx}H zaugwVU-xxpR?)xf6wC~-sNeR#>l6%I@-}hpWmay)YEKd-Q7U_Q-Pd|0kFOT^boRe? z2z*{GKxcAA2!x1lhkw!Eebq8=6^NQi{M}0|RT!sgB1_&xT%Co(Qv!hwh`+QXCvzEx z2gEa5WO^a2DdSX4f~vN^+j#YB9?`(;@yn}7P2g}qoT~9P!TN18Oxjv|y)FtD$=#N> zjEow?0)VEH)(?>mzUUc_Z!+;f01#HPeQRl7Fcjo{?da+xXWO?!(McEx(z#O0 zc^Kcmr9kSR_N`uj|8a&zP|5!hOzs{+5XYhctdA_N?ezr$;hUVQ|IYIcx=0lt+{j8_;Z)E$d*tsg^ z+0zdGwR2X2{G!bK#fA$I;f_%rp_i!6F~B@Jdqdmog;4^DC$<@g*PfMz@Ds$SUT*hT zP)j_k3QOGw5wL_#mcI8vLE;;+vNcnji28K`;i7_X$>!G1ik+zZ4xO=`YVYg;<>j-^ z;J@3AI`|R)-Q<}l2o#U~NIa8!pmuFOC=r(nl!zE)apV+KBHjyX4<`KvqNb|pVmV(~ z4E5FTJB0c>ZNQAnMO&2LcLIv$qL+8*!>#|4Z*_+rvYS(6^+{vR_8KlF0A0cL)AmAgTA|tND5bsfa zf7vZtj&?s*KWKnj%KhEvq13TANF4`KXF@WU>j8IEm8C*}&j+Fo`W*jYbZ}1tsG2VB z;2wl)!WY(rzu21i)&LgovrFKiA0+0|dT=GyyAtX(5_7HG7mjwWf}JQTA|vg&fScf1 zEZ9j9v(tS&+Svnk4v5*ga}@{L9i*D4sZ^6h66pIB2U=q#XUPJ95{y)ntWk5c6AE^& z3M8KxG2puxv=a+?34^#y-S3+0Pc)*V!5K{}{=IDtzU&{3cJ67u8vOI@`0J55<3#)kHn4y`6J9bBY$+tHO-Iv z)QySc*yhjh#?Xmf-63LNy|x^eu5^Bjb^ecP-@^OY*ozpBZxTHgNJ*O=r+#3vK%zmQNO+@+W(Gf zuJNl7!o~rDFpgyPB5SnEfhdlEO~K{*lB}P?XyX9cb3DOim+}+FJ8TgD=IUgRxXP2$4L9bnr~VI&{-U=^(h9m!xxZJAs^$=zfg7bF5C0U(&_!l#b&FntpQ1KCG;LvZV z!|P!M7N(hJ3B0IT%$R(2rw-%J+Td^ah87r0gA1B3qy@q^Qcvl*6f;I~DVIF0#B!OJ zTtP6$AoUolc^J_B=D+V+9i?da{SF|{n} zw;mWqvFr0mtg*itxv`%AM*s5oa}RNxr@cGKHZnk&PE0@Q!tT3>y0Gj2PWkUv>cYO{ z3H2imjsic!nxveWVH639zpGjR6h7Nz^(%SqO_n%-927(LDo#UZxAANxi%qRS z)&(hNAh|`81&F>}LjWpyQb*~p;6<&;ByeM~A)0$$1nF^(sRsiUnS-5ztTQg?*qOA* z2S`RseWpi&^{K>vH%^@9N2_i`{V6>6u?M;@V})@N;)4lJfttwf{;L7!?h2b@b1msd z630sra!%xoOByC29lmxMO{wyY`ou=H{Hu+_YAO3(K%lz9=xoh7?<_N8uSD>#eC z-Wc|DuWG2@WtUgu%WnS%%#?*nZ`v0yD4Tz!eA_zOj_~LE7hpS157?SQ+Tkxn+i~jE z57>^(r?V_Pu{$Go_^Zvq?p(XBC#Q(r>Ao%~J$&~cFE7o<=G&i)RP(M46798j=4aj} z4|&PmjXk3>wf*ykji;|IbmyL4v9)GY!FIK>rDC<8duN!T$bnG|lJ>w++^77!tNh!)wRoRLlPhOBc`AA-b>vUuaH(A zlncXt!XRZt|JF^xuifhl194nFWOdQDbwOYT{^%b5 zyz4@ltguh}2Ee*<-TK0At?bsl7Z@9`{)ss-Gj zO>U_>{nf}HBd>qC3Rt=eu!z4XEE6|*dk;UBv1N9x0-fL;{AK)HVo z>^ziHE^PiLSdQ3yWmu{IUeDT9y9F09c9nNV&_!Cs-|CqQY!4Vb`D_k2k_ z+BdKd9xt+xe`naMUCEl&iSOE1puj#RX;s9YvSKPAJCfL40&f>s51E&-diJhxS*OE} z>fHUEDal#g6+T6291Pwm0*>@b|kiv-WwiGEURnQ(sF8PlQGK723h5~ zwt&~wr;YDB`$cLcShW>R+;&u5%ROmkN=;?(N7>OER!q|U@v5TP3F|Yt@855o_hRzq z^x!^6@6EZkq_t+XdiDux<-Yp%ldQuhRQQc4-12B^N$~6!zi#Q1vGJz~R&6_5vA9 ze&U(+NZ&Q=!LSiNX?G6gw>Y-A4HPv~GP+Q?d&}o?#geIk>9Kv>OXoyqwAR?~xw19+ z@xsLyfwyW8JbByei00^K`_Ct*9*o$uBcUv;{^uv0Uo#$f9UmF)bXN1%{O?vz+OIQs zNUM91Rr2|sFMcgv_%hQY@X^9B)eY}2Wj^6oG+6=umb}QIpvI>#@OGerRz7bbe;zcezZrt zg1T3)vo=>Z6)y}mR)nm*T~EQdz1DlepVF?KhS(nCx%~Qe1M$N%7>KAd^+o%0#0Fx) zGZ=`taZTsi4Mb<1NjLLfo9DaBS-U=(x_Z**OIa!&u8$mwbZ~%T-@CfSO|9{RiD9PK zvcdG;d!%=|L*=r$|e&NQc2e3R+LkH@BtG@IwwuXS2u=H~s<^U?=Si|&0< zL2Y2_qw#2;nJ~}i(4OWAO(q*YGtaZ*?}g(ZRqK@dSW|5L{jtBc^R&$OWt^@5HJ#35 zX9H~hC1`$-c=HXg`B~8XY_aC&Y=!14$+ccFaS&_15iCQiQm&R|t^CANG`}KgiTuQB z>Gjz9J<$3CrH>qNTFBy$g(TVQsy}R~h9ucyvpy^wWIs8ptZ%1f^ve*@K|3r1gBGcNK|y(XiO8VYn_Pgwxv`)&#pMCBG@18~%9_a+ zD;#~_w%R?}F8az)*#cW7e*eL?(!}#;CspGciR=}v?7K%d#ZO*au(ox_A2v*hLr%Ue zrIS)zj={KPPk$mKJ8Q!xPr;%!8V-xreqFy->*G7bIxq@5Fv(uaXvU9X9TVOyB|6nO#d~V} z>h$!4Lt|Omy1WnR9NU=3uuB!L*K5mi>AX9~$5!`}-2)S8R6kd1?RWAMwYHQcwAF4` z9|dn=`#nLh5Y1*)r%K%sU5JjKf}p9q^|dK?Ayv8X{i!le6`HD4)@o;BFVJ`A z!u8qQQu=tcRn^^;F2S36wqE*ReRC-1*TiRAcej?k%UG_cd-mLQIT??&)fM{HsfV*> zmyG;y@65Tx+#C7%xg=Bez^0k63wI3D*qo2Q01w+zz2iPv9}gWg+xgk9DeH={59*1~ zhv>1;hXTfynGtm2&Fm7ZS8gg=jCo&nro++&C70H z^RoFUz`0&&TYIgUs$dmU#tX6?t?oXkqUT+oca|@{UR=`>E|%C>R~^6xm3nhx>U=s8xqqKirRf4^;A< zuwA!Ey9PkJU}rl&v)m0URAUh7%3Wz_*TUC@wQujym2%Fi>RyVJ0=$Eq!c&?*xwz8> z5#M>c1Dfmi^3Og)_PFWxPSKt;FoR4)4RIfI#_qd zWAfMcjdK-b8pFAxR!`Vh95}9l{1x-Obi{k++R2d$>|e#32eNm=B7cIy^ zwFCoqJa)fZ8ywB8}xxiecz}$10-32`vd!q#QJg7a@h1A~q zOVnO}fxQ;!BsQ}L*3Icn**jDkz>}Snwzno0WjocAC*q^p)8_W?o*hh?ETNS>t zm%!X!6=u|+eVtf)JI9`5?Oh#_$=Z9lhE9U{aXJZ6H`!4OH+(_ug>Rk+l;9qD9DgyCfca2!W)@j^+Loy)WrBa+CVJ>DpFf;DsV)B<8=v+2t| z#l%eCo8}+rphdl>gJx(E{rT>u>d@fLrg;+`fMhs0FX1dsdm$^ZSaEH4!pmj@pbt?O z*iugKPxqk>H+yfCSX}8i6j+C$CS4cdUPu7yHv(j^jMaP??URsn!SC|MihbrVUkEnZAO9~?z#%*r{wpwL zEM+JiF@SCWOBmqzukcQ{8#z!@#PGL{`yCn1SE@zmCPTFoSzFFeqK6FQtjtv8WM(JHd)LPNY7J0#(F*A^%dLSj!yn3BfG+MqsMu9~ z3HSW3S=I}?sL#Pa-YmNXEO8W&NI{`6h7BW2L^e!VBA9_cpw&oQ%{2WPSWPGx(qh6A zkrorshZKCUF04bu#%_pW5E~=#BRCxRC4-@hy2Cm|9R4ZBY1Ef3FCthS3^G`q&`Q?w zGHQ?^!vu&TXcw`JthlAD6Eo&)>(9RWo-`Wf=pXJ_hjxVj4-BRb>%$Xf>F2d>U7<{Q`rX=^DoG z2m%U-lpp6ZeKWhMM3&ob`WWq!U=6`c!%rl^l9$!!K4ZYYndX^@=OSAOKhKbLB!reV z0RCB|DY*OPRhACmpI}VpBMDjd@asr8DN_H>0k2ytcsjY6?%8RU1xb9zoe5=i4ZNn; zrk~H9Q;1AT8_Dn9xYl{{#}WWuTkQO_PrXrD29(fi+D6BF3Tub^q`4i9*z~Km%?nk7 zlqa5B5Gxk1>7)GX`Y~2rBUCr#U0;HjaEX3k*kS*LF~<(xi61oZm5=HJpM4i6gq{u1 zSuGpsVXdt06z6q3JAJjsw~M9>?whW;^S+n4Ub4%Q=cVblx~7JCPl3zVyiCha?%cMZ zyX?e2E~s~Q^|_{)chY+DCe>%pM^~)(>yt6!V_K-UXQ_|c>X17{Q=cf=xW;<}YP{@m zdY;w~FD6X5Vo0csqWf9dCs{}Q)qQzR!*9AidT@w9LWFOC8kKz~PifjSH1n*wH-Ubp zpFQn+o2AF>cv||N51f<&OLBdC`al6{tXzlaijc`-)uN{hvo9(fXz{VX=0q#a?)uxN zo(ZOj^+jE84YR2luw|a#^(N$=>b)ixJ&oo3(0XOt_|5roJqc&fmY)_6s4S$Bf7V)uVuIatYHV(>7CPkJR@wSa%>7kRC<|ZRKC$#k9uv5-QjbAhJW(uZt zp8uvD(y#Zd)UxOY=q};{bo&V*n0uFEV-G;Lk8IeK{dFzC|h=j!%Z385b3nXymD!Q0sXNC7-5^cKn}(IwK>Uv?l&U}C^Wr}$e_el_w~OxLr@bXd>!3B6mbKTX)2A3a>K z!=?JdmN7a!M{BJo5X=vU=$5ItFn7}a{Or*{NR?b4*^j-5-z9Kc#-GPssk)>#rAxYx zeL)Fq{gbV@E0uRmzGxPc7~52~z7!g@2O4#Vd_Iw#g&nCo=oItA;7KVT1iP~0r-iUQ zv*!Y@=e#rTaLaG||9=0a&*$Ezci#7$=REH@ zGjqQ4eHd<;S|#D}$(Xw;iAiV_8-*FJZi+Apv$0VS(I^~&4tfK|?7liSiXCVa)-VbZ zbdeCp9feh8xSobXS+w-~)?&KSPJAY;luGN_7CSr`J=~I4C((c5a$S*u<+n~3^0)LJ z{*5JR13^RC9h&6QOfm~49k3q#8-3|6d1*%2P)^6vUI1cxJ%jOAo^8INX2;YH>+v&c z572LCcpvpH91XkNfLfd9057@3CGZmMleGYDhzbnl;@D91;3eHs&sW1@A1vnXI2cL- z`o5jBd#~B zodT;c`Sxvb>HE;XF?SVuzDR^6g7eADS+EM(FIVQ_u+X`HlKhst&_z07W=#WncYFk< zVm5r`a*@IAA`_O#&xkS-?nqocZR2Z2vr0<_|aFK{}Xi?bG-K`AclV~kb0~21! zcc*UuMjZ`F?bK55ShgClj$}fJUgzA!fSE4;xzOy*V^Pkd@4M#%CV^wp_saAdftNk{ z-F3BrI_J^rG8x2d9{rwX8z4NX;eI^Y6Mf%4DQm9*axaP!CP6bu(5PM;2qmnbIA|8_ z-H1PXX#@NUWwfvQ(s}I@x^_v;7rsTDR(vl-kl*b_JF4{az$NdYPp;_)^07xNpI8XN zZ=S}akR)GVZI~63m{KUxy6gKoEDE*g-@kzXD(dL8Mc%KD@-AHRL>d zASnv)B0I!z_&J8iT#+)-;Djh`qJrlrVF5QjK5l%|@f@8B!gF+gGM=L^NAUR8-^Ama z{G1bj%NIOHPe0>1dRmR=$n-NFfN8xrc$rv+q#QXBu$mL?eX$#6c16mTbFj-;h7$}) z?+PavlH+_%FqwI8uwcsWb{Vh!8t;y7UH$i0oM4>HE3jO(WH@bZ=G?l}Iox25af9*W zWaF~bdOU!{r=~v+PKkB}8ewX8=KDKdrAn|io@V1&efmJXs7CC4osq$z+EW0FvAI%f z#JLdz=1)VuebEzeT6k~e6Q{mL_1QH@=P^~p(=K%dQH*HW&KXjsE4gtHz`qi3It@;R z6A9)xrtUaxL;J7?`(tmEXQbe%uU(3#K6V7{>y#!zaI5LyU`>)szEQp-3!pzXHSU%J zU7S{!0vknPd`8DU!S-V2gTcnXkD$Gn!(Q0&U&W)?gU`wBKk$iD1%w=1D#wr27o{#D z*hAQRPT|Mq)W3madYv;E+70fs)H!}^JW`e~B>M05`M2{7tWp9E53$Ps z2D6$doC#T_41!Ha7#qhbam2ylG65n$3oUVTiOW-PbLr9tH8h)nLXM{$kAGzl>YURi z;ye?=%AY~lxS9I{R7?(cP3DlsanEwO&aeFM8&??1#rYxL_kc)1kx+%l;PQ?ij2Mx? zm-+^UD;W|;&~jX0wgy{;YeUXX#uncxiRD2+4zceJ*$Z`nCVQd6DeQ%M>IG>6D-+A< z;5tqYCURVVb#4EjG^73|MgY@a*)tNpuZdIAMDlG5c!K}XC1&5Agd63Ek7Eumx0zp+ zaTck)X-VvtwSPYvV1e&3kr%BUljxs~U;7`vm~lLj z|6B*8^5^qGhvfRs@J-q;zO$75Prh?M`tA*h#1r|{@a~A6pI8N|Ci^rtliqu#Yl2$_ zo-FtL1g>$65bHm<*U^3)v3cAuk&B7q?;ws`UPjIcU@}?u$*i-z{ey8IhvRcPhBC95 zck4&nnC?!@mhb7zLyaZi#+CP~`K=k%e#2&tWrNd1W_Z2E8Ra!lA9pD9S4niW9suX9e8zeK_FP1GWzm+3qHY%h5((e|e*rb#0H`C3h~PV%UwMg1$awkN74 z&3)I}FQ;o+5dMskp;T0~PkXt3MF`t50`|8O2xSsZDA`sVLW|J^*o$oox-CBaJ1#!} zQBpmb0@~4l>Iil5nA`}=YNuwBs5$vVH$%4&x4Y0@R{0!QTo;nIj#mj0r%Ru76Hbrn zVWdrR#oZiWXqmt#K^|LjBJjNm*WQ2-+d_hnB*yplCqQ^jOc=Aldcg)$!EG?$gP+6} zAsftQ3#$c3jTi>>a0!P!R60Y5@j#a2Utu_`be1r3;-bAZT>ilIE=0q6A{HPg&h!>* zoP&vISl#otV6!Mi0AMY}^%FpP{hw%{e|Y$<1dL=~nu*jv44GUL(?Rj@Yil?y;MiA> zVgL?%+}?)lv~8gD>Em`9%DrFEcCc8S|7fQ!`b(BeBcxC~$+uYapT>2pODHUN^D z3Qp537*7nn+4m76K@*vfSlT8qA%Q4e6N^H(@vkN%b{i)!AyL{UFd?zDwft&A0{r!G znZSgEIa?a>s|ktS^$AQ!ENK&%kXX_tFd@-WQJ%nrM3Z>}6B4bJ;R#GgENK&%kXX_t zFd?y|O<+Po(l8S;uyrVBn8?uK=*K8}dkbV)`8b2}7z<KN;kbr}+6m~3MH-$CXm|zVrw(xkOr6a600m_@mN7{KWkEX(e9+|G znc~C)xCM-5VQK{O8fAcfDc~9$%0lM*x8YYpx}p$I!Q{#2q9m8i1%+epPe@ zcg2ZpLu#A|fWqbDS6u((?Xco%b^t8fHGaj>o6(Bvy4M~WmVi5GXzEyaBb_o4KxC6A zdxEoHFv8@JP8kY1m$eK2csMjmu?V#jy=L+_RD!V6?3QU=)6~2pn-Y z*$PXYu4w?iT=^$u^Y#*sx60~k&E8=48`!%!hgi|llLaHipA1+~ebdE0Ln17n&;&q7 z#63vMC!?sXcwN+1vmqKp9t@)3FN4_kJ2D6>z#!xZ$m~}KOA7Si1>Rp+>A2JTug`C> zHfmo9v~6k!?tWt4Ti$(i%M7x_iN=CRi?oD}YkZORCT$DuBF5*w;`d%0nR41m;8f~^ zANdn!1kX+lCBz5XIwFX}terHVaNcPu)#0&JWDqXGrAAg8@G93PBqBSKVB)oDwQ{#r?;cB>XT-rdPYywT{IVRU4aCz@94wC?WH6|q&*`GQZ0M~_v zQQ7h!rBB0-{bq|8qqny;5|WdrdTV6MxE7AGd8yZQb>v%$%z~vtgnmS3;Vv#~5Qdj| z6IBQ}PJatVBshw1U67l4eJX(GQV}umaTz1WhFijB{bfEMN2`|$7{}g;h(@s58^AIp z8gbs~9Ko#fk^u(Yh^OPjomGqoLoDxlHan7{X0q0B!Bph@J%i`4SJ`TFRyum@2``~t* z4;~+x)DvxpNLLnL9v*=MPP)wWanhB%04H50$8ok}5{O5TumO)?ZQ2=zJ#P{!Z8LG; zJl(ohHV`9m(&oueIY~$~*~7hf1^41*obZd@3F7!rSOCYHYj|;dD)0n04HrpJa_=6KkxvgeDDAgJ@EkMtKtC|D{}(yELzA3;L#u$rx;&- zbR2%WH^x`%`Eau9)PbkZsf3fhsMLKpL#tnNoUsSXkLe9OfJ8k!04ZJk1{yErlFGAO zQVGAx2LsfPw722`ygLks@(rH& z+VeCZ4_2(r5Q-y?(jRGq>x-pIbC3*tq1P8c;TtAG6fp@aL4?F-#_9p2W@P^f)s4sT z$-b%^am~@aP)>%4kk7T=%{{ORC*S;gaWreB&dD0TCl0wW5po*svahB_~&FpXvM#a+wp4@EzyU`#~88HTo8GQJ;Mj5#O&y0hM!9aZa{PXz} z)JTuRKK_?~VjLq^j1Yua`TO6fSf8M|aX0#Zq~uxynU(Qk$*npbb0L4NzX!sI(|qoo`PE$Q>&J@uGmlhqhwl(f2U(qGf3Y}aV{DZ^C;lNBB16lS!|Ir}~VnUKPT*MfuCCgg>h zZE1Q-1L^gs?3!=hu9q*^K4l57InPe|lsX)}yIt+t+3UAebGWt&4`o6bEVlM z=h~OZO<7wVu7Zhh{VNKiWEILA6IgDTGWa1}1=B$=);Me6M<+*ySgGJfi|4QxnCgaYf`88M#F;s>TTMcvqj6IOYhJM{dWpx87I zyE;-i-Z3h@KJ?x=4X+?BIRT~A7_ZZm&&cmSVWQ!(XOUcPQV8DlFmI^c%vm27m~en& zim2N-;P`;yHb@o6NS@NNonyptVXD3bBQ4gwaON{&ln~UQWB3NDuN9n9&3+xlX&A*v zh2+4x=c=|L^-CZqOxf!J8FInGr(Q{c?`e_pEg(a_V#|=})__KGpO(Y$K!$t(G9(_9 z0?@*=>jRwy5ph~}?=My0H{#Px@Ug7LIy*VsksB@IjtieACoy~2CE?sIB;rKPTb|Y= zh%3Jmh_oKwA>YgvQ~j3d%ZG$?KT6o!YBJ?PVY)Cv)8mR9<7#`S=Az(vtZ^kZpi>RklsKb>yP0-Yu-*v9dLk0LV#llev zmsv0#yil==tJmdTVPk}XDo7Alf_ignk=+n2CO6iVSA{3Jef$nHBnmP`zsH>+LSQ}S z9&Upa#=;Cye8-(3yA)v_noWck7{x?mWfL*m0QMZ+K^V>)CA z=#boDn4mdT2XhMQv2&9ijLoTsXihyh(Qukw7U`zEpBwGIYKWFjgJ_E&TK+_Cv!Q z8eGzbmPZYD@O6r4dE{WV*`kNrxMPg)Eoonv+G5E_Go-?#9vPd|z$6u%;E4w>H0<*~ z^5BEVpk#hG%S6KhszP(6j&TQn{1^NUWBU z0I#&^@RJRwZ<)&G<7%}F;rpGOLw$=^q~|-ngn}` zzND?#TMrf+`?b;nVM=eQADspKMKF~5D*Rm>ihasBRnb(Um(X4w|9)*aNu?7l%cX!JQPxGXSsNgp&1LG4d_l z=#8-Up8=K~QA{rl^G0!0?wrXS7~IKXB8WN)5Y+%tPL`~EmL$AO8VzY+_>UK6lD|~r zyMIu+EuVb}yJ)O-I|tlTi(M+V%v+dZx`AKKr+73Bpy_!>|9~cFPiYa%4NMvJT72mH zMW3A6@Fha7qo9dK=4@H}{M41)#VWEI7$jn_BC7==n-cj^a>l@Ae$6@y25oY_M87gt zo}YQajf$$V>)^!#mDCemV7*ESVi%#B`pjPV5~Ia&adM!4Qw!JhJW_{ISZy|iy&|F= zS4;yf60$0Ifz@(`#R#Pi8n8MV81K$d8OlGVd}T3}StA;wN$TPn%pP&(P!H9Alt!ec zF=$;4tidzXw5)}JqjU|mY|A2pK4#$=nsqbd9Gt7ebTiSQTIg9MQ)!+m-t=Os+HwW| zz)zMRS0zX+SE$oiLLD7VnVa^CxA>w^Y*R9G9&6rcu7)COUM4e=X~G)nFX%3aVSYUG zu}!>1yqDEF(no9QZz-thKXax`occ(d+BbMbgE?@9N>iq0tSGCldDzx3;w|3er?FVU zsi$l>YxvAZ@tmCJ^ig|nOP2b`Z#~Ih2B|(|OO0ew2+f4f%pm@FPF4OI^0CWcjznxz zO7+MHb?w{Pa~4_@_j(viKRJsjQo>uS!*-4juKB&J8JaH;GFp0etOE&kqxW{W*(LPEQc1FGYap5eIl$L z>S&nwP!5yc!1!XxWSr4p3_gP&7UM0okj1pAs$>O>2*NoOmea8>mM`x#u)0!vtkl0< zVGLVRYgsMgOpT@Wg+(M6TMvpm$=aC@9+40J&L>ZhA)vq2)Cj~qKCUDJahJ6{$%8=D zbFlRwm=cuXc_V@<_J3Jf>@RZyQH$*9LLtZ#i25X32Ww5TH^Ec}o>P=jK>wK&)Yb9! z72q(teLmtYce2fH5`|z&+_gmqx+8g0%=w5qWN1oFji@6>kVR)35r{hS1X)GwAv8qP z_NHvzO|hns;4IWK^zKA<-|cE`gB>Ay7;V)ga8DoW8XZDin-aHaX=z$}kZcJ`s8Mq~ zHuNui?3ux#<+vzVoy0lkW*Aug3uh$iSV}*oV$f&L$)QM zm^exGzIOex*Ph+A^FzzBl(Tl7pMC0Lx#J|laou8g zE^fNqs>UO?waz_Udg}Nj!-rkJiEgQKbDbx4d7EvbXhWt?Pf2ux_;8?OOjcRFeNRAj z2G7~ips6o+?3;09X6(LsO>KE6BEsygrcIjJ%QMA^r_uHCW6k+Aoyn1t{ojW>Mb4#( zWMv2te$dxcYJ|VwVZ~fb-@jCrXV=y6w(qoBGf|P(DjQ9%Nv0aSzWP)_zf@*>>C*kj zQbdn<_hip%B}3Feg+ACR82JpP2} z3bWlI5f|o$HI9M>=VR`+FOd^b`W-4PBATR5OcYHp zmwBf){qo5VG@2skp9>K;blQ*wA@td2K zY~!(cXD4kTh|D{Za&y7OV~JKP|KRn!DWnjj!#5ki|&VX#@e-; zwy&Zr%;1@&m3q_g(3}xr-)YNaX2iWX@Ic6E>SHSdmFcI0MP9t_l~WOyK9>6YlIs-z z+24Wup8ZUHYw$S=pVKPGVU+QR{^IkqfNFw3voI8^pHhnm|o0BnjdZ*_i*2z z>#G-aotl;B{@|dK>{C9!*?x2UrfxVL5VWkB;`&s@(oAjViM6lxHXd+Y>1yISH%&Bi z&ZpTu;evVny+wT_nvTC<;B<}CF%qlhhR;X}*412NEfssdTt`JOP0xGt@;QSicD{1G zbtElh-!`=^Y6goWvn366?UpO8KDu1OS)zO8^`-Sovj`Vn>(~mqtL@+MNz-LTj6}oA z9K)My_O1DCRqs6GwN>1c&_UF~)eX-tK+;scy&9Qi`douBr;eoq* zZd3Mjgj76{+gq!nx<^&Z=dpX(_o-jD&RdsvqFJlS@YE{$D*IJ7dxGy9kank6c~i1mo)$cDXA zdkywxcdmG+^lt6_}`-t)TGP`SzBszb2j=ik4+ zRY~Zh2socETJ-JOdDYOiy6RxX5`|?7CWpRNE-JrPT~YnL@=eA4iuJb#_e3Xk$6mjm zr9}@Ox+Ac+K!5Aa$69T7N^L^;axa`K{lj)ZHjbj`$?%lS7|aODkoV2^HS|61+wD6% zFk@sLV>x5-NY==1-u1i^yi<7-c~fWgg{;e+munuv2uY3zk2n~vw7^qzqnxq4fJ~{f zi(;6Y2DU3aKC|eyL~cV)l#f%QJO;+?hIZ$eDcIrT$PrLCC?mhjt&TwCPVs zjFhT*nm_cx?7LY*dP3XbvH%x*mx9!fHeQuCeiuIoznHm(85DFos4%v~y5j9~*|!g? z`*_3h`D~o+u6t>2@KH@XyuNjyy7tBXum10Uh=|1LMd^hV-S)}vr}Zyvi%9QGcQ@-Y zzw0tHbxUfNi;fLv%lZAxy;_8+G1(4KyrA1UvS9ex>}d--^P_~{vf{K+$@ z3#{iF&VHM7B*W_UvCC7Fmu4+3TH3QEa?7?`zPE*M&%G6W+p@sB;9`NUP2xe5e2Y_+ zC+5ELEU;<0-4fj#FEX;OF5Ok_g?g+?)5y{mZJ#jdb=CW>Wz%SL@+7ZGZk_Y?r0hwl zlRc`j*LX_@DvsPu(Th)W`X>Et?u}{WY2@=gZ-{LM%hOj}TDfuiVf{}x)FPX27@hmR z=lT3S{5Rr9;;Zjw@8sA27&Ekbb6H$C~gK_E=9gyF7$En<5Q3C6kWU0 zZKfp2H%F1ARU7u`S)M{|S=EtOTOL`+MYUYseW8Da^7>)j8}2t`$X4mK-}Q@Deh=u+ zu{e6*h51|4o2Cz*T2bz{y&2hCe*bQQuSr+3^ns1p`Q(zLDZwcYj?`68q}LJs)1~dq z4bBr`f3Y}{1c^|3B>@hTJPGNSm$C6BT^rrB(Lefr9VD_=8rS(_N9 zhCR@Gq<28ntk#^gD*_r4QvYRIC^4AK*{Nn5~(ODQle|Z9nbGp zFJBZjcvCCu^PLjN@u^pqOb%Thx`Y}{>mJPA9O`%G!RaRf_B3LMXE9w~*uiR+tVfMwlcE-z-x8}y|Y>m05e#x`5qvLa>O_rW- z&$W{qJraqT%Z4)MZ#h{-m2Gk@fo7k9Omc#I{rq zm$JJ39wGs$pKnxTouWq#iv=n$9-4O&HmY}ST;FT;B4~q6-NTg{B-TJ+X1l}>>%8F7 zE&a%Vrl32mAmZaf^eU9m$>KVgn!9O$iE$ zL}v#VPY;5s64A|*Od&au>?nM)3JOG9GR2AH;o(3a+PhmHh7Y;cHlFCSu8o7cji>-a4I literal 0 HcmV?d00001 From 0be42379ffb435ce1cd4259eff4306b56a73d369 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 8 Aug 2025 09:29:47 +0000 Subject: [PATCH 7/8] Complete nomogram implementation with proper medical conventions and testing Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- nomogram_example.png | Bin 0 -> 34946 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nomogram_example.png diff --git a/nomogram_example.png b/nomogram_example.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c8787426aa354d8b473ffeaca3e8a99212ffb4 GIT binary patch literal 34946 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 Date: Sat, 9 Aug 2025 06:10:15 +0000 Subject: [PATCH 8/8] Fix nomogram display issues: eliminate duplicate labels and overlapping text Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com> --- R/04-show.R | 341 +++++++++++++++++++------------------- fixed_nomogram_age.png | Bin 0 -> 42425 bytes fixed_nomogram_custom.png | Bin 0 -> 42164 bytes fixed_nomogram_ecog.png | Bin 0 -> 41619 bytes nomogram_test.png | Bin 0 -> 42425 bytes nomogram_test2.png | Bin 0 -> 41619 bytes tests/testthat/Rplots.pdf | Bin 138842 -> 138842 bytes 7 files changed, 173 insertions(+), 168 deletions(-) create mode 100644 fixed_nomogram_age.png create mode 100644 fixed_nomogram_custom.png create mode 100644 fixed_nomogram_ecog.png create mode 100644 nomogram_test.png create mode 100644 nomogram_test2.png diff --git a/R/04-show.R b/R/04-show.R index 66469c7..32a366b 100644 --- a/R/04-show.R +++ b/R/04-show.R @@ -796,22 +796,46 @@ br_show_nomogram <- function( if (length(time_idx) > 0 && time_idx <= length(baseline_surv$surv)) { baseline_surv_t <- baseline_surv$surv[time_idx] - # Calculate range of linear predictors - lp_range <- nomogram_scales$total_range / nomogram_scales$max_points * 2 # Scale back to approximate LP - lp_seq <- seq(lp_range[1], lp_range[2], length.out = 21) + # Create a proper range of linear predictors for this model + # Use the actual range of point contributions, scaled appropriately + total_points_range <- nomogram_scales$total_range - # Calculate survival probabilities: S(t|x) = S0(t)^exp(LP) - surv_probs <- baseline_surv_t^exp(lp_seq) + # Convert points back to linear predictor scale + # Assuming the points are normalized to 0-100, we need to scale back + max_abs_coef <- max(abs(unlist(lapply(nomogram_scales$variables, function(x) { + if (!is.null(x$coefficient)) x$coefficient else max(abs(x$points), na.rm = TRUE) + })), na.rm = TRUE)) - # Map probabilities back to points scale - prob_at_points <- approx(lp_seq, surv_probs, - xout = seq(lp_range[1], lp_range[2], length.out = 11)) + if (max_abs_coef > 0) { + # Scale points back to approximate linear predictor values + lp_scale_factor <- max_abs_coef / nomogram_scales$max_points + lp_min <- total_points_range[1] * lp_scale_factor + lp_max <- total_points_range[2] * lp_scale_factor + } else { + # Fallback if we can't determine scale + lp_min <- -2 + lp_max <- 2 + } - survival_scales[[paste0("surv_", surv.at[i])]] <- list( - time_years = surv.at[i], - probabilities = prob_at_points$y, - points_scale = seq(nomogram_scales$total_range[1], nomogram_scales$total_range[2], length.out = 11) - ) + # Create sequence of linear predictor values + lp_seq <- seq(lp_min, lp_max, length.out = 20) + + # Calculate survival probabilities: S(t|x) = S0(t)^exp(β'x) + # Ensure baseline survival is valid (between 0 and 1) + if (baseline_surv_t > 0 && baseline_surv_t <= 1) { + # Calculate survival probabilities + surv_probs <- pmax(0.01, pmin(0.99, baseline_surv_t^exp(lp_seq))) + + # Map back to points scale for positioning + points_seq <- lp_seq / lp_scale_factor + + survival_scales[[paste0("surv_", surv.at[i])]] <- list( + time_years = surv.at[i], + probabilities = surv_probs, + points_scale = points_seq, + baseline_surv = baseline_surv_t + ) + } } } @@ -821,41 +845,20 @@ br_show_nomogram <- function( # Plot the nomogram using ggplot2 .plot_nomogram <- function(nomogram_scales, survival_scales, points, total.points, lp, funlabel, surv.at) { - # Prepare data for plotting - plot_data <- data.frame() - - # Add variable scales - for (i in seq_along(nomogram_scales$variables)) { - var_scale <- nomogram_scales$variables[[i]] - - # Create data frame for this variable - var_df <- data.frame( - variable = var_scale$variable, - axis_type = "variable", - x = var_scale$points_norm, - y = i, - label = if (var_scale$type == "continuous") { - round(var_scale$values, 1) - } else { - var_scale$values - }, - stringsAsFactors = FALSE - ) - - plot_data <- rbind(plot_data, var_df) - } - + # Calculate layout parameters n_vars <- length(nomogram_scales$variables) + current_y <- 1 + + # Determine the x-axis range for consistent alignment + x_min <- min(nomogram_scales$total_range) - 25 + x_max <- max(nomogram_scales$total_range) + 10 + axis_start <- nomogram_scales$total_range[1] + axis_end <- nomogram_scales$total_range[2] - # Create the base plot - p <- ggplot2::ggplot(plot_data, ggplot2::aes(x = .data$x, y = .data$y)) + - ggplot2::theme_minimal() + + # Create base plot with no default data + p <- ggplot2::ggplot() + + ggplot2::theme_void() + ggplot2::theme( - panel.grid.major = ggplot2::element_blank(), - panel.grid.minor = ggplot2::element_blank(), - axis.text.x = ggplot2::element_blank(), - axis.ticks.x = ggplot2::element_blank(), - axis.text.y = ggplot2::element_text(size = 10, hjust = 1), plot.title = ggplot2::element_text(hjust = 0.5, size = 14, face = "bold"), plot.margin = ggplot2::margin(20, 20, 20, 20) ) + @@ -865,215 +868,217 @@ br_show_nomogram <- function( y = NULL ) - # Add variable axis lines and labels + # Track all y positions and labels for proper axis setup + y_positions <- c() + y_labels_list <- c() + + # Add variable scales for (i in seq_along(nomogram_scales$variables)) { var_scale <- nomogram_scales$variables[[i]] - y_pos <- i + y_pos <- current_y + y_positions <- c(y_positions, y_pos) + y_labels_list <- c(y_labels_list, var_scale$variable) - # Add axis line + # Add axis line for this variable (use full axis length for consistency) p <- p + ggplot2::annotate("segment", - x = min(var_scale$points_norm), - xend = max(var_scale$points_norm), + x = axis_start, xend = axis_end, y = y_pos, yend = y_pos, linewidth = 0.8, color = "black") - # Add variable name - p <- p + ggplot2::annotate("text", - x = min(nomogram_scales$total_range) - 5, - y = y_pos, - label = var_scale$variable, - hjust = 1, vjust = 0.5, - size = 3.5) - - # Add tick marks and labels + # Add tick marks and labels for this variable if (var_scale$type == "continuous") { - # For continuous, add ticks at regular intervals + # For continuous variables, show selected tick marks tick_indices <- seq(1, length(var_scale$points_norm), by = 2) for (j in tick_indices) { x_pos <- var_scale$points_norm[j] label_val <- round(var_scale$values[j], 1) - # Tick mark - p <- p + ggplot2::annotate("segment", - x = x_pos, xend = x_pos, - y = y_pos - 0.1, yend = y_pos + 0.1, - linewidth = 0.5, color = "black") - - # Label - p <- p + ggplot2::annotate("text", - x = x_pos, y = y_pos + 0.3, - label = as.character(label_val), - hjust = 0.5, vjust = 0, - size = 2.5) + # Only add ticks within the axis range + if (x_pos >= axis_start && x_pos <= axis_end) { + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = y_pos - 0.1, yend = y_pos + 0.1, + linewidth = 0.5, color = "black") + + # Label above the tick + p <- p + ggplot2::annotate("text", + x = x_pos, y = y_pos + 0.25, + label = as.character(label_val), + hjust = 0.5, vjust = 0, + size = 2.8) + } } } else { - # For factors, add ticks for each level + # For factors, show all levels for (j in seq_along(var_scale$points_norm)) { x_pos <- var_scale$points_norm[j] label_val <- var_scale$values[j] - # Tick mark - p <- p + ggplot2::annotate("segment", - x = x_pos, xend = x_pos, - y = y_pos - 0.1, yend = y_pos + 0.1, - linewidth = 0.5, color = "black") - - # Label - p <- p + ggplot2::annotate("text", - x = x_pos, y = y_pos + 0.3, - label = as.character(label_val), - hjust = 0.5, vjust = 0, - size = 2.5) + # Only add ticks within the axis range + if (x_pos >= axis_start && x_pos <= axis_end) { + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = y_pos - 0.1, yend = y_pos + 0.1, + linewidth = 0.5, color = "black") + + # Label above the tick + p <- p + ggplot2::annotate("text", + x = x_pos, y = y_pos + 0.25, + label = as.character(label_val), + hjust = 0.5, vjust = 0, + size = 2.8) + } } } + + current_y <- current_y + 1 } - current_y <- n_vars + 1 - # Add points scale if requested if (points) { - points_y <- current_y - current_y <- current_y + 1 + y_pos <- current_y + y_positions <- c(y_positions, y_pos) + y_labels_list <- c(y_labels_list, "Points") # Points axis line p <- p + ggplot2::annotate("segment", - x = nomogram_scales$total_range[1], - xend = nomogram_scales$total_range[2], - y = points_y, yend = points_y, + x = axis_start, xend = axis_end, + y = y_pos, yend = y_pos, linewidth = 1, color = "black") - # Points label - p <- p + ggplot2::annotate("text", - x = min(nomogram_scales$total_range) - 5, - y = points_y, - label = "Points", - hjust = 1, vjust = 0.5, - size = 3.5) - # Points tick marks and labels point_ticks <- seq(0, nomogram_scales$max_points, by = 20) for (pt in point_ticks) { - if (pt >= nomogram_scales$total_range[1] && pt <= nomogram_scales$total_range[2]) { + if (pt >= axis_start && pt <= axis_end) { # Tick mark p <- p + ggplot2::annotate("segment", x = pt, xend = pt, - y = points_y - 0.1, yend = points_y + 0.1, + y = y_pos - 0.1, yend = y_pos + 0.1, linewidth = 0.5, color = "black") # Label p <- p + ggplot2::annotate("text", - x = pt, y = points_y + 0.3, + x = pt, y = y_pos + 0.25, label = as.character(pt), hjust = 0.5, vjust = 0, - size = 2.5) + size = 2.8) } } + + current_y <- current_y + 1 } # Add total points scale if requested if (total.points) { - total_y <- current_y - current_y <- current_y + 1 + y_pos <- current_y + y_positions <- c(y_positions, y_pos) + y_labels_list <- c(y_labels_list, "Total Points") # Total points axis line p <- p + ggplot2::annotate("segment", - x = nomogram_scales$total_range[1], - xend = nomogram_scales$total_range[2], - y = total_y, yend = total_y, + x = axis_start, xend = axis_end, + y = y_pos, yend = y_pos, linewidth = 1, color = "black") - # Total points label - p <- p + ggplot2::annotate("text", - x = min(nomogram_scales$total_range) - 5, - y = total_y, - label = "Total Points", - hjust = 1, vjust = 0.5, - size = 3.5) - - # Total points ticks (same as points scale) + # Total points ticks point_ticks <- seq(0, nomogram_scales$max_points, by = 20) for (pt in point_ticks) { - if (pt >= nomogram_scales$total_range[1] && pt <= nomogram_scales$total_range[2]) { + if (pt >= axis_start && pt <= axis_end) { # Tick mark p <- p + ggplot2::annotate("segment", x = pt, xend = pt, - y = total_y - 0.1, yend = total_y + 0.1, + y = y_pos - 0.1, yend = y_pos + 0.1, linewidth = 0.5, color = "black") # Label p <- p + ggplot2::annotate("text", - x = pt, y = total_y + 0.3, + x = pt, y = y_pos + 0.25, label = as.character(pt), hjust = 0.5, vjust = 0, - size = 2.5) + size = 2.8) } } + + current_y <- current_y + 1 } # Add survival probability scales if available if (!is.null(survival_scales) && length(survival_scales) > 0) { for (i in seq_along(survival_scales)) { surv_scale <- survival_scales[[i]] - surv_y <- current_y - current_y <- current_y + 1 + y_pos <- current_y + y_positions <- c(y_positions, y_pos) + y_labels_list <- c(y_labels_list, paste0(surv_scale$time_years, "-Year Survival")) # Survival axis line p <- p + ggplot2::annotate("segment", - x = nomogram_scales$total_range[1], - xend = nomogram_scales$total_range[2], - y = surv_y, yend = surv_y, + x = axis_start, xend = axis_end, + y = y_pos, yend = y_pos, linewidth = 1, color = "red") - # Survival label - p <- p + ggplot2::annotate("text", - x = min(nomogram_scales$total_range) - 5, - y = surv_y, - label = paste0(surv_scale$time_years, "-Year Survival"), - hjust = 1, vjust = 0.5, - size = 3.5) - - # Add probability tick marks + # Add probability tick marks - spread them out to avoid overlapping prob_values <- c(0.9, 0.7, 0.5, 0.3, 0.1) - for (prob in prob_values) { - # Find corresponding x position - prob_idx <- which.min(abs(surv_scale$probabilities - prob)) - if (length(prob_idx) > 0 && prob_idx <= length(surv_scale$points_scale)) { - x_pos <- surv_scale$points_scale[prob_idx] - - # Tick mark - p <- p + ggplot2::annotate("segment", - x = x_pos, xend = x_pos, - y = surv_y - 0.1, yend = surv_y + 0.1, - linewidth = 0.5, color = "red") + + # Calculate well-spaced positions for probability labels + prob_positions <- seq(axis_start, axis_end, length.out = length(prob_values)) + + for (j in seq_along(prob_values)) { + prob <- prob_values[j] + x_pos <- prob_positions[j] + + # Find the closest probability value from the scale for this position + # This ensures the labels correspond roughly to the actual survival function + if (length(surv_scale$probabilities) > 0) { + actual_prob_idx <- round(j * length(surv_scale$probabilities) / length(prob_values)) + actual_prob_idx <- max(1, min(actual_prob_idx, length(surv_scale$probabilities))) + display_prob <- surv_scale$probabilities[actual_prob_idx] - # Label - p <- p + ggplot2::annotate("text", - x = x_pos, y = surv_y + 0.3, - label = paste0(round(prob * 100), "%"), - hjust = 0.5, vjust = 0, - size = 2.5, color = "red") + # Only show if it's a reasonable probability (between 0.05 and 0.95) + if (!is.na(display_prob) && display_prob >= 0.05 && display_prob <= 0.95) { + # Tick mark + p <- p + ggplot2::annotate("segment", + x = x_pos, xend = x_pos, + y = y_pos - 0.1, yend = y_pos + 0.1, + linewidth = 0.5, color = "red") + + # Label with proper spacing + p <- p + ggplot2::annotate("text", + x = x_pos, y = y_pos + 0.25, + label = paste0(round(display_prob * 100), "%"), + hjust = 0.5, vjust = 0, + size = 2.8, color = "red") + } } } + + current_y <- current_y + 1 } } - # Set y-axis limits and labels - y_labels <- c(sapply(nomogram_scales$variables, function(x) x$variable)) - if (points) y_labels <- c(y_labels, "Points") - if (total.points) y_labels <- c(y_labels, "Total Points") - if (!is.null(survival_scales)) { - surv_labels <- sapply(survival_scales, function(x) paste0(x$time_years, "-Year Survival")) - y_labels <- c(y_labels, surv_labels) + # Add y-axis labels on the left side (avoiding duplication) + for (i in seq_along(y_positions)) { + p <- p + ggplot2::annotate("text", + x = x_min, + y = y_positions[i], + label = y_labels_list[i], + hjust = 1, vjust = 0.5, + size = 3.5, fontface = "plain") } - p <- p + ggplot2::scale_y_continuous( - limits = c(0.5, current_y - 0.5), - breaks = seq_along(y_labels), - labels = y_labels - ) + - ggplot2::scale_x_continuous( - limits = c(min(nomogram_scales$total_range) - 20, max(nomogram_scales$total_range) + 10) - ) + # Set axis limits properly (no y-axis labels to avoid duplication) + p <- p + + ggplot2::scale_y_continuous( + limits = c(0.5, current_y - 0.5), + breaks = NULL, + labels = NULL + ) + + ggplot2::scale_x_continuous( + limits = c(x_min, x_max), + breaks = NULL, + labels = NULL + ) return(p) } diff --git a/fixed_nomogram_age.png b/fixed_nomogram_age.png new file mode 100644 index 0000000000000000000000000000000000000000..a21f8388cf61e1ae118b3a1f1c659508c3046740 GIT binary patch literal 42425 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 literal 0 HcmV?d00001 diff --git a/fixed_nomogram_ecog.png b/fixed_nomogram_ecog.png new file mode 100644 index 0000000000000000000000000000000000000000..0a72ec51b355b321b62c899a1c647e0eb7ba2efe GIT binary patch literal 41619 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 literal 0 HcmV?d00001 diff --git a/nomogram_test.png b/nomogram_test.png new file mode 100644 index 0000000000000000000000000000000000000000..a21f8388cf61e1ae118b3a1f1c659508c3046740 GIT binary patch literal 42425 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 literal 0 HcmV?d00001 diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf index 24feab8b2c5fd7816d59aaa04a08782803375f21..20a25d713339ee2e06432e3be02fdce81e1a5f12 100644 GIT binary patch delta 37 mcmcb$hvU{BjtLg*mIh`9mWGxS?L}eC#^}~)#;wsz|78K|S_{Vj delta 37 mcmcb$hvU{BjtLg*76z6^7KX+X?L}eC#^}~)#;wsz|78K|3k$&j