coveffectsplot (version 0.0.4)

forest_plot: Forest plot

Description

Produce forest plots to visualize covariate effects

Usage

forest_plot(data, facet_formula = "covname~paramname", xlabel = "",
  ylabel = "", x_facet_text_size = 13, y_facet_text_size = 13,
  x_label_text_size = 16, y_label_text_size = 16,
  table_text_size = 7, ref_legend_text = "", area_legend_text = "",
  interval_legend_text = "", legend_order = c("pointinterval", "ref",
  "area", "shape"), combine_area_ref_legend = TRUE,
  show_ref_area = TRUE, ref_area = c(0.8, 1.25), ref_value = 1,
  ref_area_col = "#BEBEBE50", interval_col = "blue",
  strip_col = "#E5E5E5", paramname_shape = FALSE,
  legend_shape_reverse = FALSE, facet_switch = c("both", "y", "x",
  "none"), facet_scales = c("fixed", "free_y", "free_x", "free"),
  facet_space = c("fixed", "free_x", "free_y", "free"),
  strip_placement = c("inside", "outside"), major_x_ticks = NULL,
  minor_x_ticks = NULL, x_range = NULL, logxscale = FALSE,
  show_table_facet_strip = "none", table_facet_switch = c("both", "y",
  "x", "none"), show_table_yaxis_tick_label = FALSE,
  table_position = c("right", "below", "none"), plot_table_ratio = 4,
  vertical_dodge_height = 0.8, legend_space_x_mult = 1,
  return_list = FALSE)

Arguments

data

Data to use.

facet_formula

Facet formula.

xlabel

X axis title.

ylabel

Y axis title.

x_facet_text_size

Facet text size X.

y_facet_text_size

Facet text size Y.

x_label_text_size

X axis labels size.

y_label_text_size

Y axis labels size.

table_text_size

Table text size.

ref_legend_text

Reference legend text.

area_legend_text

Area legend text.

interval_legend_text

Pointinterval Legend text.

legend_order

Legend order. A four-element vector with the following items ordered in your desired order: "pointinterval", "ref", "area", "shape". if an item is absent the legend will be omitted.

combine_area_ref_legend

Combine reference and area legends if they share the same text?

show_ref_area

Show reference window?

ref_area

Reference area. Two-element numeric vector.

ref_value

X intercept of reference line.

ref_area_col

Reference area background color.

interval_col

Point range color.

strip_col

Strip background color.

paramname_shape

Map symbol to parameter(s)?

legend_shape_reverse

TRUE or FALSE.

facet_switch

Facet switch to near axis. Possible values: "both", "y", "x", "none".

facet_scales

Facet scales. Possible values: "free_y", "fixed", "free_x", "free".

facet_space

Facet spaces. Possible values: "fixed", "free_x", "free_y", "free".

strip_placement

Strip placement. Possible values: "inside", "outside".

major_x_ticks

X axis major ticks. Numeric vector.

minor_x_ticks

X axis minor ticks. Numeric vector.

x_range

Range of X values. Two-element numeric vector.

logxscale

X axis log scale. Logical.

show_table_facet_strip

Possible values: "none", "both", "y", "x".

table_facet_switch

Table facet switch to near axis. Possible values: "both", "y", "x", "none".

show_table_yaxis_tick_label

Show table y axis ticks and labels?

table_position

Table position. Possible values: "right", "below", "none".

plot_table_ratio

Plot-to-table ratio. Suggested value between 1-5.

vertical_dodge_height

Amount of vertical dodging to apply on segments and table text.

legend_space_x_mult

Multiplier to adjust the spacing between legend items.

return_list

What to return if True a list of the main and table plots is returned instead of the gtable/plot.

Examples

Run this code
# NOT RUN {
library(dplyr)

# 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,
            facet_formula = "covname~.",
            facet_scales = "free_y",
            facet_space = "free_y",
            show_table_facet_strip = "none",
            table_position = "right",
            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,
            x_label_text_size = 10,
            facet_switch = "both",
            show_table_facet_strip = "both",
            show_table_yaxis_tick_label = TRUE,
            table_position = "below",
            plot_table_ratio = 1)
# }
# NOT RUN {
# 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 %>%
  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 DataCamp Workspace