Changelog
Source:NEWS.md
ggforestplotR 0.6.0
Major Changes
- Mixed-model subgroup effects are now population-level, excluding cluster-specific random slopes.
- Quasibinomial models now default to odds ratios (logit link) or risk ratios (log link), matching binomial models.
-
bind_forest_models()now stores model labels as a factor, so legends and dodge order follow the order models were supplied in rather than alphabetical order. - Fitted
glmmTMBmodels now plot only conditional-model coefficients; zero-inflation and dispersion coefficients were previously included and mislabelled. -
point_sizenow accepts a numeric source column name, such as"N", to map marker sizes through a customizable ggplot2 size scale (#38). - Fixed table alignment when
subgroupandgroupare both mapped. Split tables now keep estimates and subgroup p-values on their intended rows (#40). - Added vectorized
formattersto both table helpers for estimates, confidence bounds, p-values, and preserved source columns. Digit settings and text templates remain available. - Added semantic forest row types (
estimate,reference,header,summary, andspacer) so tables can contain reference categories and structural rows without fabricated plot geometry. - Added
reference_textto both table helpers to customize reference cells.
Minor Changes
- Building table compositions no longer opens a graphics device (e.g. creating
Rplots.pdfin scripts). - Unsupported inputs to
ggforestplot()now fail with a clear error identifying the expected data frame or fitted model. - Subgroup contrast labels no longer depend on the installed
marginaleffectsversion’s label format. - Numeric source columns shown in tables are now rounded to
estimate_digitsby default. - Subsetting a
forest_dataobject to fewer columns now drops metadata for removed source columns instead of erroring. - The colour legend title now matches the table’s group header (“Model” for
bind_forest_models(), otherwise the mapped group column name). -
as_forest_data()for data frames now defaults toterm,estimate,conf.low, andconf.highcolumn names, matchingggforestplot(). - Clarified that
exponentiatetransforms fitted-model coefficients but only declares the scale of data-frame columns. - Fitted-model
as_forest_data()methods now error on unknown arguments instead of silently ignoring them. - Removed redundant
inherit.aesarguments from horizontal separators to avoid warnings on older ggplot2 releases. - Adding scales or tables to a forest plot no longer modifies the original plot object’s stripe and separator layers.
- Fixed breaks in row stripes at table borders when adding a favors footer to a split-table composition (#43).
- CI truncation arrows and interval caps now keep the same vertical dodge positions as their points, including grouped subgroup plots (#45).
Breaking changes
- Renamed
ref_colortoref_colourandseparator_line_sizetoseparator_linewidthinggforestplot(),grid_line_sizetogrid_linewidthinadd_forest_table(), and the data-framegroupingargument tofacet. The former names remain as deprecated aliases; supplying both names errors. - Forest-plot rows now always read top-to-bottom in data order. Previously, plots without structured rows or subgroups were drawn bottom-to-top, so adding a single header or subgroup inverted the plot, and
sort_terms = "descending"placed the largest estimate at the bottom.
ggforestplotR 0.5.0
CRAN release: 2026-09-14
Breaking Changes
- Removed the deprecated
groupingandgrouping_strip_positionarguments fromggforestplot(). Usefacetandfacet_strip_positioninstead.
Major Changes
- Implemented
add_favors()for composing two-sided directional arrows and labels beneath the forest-plot panel. - Added explicit
subgroupmappings for mixed hierarchical displays, allowing standalone covariates and categorical subgroups to share a forest plot. Subgroup p-values can be delegated as “overall” or “level” viap_methodintidy_forest_model()(#11) - Added covariance-aware subgroup effects for fitted interaction models.
tidy_forest_model()and fitted-modelas_forest_data()methods now usemarginaleffectsto derive average slopes or comparisons from the original fit. Specify subgroups via eithersubgroup = "auto"orsubgroup = "var". Currently, continuous-by-factor and factor-by-factor interactions are supported.
Minor Changes
- Grouped values in
add_forest_table()andadd_split_table()now use the same vertical dodge as their plotted points, keeping table text aligned at different output sizes and with customdodge_widthvalues. - Factor-valued
groupcolumns now retain their level order in legends, vertically dodged estimates, and aligned forest-table values. - Deprecated
term_header,n_header,events_header, andp_headerinadd_forest_table()andadd_split_table(). Relabel displayed headers with thecolumn_labelsnamed vector instead.
ggforestplotR 0.4.0
Major Changes
- Added the
forest_dataS3 class as the package’s stable interchange format. It stores validated effect-scale, axis, confidence-level, reference-value, source-model, source-package, and source-column metadata. (#17) - Converted
as_forest_data()into an S3 generic with methods for data frames, existingforest_dataobjects, linear and generalized linear models, Cox models, and supported mixed-model classes. (#19) - Refactored
ggforestplot()to consume theforest_datacontract instead of determining plotting behavior from the original model class. - Added
forest_metadata()for inspecting the semantic and provenance metadata associated with aforest_dataobject.
Minor Changes
- Separated the semantic estimate scale from the plotting-axis transformation. Ratio estimates now use
estimate_scale = "ratio"andaxis_transform = "log10"; unexponentiated log-link coefficients useestimate_scale = "log"and an identity axis. -
bind_forest_models()now returnsforest_dataand validates compatible estimate scales, axis transformations, reference values, and confidence levels before combining models. - Fitted model objects and duplicate source data frames are not retained in
forest_data; provenance records model classes, package names, and source column mappings instead. -
tidy_forest_model()remains available as a compatibility wrapper around the newas_forest_data()model methods. - Legends positioned at the top or bottom are now collected at the patchwork level, centering them across the complete table-and-plot composition.
- Grouped tables now display model or group names in a dedicated, multiline column instead of prefixing every value. Include
"group"wherever desired incolumns,left_columns, orright_columns, and rename it throughcolumn_labelslike any other table column. -
add_forest_table()now supportstable_widthandplot_widthfor controlling the relative widths of the two composed panels.
ggforestplotR 0.3.1
CRAN release: 2026-08-04
Minor Changes
- Fixed unintended behavior when passing custom columns to
add_forest_table()specific to data-frame/plot inheritance.
ggforestplotR 0.3.0
CRAN release: 2026-07-07
Breaking Changes
- Removed the deprecated table-display shortcut arguments
show_terms,show_n,show_events,show_estimate, andshow_pfromadd_forest_table()andadd_split_table(). Usecolumns,left_columns, andright_columnsto choose table columns explicitly. - Numeric table column positions now resolve against the supplied/source data columns in their original order, rather than the previous fixed built-in table-column order.
Major Changes
- Added mixed-model support for
tidy_forest_model()andggforestplot()whenbroom.mixedis installed. Mixed-model tidiers are restricted to fixed effects so random-effect parameter rows are not plotted as terms. (#21) - Added confidence interval truncation support to
ggforestplot()viaci_limits, with optional arrowheads for intervals extending beyond the displayed range. (#18) - Added
bind_forest_models()to stack multiple fitted models into one grouped forest-plot data frame. (#16)
ggforestplotR 0.2.2
CRAN release: 2026-06-05
Minor Changes
- Faceted
ggforestplot()output now respects factor level order in thefacetcolumn, allowing users to control facet ordering directly from their data. - Fixed faceted
ggforestplot()output when users addscale_y_discrete(limits = ...), preserving per-facet row filtering while accepting visible term labels. (#20)
ggforestplotR 0.2.1
CRAN release: 2026-05-30
Breaking Changes
- Simplified the reference-line API in
ggforestplot():ref_linenow takes the numeric reference value directly, andNULLhides the line. - Replaced the older reference-line arguments with
ref_label,ref_linetype, andref_color.
Major Changes
- Added
facetandfacet_strip_positionas clearer names for grouped plot panels. The oldergroupingandgrouping_strip_positionarguments now warn and continue to work. - Added
linewidthfor confidence interval widths. The olderline_sizeargument now warns and continues to work. - Added deprecation warnings for table-display shortcuts in favor of explicit
columns,left_columns, andright_columnsselections.
Minor Changes
- Added
stripe_alphato control row stripe transparency across plots, side tables, and split tables. (#7) - Updated table helpers so they inherit custom y-axis ordering and filtering from the trained forest plot scale. (#9)
- Updated vignettes and tests to use the clearer faceting and geometry argument names.
ggforestplotR 0.2.0
CRAN release: 2026-05-20
Major Changes
- Added separate table formatting controls for point estimates, confidence interval bounds, and p-values via
estimate_digits,interval_digits, andp_digits. - Added
ref_line,ref_line_value, andref_line_labelto standardize reference-line naming while keepingzero_linearguments backward compatible. - Added
term_labels, a named-vector relabeling helper for displayed model terms. - Expanded
add_forest_table(columns = ...)and split-table column selection to support arbitrary preserved data columns in addition to built-in columns. - Added
column_labels, a named-vector helper for relabeling displayed table column headers. - Added a built-in
citable column andci_fmtso users can display point estimates and confidence intervals in separate columns.conf.lowandconf.highare accepted as aliases forci.
ggforestplotR 0.1.1
CRAN release: 2026-04-22
Minor Changes
- Added
eventscolumn support acrossggforestplot(),as_forest_data(),add_forest_table(), andadd_split_table(). (#2) (#3) (Thanks @sritchie73 for the suggestion) - Added table header styling controls for font size, font face, and font family in both table helpers. (Thanks @sritchie73 for the suggestion)
- Split table composition code into dedicated source files to simplify maintenance of the public API.
- Refined split-table examples and documentation to match the expanded numeric column mapping.
ggforestplotR 0.1.0
CRAN release: 2026-03-25
Major Changes
- Refined split-table layout logic, including dynamic panel widths from column counts, alignment controls, and cleaner stripe/background handling.
-
add_forest_table()now allows for custom column ordering via thecolumnsargument. - Converted package documentation to roxygen-generated
NAMESPACEand.Rdfiles. - Reworked package documentation, including pkgdown configuration, README installation guidance, and the vignette set.
ggforestplotR 0.0.0.9000
Initial development version
- Added grouped section support for forest plots.
- Added
add_forest_table()andadd_split_table()for plot-table composition. - Added various plot and table customization options.
- Added package documentation, tests, and a getting-started vignette.