library(dplyr)
library(ggplot2)
# Example 1
plotdata <- get_sample_data("forest-plot-table.csv")
plotdata <- plotdata %>%
mutate(midlabel = format(round(mid,2), nsmall = 2),
lowerlabel = format(round(lower,2), nsmall = 2),
upperlabel = format(round(upper,2), nsmall = 2),
LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]"))
param <- "BZD AUC"
plotdata <- filter(plotdata,paramname==param)
plotdata$covname <- reorder(plotdata$covname,plotdata$upper,FUN =max)
plotdata$label <- reorder(plotdata$label,plotdata$scen)
covs <- c("WEIGHT","AGE")
plotdata <- filter(plotdata,covname%in%covs)
forest_plot(plotdata,
ref_legend_text = "Reference (vertical line)",
area_legend_text = "Reference (vertical line)",
xlabel = paste("Fold Change in", param, "Relative to Reference"),
logxscale = TRUE, major_x_ticks =c(0.1,1,1.5),
show_ref_area = FALSE,
paramname_color =TRUE,
interval_col =c("steelblue","red","steelblue","red"),
facet_formula = "covname~.",
facet_scales = "free_y",
facet_space = "free_y",
show_table_facet_strip = "none",
table_position = "right",
plot_title = "",
plot_table_ratio = 4)
# Example 2
plotdata <- get_sample_data("forest-plot-table.csv")
plotdata <- plotdata %>%
mutate(midlabel = format(round(mid,2), nsmall = 2),
lowerlabel = format(round(lower,2), nsmall = 2),
upperlabel = format(round(upper,2), nsmall = 2),
LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]"))
param <- c("BZD AUC","BZD Cmax")
plotdata <- filter(plotdata,paramname%in%param)
plotdata <- filter(plotdata,covname%in%"WEIGHT")
plotdata$covname <- reorder(plotdata$covname,plotdata$upper,FUN =max)
plotdata$label <- reorder(plotdata$label,plotdata$scen)
forest_plot(plotdata,
ref_legend_text = "Reference (vertical line)",
area_legend_text = "Reference (vertical line)",
xlabel = paste("Fold Change of Parameter", "Relative to Reference"),
show_ref_area = FALSE,
facet_formula = "covname~paramname",
facet_scales = "free_y",
facet_space = "free_y",
x_facet_text_size = 10,
y_facet_text_size = 10,
y_label_text_size = 10,
y_label_text_width = 15,
x_label_text_size = 10,
facet_switch = "both",
show_table_facet_strip = "both",
show_table_yaxis_tick_label = TRUE,
table_position = "below",
plot_title = "",
plot_table_ratio = 1)
if (FALSE) {
# Example 3a
plotdata <- get_sample_data("forest-plot-table.csv")
plotdata <- plotdata %>%
mutate(midlabel = format(round(mid,2), nsmall = 2),
lowerlabel = format(round(lower,2), nsmall = 2),
upperlabel = format(round(upper,2), nsmall = 2),
LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]"))
plotdata$covname <- reorder(plotdata$covname,plotdata$upper,FUN =max)
plotdata$label <- reorder(plotdata$label,plotdata$scen)
plotdata$compound <- c(rep("1-OH",30),rep("BZD",30))
plotdata$paramname <- c(rep("AUC",15),rep("CMAX",15),rep("AUC",15),rep("CMAX",15))
forest_plot(plotdata,
ref_area = c(0.8, 1.2),
x_facet_text_size = 13,
y_facet_text_size = 13,
ref_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
area_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
xlabel = "Fold Change Relative to Parameter",
facet_formula = covname~compound,
facet_switch = "both",
facet_scales = "free",
facet_space = "fixed",
paramname_shape = TRUE,
legend_shape_reverse = TRUE,
interval_shape = c("square","triangle"),
paramname_color = FALSE,
combine_interval_shape_legend = FALSE,
table_position = "right", plot_title = "",
ref_area_col = rgb( col2rgb("gray50")[1], col2rgb("gray50")[2],col2rgb("gray50")[3],
max = 255, alpha = 0.1*255 ) ,
interval_col = c("steelblue"),
strip_col = "lightblue",
plot_table_ratio = 1.5)
# Example 3b
plotdata$paramname <- c(rep("1-OH",30),rep("BZD",30))
plotdata$paramname2 <- c(rep("AUC",15),rep("CMAX",15),rep("AUC",15),rep("CMAX",15))
forest_plot(plotdata,
show_ref_area = TRUE,
x_facet_text_size = 13,
y_facet_text_size = 13,
ref_legend_text = "Reference (vertical line)",
area_legend_text = "Reference (vertical line)",
xlabel = "Fold Change Relative to Parameter",
facet_formula = covname~paramname2,
facet_switch = "both",
facet_scales = "free",
facet_space = "free",
legend_order = c("shape","pointinterval","ref"),
paramname_shape = TRUE,
interval_shape = c("diamond","diamond filled",
"diamond","diamond filled"),
paramname_color = TRUE,
combine_interval_shape_legend = TRUE,
legend_shape_reverse = TRUE,
legend_color_reverse = TRUE,
interval_legend_title="Median (points)\n95% CI (horizontal lines)",
table_position = "right", plot_title = "",
ref_area_col = "gray85" ,
interval_col = c("#ee3124", "#fdbb2f"),
strip_col = "#475c6b",
y_facet_text_col = "white",x_facet_text_col = "white",
major_x_labels = c("1/2", "0.8","1", "1.25", "2"),
logxscale = TRUE, major_x_ticks =c(0.5,0.8,1,1.25,2),
table_text_size = 5,
plot_table_ratio = 1.5,
ref_value_by_panel = TRUE,
ref_value_by_panel_data = as.data.frame(
plotdata %>%
distinct(paramname2,covname) %>%
dplyr::mutate(xintercept=ifelse(paramname2=="CMAX",1,1.2))))
# Example 3
plotdata <- get_sample_data("forestplotdatacpidata.csv")
forest_plot(plotdata,
ref_area = c(0.8, 1.2),
x_facet_text_size = 12,
y_facet_text_size = 12,
y_label_text_size = 10,
x_label_text_size = 10,
table_text_size = 6,
plot_table_ratio = 1.5,
ref_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
area_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
xlabel = "Fold Change Relative to RHZE",
facet_formula = "covname~paramname",
table_position = "below",
show_table_facet_strip = "both",
show_table_yaxis_tick_label = TRUE)
# Example 4
plotdata <- get_sample_data("dataforest.csv")
plotdata <- plotdata %>%
dplyr::mutate(midlabel = format(round(mid,2), nsmall = 2),
lowerlabel = format(round(lower,2), nsmall = 2),
upperlabel = format(round(upper,2), nsmall = 2),
LABEL = paste0(midlabel, " [", lowerlabel, "-", upperlabel, "]"))
plotdata <- plotdata %>%
filter(covname%in%c("Weight"))
plotdata$label <- as.factor(as.character(plotdata$label))
plotdata$label <- factor(plotdata$label, c("36.2 kg","66 kg","110 kg"))
forest_plot(plotdata,
ref_area = c(0.8, 1.2),
x_facet_text_size = 13,
y_facet_text_size = 13,
ref_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
area_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
xlabel = "Fold Change Relative to Parameter",
facet_formula = "covname~paramname",
facet_switch = "both",
facet_scales = "free",
facet_space = "fixed",
table_position = "below",
plot_table_ratio = 1,
show_table_facet_strip = "both",
show_table_yaxis_tick_label = TRUE)
# Example 5
forest_plot(plotdata,
ref_area = c(0.8, 1.2),
x_facet_text_size = 13,
y_facet_text_size = 13,
ref_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
area_legend_text = "Reference (vertical line)\n+/- 20% limits (colored area)",
xlabel = "Fold Change Relative to Parameter",
facet_formula = "covname~.",
facet_switch = "both",
facet_scales = "free",
facet_space = "fixed",
paramname_shape = TRUE,
table_position = "none",
ref_area_col = rgb( col2rgb("gray50")[1], col2rgb("gray50")[2],col2rgb("gray50")[3],
max = 255, alpha = 0.1*255 ) ,
interval_col = "steelblue",
strip_col = "lightblue",
plot_table_ratio = 1)
}
Run the code above in your browser using DataLab