Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions R/ae_forestly.R
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
30 changes: 28 additions & 2 deletions R/format_ae_forestly.R
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand All @@ -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,
Expand Down
8 changes: 8 additions & 0 deletions man/format_ae_forestly.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.