diff --git a/R/ae_forestly.R b/R/ae_forestly.R index 1e81721..1e7d919 100644 --- a/R/ae_forestly.R +++ b/R/ae_forestly.R @@ -147,6 +147,7 @@ ae_forestly <- function(outdata, hidden_item = paste0("'", outdata$hidden_column, "'", collapse = ", "), soc_toggle = display_soc_toggle, width = width, + searchable = FALSE, details = function(index) { t_row <- outdata$tbl$name[index] t_param <- outdata$tbl$parameter[index] diff --git a/R/format_ae_forestly.R b/R/format_ae_forestly.R index 0c52332..80ad44c 100644 --- a/R/format_ae_forestly.R +++ b/R/format_ae_forestly.R @@ -32,6 +32,10 @@ #' @param width_prop Width in px for "(%)" columns. #' @param width_diff Width in px for risk difference columns. #' @param footer_space Space in px for footer to display legend. +#' @param prop_range A vector of lower and upper limit of x-axis +#' for proportion figure. +#' @param diff_range A vector of lower and upper limit of x-axis +#' for risk difference figure. #' @param color A vector of colors for analysis groups. #' Default value supports up to 4 groups. #' @param diff_label x-axis label for risk difference. @@ -60,6 +64,8 @@ format_ae_forestly <- function( width_prop = 60, width_diff = 80, footer_space = 90, + prop_range = NULL, + diff_range = NULL, color = NULL, diff_label = "Treatment <- Favor -> Placebo", show_ae_parameter = FALSE) { @@ -128,7 +134,15 @@ format_ae_forestly <- function( y[-outdata$reference_group] <- 1:n_group1 # Calculate the range of the forest plot - fig_prop_range <- round(range(tbl_prop, na.rm = TRUE) + c(-2, 2)) + if (is.null(prop_range)) { + fig_prop_range <- round(range(tbl_prop, na.rm = TRUE) + c(-2, 2)) + } else { + if (prop_range[1] > range(tbl_prop, na.rm = TRUE)[1] | + prop_range[2] < range(tbl_prop, na.rm = TRUE)[2]) { + warning("There are data points outside the specified range for proportion.") + } + fig_prop_range <- prop_range + } fig_prop_color <- color[1:n_group] # Function to create proportion of subjects figure @@ -166,7 +180,15 @@ format_ae_forestly <- function( # Function to create proportion difference figure tbl_diff <- data.frame(outdata$diff, outdata$ci_lower, outdata$ci_upper) - fig_diff_range <- round(range(tbl_diff, na.rm = TRUE) + c(-2, 2)) + if (is.null(diff_range)) { + fig_diff_range <- round(range(tbl_diff, na.rm = TRUE) + c(-2, 2)) + } else { + if (diff_range[1] > range(tbl_diff, na.rm = TRUE)[1] | + diff_range[2] < range(tbl_diff, na.rm = TRUE)[2]) { + warning("There are data points outside the specified range for difference.") + } + fig_diff_range <- diff_range + } fig_diff_color <- fig_prop_color[index_diff] iter <- 1:ncol(outdata$diff) - 1 @@ -287,6 +309,8 @@ format_ae_forestly <- function( header = "AE Proportion (%)", width = ifelse("fig_prop" %in% display, width_fig, 0), align = "center", + sortable = FALSE, + filterable = FALSE, cell = reactable::JS(js_prop_fig_cell), footer = reactable::JS(js_prop_fig_footer), html = TRUE, @@ -300,6 +324,8 @@ format_ae_forestly <- function( defaultSortOrder = "desc", width = ifelse("fig_diff" %in% display, width_fig, 0), align = "center", + sortable = FALSE, + filterable = FALSE, cell = reactable::JS(js_diff_fig_cell), footer = reactable::JS(js_diff_fig_footer), html = TRUE, diff --git a/man/format_ae_forestly.Rd b/man/format_ae_forestly.Rd index 455c0ec..9ccbc20 100644 --- a/man/format_ae_forestly.Rd +++ b/man/format_ae_forestly.Rd @@ -14,6 +14,8 @@ format_ae_forestly( width_prop = 60, width_diff = 80, footer_space = 90, + prop_range = NULL, + diff_range = NULL, color = NULL, diff_label = "Treatment <- Favor -> Placebo", show_ae_parameter = FALSE @@ -45,6 +47,12 @@ risk difference.} \item{footer_space}{Space in px for footer to display legend.} +\item{prop_range}{A vector of lower and upper limit of x-axis +for proportion figure.} + +\item{diff_range}{A vector of lower and upper limit of x-axis +for risk difference figure.} + \item{color}{A vector of colors for analysis groups. Default value supports up to 4 groups.}