ggforestplotR provides a ggplot2-first workflow for building forest plots
from tidy coefficient tables or fitted model objects.
install.packages("ggforestplotR")
#install.packages("remotes")
# remotes::install_github("thatoneguy006/ggforestplotR")
install.packages("ggforestplotR", repos = c('https://thatoneguy006.r-universe.dev', 'https://cloud.r-project.org'))
ggforestplotR currently supports two core workflows:
Both workflows are converted to a validated forest_data object before
plotting. This object records the effect scale, confidence level, reference
value, and source provenance independently of the fitted-model class.
library(ggforestplotR)
library(ggplot2)
sectioned_coefs <- data.frame(
term = c("Age", "BMI", "Smoking", "Stage II", "Stage III", "Nodes"),
estimate = c(0.10, -0.08, 0.20, 0.34, 0.52, 0.28),
conf.low = c(0.02, -0.16, 0.05, 0.12, 0.20, 0.06),
conf.high = c(0.18, 0.00, 0.35, 0.56, 0.84, 0.50),
section = c("Clinical", "Clinical", "Clinical", "Tumor", "Tumor", "Tumor")
)
ggforestplot(
sectioned_coefs,
facet = "section",
striped_rows = TRUE,
stripe_fill = "grey94",
facet_strip_position = "right"
)

ggforestplot(
sectioned_coefs,
striped_rows = TRUE,
stripe_fill = "grey94"
) +
add_forest_table()

ggforestplot(
sectioned_coefs,
striped_rows = TRUE,
stripe_fill = "grey94"
) +
add_split_table()

ggforestplot() builds the plotting panel from a data frame or supported model object.add_forest_table() attaches a summary table to the left or right side of the plot.add_split_table() creates a more traditional forestplot layout with table columns on both sides of the plot.bind_forest_models() binds output from several models for grouped plotting.as_forest_data() is the S3 conversion interface for custom coefficient data
and supported fitted models.forest_metadata() inspects effect-scale and source metadata.tidy_forest_model() is used as a post-estimation interface for fitted models.