Changes in version 3.3.0 - Added equalizeWidths() for flowchart box lists, allowing selected boxes (including nested subelement paths and list-of-boxes targets) to share a common width while preserving center positions. - Added txt_padding to boxGrob() and support for a global default via options(boxGrobTxtPadding = ...). - Expanded the flowchart vignette with a grouped CONSORT-style example showing both global box text padding and width equalization across grouped levels. - Added tests for the new behavior in tests/testthat/test-equalizeWidths.R and tests/testthat/test-boxGrob-padding-option.R. - Updated package documentation pages generated from roxygen to include the new API and refreshed examples. Changes in version 3.2.0 (2026-03-06) - Added boxHeaderGrob() for creating flowchart boxes with centered header text and left-justified body text (e.g., bullet points). Fully compatible with all Gmisc flowchart helpers (coords(), distance(), connectGrob(), spreadVertical(), alignHorizontal(), etc.). - Added deep-path support for subelement and reference in alignVertical, alignHorizontal, spreadVertical, spreadHorizontal, and moveBox, allowing nested paths (e.g. c("detail", 1)) and multiple targets (e.g. list(c(...), c(...))). - Added helpers get_list_element_by_path() and set_list_element_by_path() to support nested selection and assignment. - Updated examples (inst/examples/alignBox_ex.R, inst/examples/spreadBox_ex.R) and added tests (tests/testthat/test-align-deep-path.R, tests/testthat/test-spread-move-deep-path.R, tests/testthat/test-align-subelement-deep.R) covering deep-path selection and informative error messages. - Fixed subelement resolution when a list of boxes is piped into alignHorizontal() or alignVertical() while providing a named reference argument; the piped list is now unwrapped so nested targets (e.g., c("step_1", "non-surgical")) are correctly found and aligned. - Fixed many-to-one connectors (N, fan_in_center, fan_in_top) to handle container-like inputs by automatically targeting the first box within a group. Changes in version 3.1.0 (2026-01-12) - Added support for lists of boxes in prConvert2Coords, allowing for merged bounding box calculations in npc units. - Extended moveBox to support moving lists of boxes (groups) as a single unit, with improved name preservation. - Added subelement parameter to spreadVertical, spreadHorizontal, alignVertical, and alignHorizontal for targeting specific elements within a list of boxes. - Added box label connector - Improved connecting lines between boxes - Added a .margin and a more flexble .to/.from management for the box spreading - Improved connecting boxes Changes in version 3.0.4 (2025-08-19) - Update for new CRAN policy - Improved cpp code for bezier arrows Changes in version 3.0.3 (2023-08-25) - Fixed bug in getSvdMostInfluential with bad names appearing in graph due to bad reference, thanks Felipe (see issue #66) Changes in version 3.0.1 (2022-11-19) - Fixed pathJoin for vector inputs - Added difftime as numeric to getDescriptionStatsBy Changes in version 3.0.0 (2022-01-03) - BREAKING: The input parameters have changed for getDescriptionStatsBy and dropped old deprecated parameter conversion: - show_missing_digits -> show_missing.digits - show_missing -> useNA - sig.limit -> statistics.sig_lim - two_dec.limit -> statistics.two_dec_lim - Fixed bug in getDescriptionStatsBy when providing a character input - Made getDescriptionStatsBy S3 aware with tidyselect pattern for generating tables. - The yamlDump can now take a character string and assume that is a json that needs conversion - Added set_column_labels and set_column_units for using dplyr syntax for Hmisc::label and Hmisc::units operations. - The units column in getDescrptionStatsBy can now have a custom name (also changed default name to "Units") - Changed addBoxClr to addBoxStyle for Transition-class (minor breaking change) Changes in version 2.1.0 (2021-07-23) - getSvdMostInfluential now returns the data needed for plotting - added fontsize dependent padding to boxGrob Changes in version 2.0.2 (2021-05-04) - Minor RCPP changes Changes in version 2.0.1 (2021-02-10) - Minor CRAN check fixes Changes in version 2.0.0 - BREAKING: The mergeList merges vectors into vectors instead of assuming that they should be bound as a matrix Changes in version 1.11.0 (2020-07-03) - Fix for adjustment in box justification, thanks Carl Suster - Fix for incorrect boxPropGrob height calculation, bad handling of missing arguments and ignored gpar arguments (issue #46) - Slightly changed color scheme for boxGrobs - Added moveBox for moving boxGrob objects - Added alignVertical and alignHorizontal for aligning boxGrob objects - Added spreadVertival and spreadHorizontal for spreading boxGrob objects over the viewport - Styling of htmlTable removed due to the 2.0 api change, nbow. the css.rgroup should be set using set htmlTable::setHtmlTableTheme or by passing the output through htmlTable::addHtmlTableStyle. - The boxes now accept language input, thanks Carl Suster Changes in version 1.10.0 (2020-05-06) - Added yamlDump for quick object review - Added pathJoin for joining paths without worrying about trailing '/' - Added time2spanTxt for printing time span descriptor Changes in version 1.9.1 (2019-12-07) - Fixed new handling of data.frame stringsAsFactors in next R release Changes in version 1.9.0 (2019-07-07) - Added id as a parameter to the Transition-class - Fixed bad no. of popViewport() not adequately leaving the transitionClass viewport tree - Fixed bad viewport naming in Transition-class that was creating a conflict with multiple plots Changes in version 1.8.1 (2019-04-14) - Fixed cran requirement where class(x) != class(y) could be of length > 1 Changes in version 1.8 (2019-01-09) - Added digits.nonzero for allowing values with extra digits where values are close to 0 - Changed sprintf to txtRound for many of the descriptors - Fixed vignette names for CRAN - Fixed bug in retrieve Changes in version 1.7 (2018-11-09) - Expressions are now allowed in boxGrob (Thanks Alan Haynes) - Added lodash similar functions retrieve and has Changes in version 1.6.4 (2018-09-19) - Removed changed constant for STRICT_R_HEADERS compliance Changes in version 1.6.3 - Fixed minor issue related to new CPP error Changes in version 1.6.1 (2018-04-21) - Removed test for CRAN compliance - Changed abs to fabs in bezierArrowFn's c++ code Changes in version 1.6 - Added skip_shadows to Transition-class Changes in version 1.4.3 - Fixes non-existing values in different by-groups (issue #24) Changes in version 1.4.2 - Added box functions between and coords - Added more Transition options for arrows - Added default options for Transition, boxGrob and boxGrobProp Changes in version 1.4.1 (2016-10-08) - Fixed merge with master external descGetMissing (Thanks Peter) Changes in version 1.4 (2016-10-04) - Added grid grobs for creating boxes and connecting these with lines - Added checkmate for argument checking Changes in version 1.3.2 - Fixed bug when providing getDescriptionStatsBy with custom function - Added ability add alternative column instead of the p-value column Changes in version 1.3.1 (2016-02-07) - Fixed use_unit issue #16 - Fixed bug in vignette - Added R-version dependency Changes in version 1.3 (2016-01-15) - The Transition-class can now handle non-square matrix input - The total column is now also passed through the txtInt function - Fixed header_count bug in getDescriptionStatsBy - thanks rvlevitin (iss#13) Changes in version 1.2 - Fixed the naming of proportions in getDescriptionStatsBy - If a variable has units set it can now be added into the row name in getDescriptionStatsBy - Merged with the Grmd-package allowing direct access to the docx_document() - Prepared for stricter requirements for R 3.3 Changes in version 1.1 (2015-03-04) - Created the Transition class that can handle multiple transitions in contrast to transitionPlot - The bezierArrowGradient has a simpler handling of the gradient proportion - The bezier arrows have been rewritten with a > 20x speed increase - The getDescriptionStatsBy function is now accompanied by mergeDesc that takes care of merging everything into one table - Added ability to customize statistics for getDescriptionStatsBy - transitionPlot: The color_bar_labels are now automatically extracted from the transition_flow input - transitionPlot: Fixed bug so that the end viewport is the root - transitionPlot: Fixed grid arrow bug - transitionPlot: When using 3D matrices and two colors there should only be a colorbar when used with gradient arrows - transitionPlot: If line width is smaller than the minimum width it is now set to 0 Changes in version 1.0 (2015-01-04) - htmlTable and some of the formatters have now moved to the htmlTable package - forestplot2 has now moved to the forestplot package - added the mergeDesc in order to merge lists from getDescriptionStatsBy for - All functions default to html = TRUE instead of FALSE - show_missing is now useNA in order to match the table() call handling of missing - Fixed a few bugs Changes in version 0.6.8 - Applied the DRY-documentation principle Changes in version 0.6.7 (2014-07-28) - Added an interactive() check before using the viewer - Minor adjustments to the htmlTable handling of no-blank spaces ( ) - htmlTable now remember the ... argument and passes it on to the print.htmlTable() and cat() - Added figCapNo and associated caption function for numbering figure captions - Improved documentation Changes in version 0.6.6 - Improved the htmlTable viewer handling (thanks Adam Smith) Changes in version 0.6.5 - Changed the getDescriptionsBy example to work with the htmlTable() instead of the Hmisc::latex() - Fixed getDescriptionsBy bug - the Total column failed when specified to be last - thanks Alexandre Vivot - Added example for side-by side plotting for forestplot2 - As of 0.98.932 the knitr package isn't loaded, instead the metadata or device options indicates that it is knitting - htmlTable bug: The function can now handle matrices without column names - htmlTable bug: The function deletes and warns when n.rgroup/n.cgroup < 1 Changes in version 0.6.4 (2014-06-16) - Bug fix for alt_col not respecting missing rgroup - added also a simple matrix output test - Added visual tests for htmlTable and moved one of the examples there - Added tableCSSclass option for htmlTable - thanks jphiplip Changes in version 0.6.3 - Changed versioning to a 3-digit system as suggested by Yihui Xie http://yihui.name/en/2013/06/r-package-versioning/ - Added alt_col for coloring the rows of the htmlTable rgroups - thanks raredd Changes in version 0.6.2.3 (2014-05-15) - Roxygen2 v 4.0.0 upgrade + other doc upgrades - Percentages are now default without space between the number and the %-sign in order to better comply with English language standards Changes in version 0.6.2.2 - transitionPlot - fixed arrow size and empty boxes - outputInt now defaults to the ',' formatting according to the English language. It also has no-breaking space if html option is set. It can also handle complex vector/matrix input. - describeMean now allows for custom plus minus sign - describe* now use the outputInt with the default english settings - Minor fix for the print.htmlTable Changes in version 0.6.2.1 - bezierArrowSmplGradient changed name to just bezierArrowGradient - Added visual tests and debugged the bezierArrowGradient/transitionPlots - Externalized all internal functions of the transitionplot - Added proportions for the transitionplot - Managed thanks to Baptiste Auguié help on Stack Overflow I know now how to calculate the height of axisGrobs - useful both in the forestplot2 and the transitionPlot functions - Fixed the adjustment of the xlabel, the lineheight argument, the viewports for the forestplot2 function - Simplified the transitionPlot defaults - Fixed a gradient bug in bezierArrowGradient Changes in version 0.6.2.0 (2014-02-23) - Added the viewer for htmlTable allowing for direct visualisation in RStudio of the tables. Outside RStudio the utils::browseURL is used. - htmlTable added table spanner functionality, some man-page update, removed the default NULL arguments in favor of the missing() funciton, and a few minor bugfixes. Changes in version 0.6.1.1 - The bezierArrowSmpl now uses "mm" internally instead of the default "npc" - this improves the rendering as the "npc" is dependent on the axis. A few adjustments to arrow functions were also added. - Bugfixes for the bezierArrowSmplGradient. - Bugfixed missing data for getDescriptionStats and generated a test-file in order to check most combinations that they work - Fixed the legend-bug for forestplot2 when using points Changes in version 0.6.1.0 - Added legend markers option for the forestplot2 function Changes in version 0.6.0.2 - Fixed ticks for forestplot2 - the prFpGetGraphTicksAndClips used the exp() for regular values. - Cleaned up some of the code for the fpDrawXXXCI functions Changes in version 0.6.0.1 (2014-02-02) - Changed depends and imports for the package Changes in version 0.6.0.0 - For LibreOffice compatibility htmlTable now includes caption inside the table when compatibility='LibreOffice' - Split the package to exclude regression functions, these are now in the Greg package - Added title and label options to transitionPlot - Added a size-autofit for the transitionPlot text Changes in version 0.5.8.2 - htmlTable caused too large colspans when cgroup was set Changes in version 0.5.8.1 - Bugfixes for printC&A and getDesc. - Added a pvalueFormatter - Fixed Intercept bug for get/printCrudeAndAdjusted - didn't include the intercept term Changes in version 0.5.8.0 - Added to forestplot2 ability create customly drawn confidence intervals/boxes - Generated diamond, circle and point custom draw functions for forestplot2 - Added forestplot2 compatibility for the summary - Minor bugfixes behind the scenes - Fixed issue with getCrudeAndAdjustedModelData mixing up rows for rms objects Changes in version 0.5.7.11 - Added tfoot option to the htmlTable function - Switched to the proper caption-align for htmlTable - Added options for htmlTable() where you now can format the table counter text and change to Arabic numerals. - Bug: changed just to align for printCrudeAndAdjustedModel() Changes in version 0.5.7.10 - Switched the order in the multi-line forestplot for the legend Changes in version 0.5.7.9 - Bugfix for getTics so that it can handle small spans < .5 Changes in version 0.5.7.8 - Bugfix for forestplot2 with headers Changes in version 0.5.7.7 - Added title for forestplot2 - Fixed the margins for forestplot2 Changes in version 0.5.7.6 - Added more legend border and fill options to the forestplot2 - Added the legend.title option in the forestplot2 - Fixed the auto-sizing of the area for the forestplot2 - Rows/elements with NA are now not included in the zero-line as they are considered to be headers Changes in version 0.5.7.5 - Added more legend options to the forestplot2 - Minor changes to simleRmsAnova Changes in version 0.5.7.4 - Added some debugging info for the getDescriptionStatsBy with more detailed errors when unit/total columns don't match - Externalized many of the forestplot2 functions and added the option of having a set line height - Added new_page option for grid-based plots - Updated the simpleRmsAnova function Changes in version 0.5.7.3 - Removed the plot.new() from transitionplot, this is in order to allow splitting plots, adding it to a viewport etc. Changes in version 0.5.7.2 - Added the lineheight option for forestplot2 - Fixed the R CMD Check --as-cran to run without any objections - Updated dependencies Changes in version 0.5.7.1 - Fixed rownames in printCrudeAndAdjusted - Changed printCrudeAndAdjusted to return a matrix subclass instead of immediately printing - Ran through som Pkg-check and hopefully cleared out some bugs Changes in version 0.5.7.0 - getCrudeAndAdjusted is now an S3 method that has a default method and a method for rms objects. The rms relies on rms:::summaryrms and returns a matrix that is pruned and used for the situation. - printCrudeAndAdjusted has externalized a lot of its functions and handling of the new rms getCrudeAndAdjusted output - printCrudeAndAdjusted now ignores any interaction variables Changes in version 0.5.6.1 - forestplot2 fix so that it properly handles data.frames as arguments - printCrudeAndAdjustedModel has a better handling of the groups argument - Improved import to importFrom Changes in version 0.5.6.0 - The forestplot2 is updated - the widths are now relative to the window size, there is a margin option, and many of the inside functions have moved to helpers outside. Also fixed the alignment of the summary label to work better. - Fixed a minor bug for cgroup without rowlabels - Added default_ref for both getDescriptionStatsBy and describeProp function. - The percentage sign in getDescriptionStatsBy, describProp and describeFactors is now optional. - A minor bug fix for cgroup.just for the htmlTable function Changes in version 0.5.4.5 - Minor fix to rownames in htmlTable... again. - Had to remove the "terms" option from the plotHR rms:::cph() alternative as it did caused an error ** The error seems to stem from predictrms() where the Adjto function deletes the adjto output in: ** adjto <- if (int.pres) ** model.matrix(Terms.ns, adjto)[, -1, drop = FALSE] ** I will have to look into it one day... Changes in version 0.5.4.4 - Fixed a rowname problem for htmlTable - Changed the rowlabel.pos to be by default at the bottom, seems more natural with multi-layered tables. Changes in version 0.5.4.3 - Fixed a caption problem for htmlTable Changes in version 0.5.4.2 - bezierArrowSmpl needed a color for the arrow line as it turned black by default. The line was added to fix the anti-aliasing issue. - Changed CSS-defaults for groups when using the function printCrudeAndAdjusted - Minor regular expression fix for printCrudeAndAdjusted for the addref. function - Minor fix for cgroup.just as this was affected by the previous update - Fixed the htmlTable cgroup.just issue - The htmlTable is now rendering correct w3c-validated code Changes in version 0.5.4.1 - Minor improvement to the htmlTable function with align now accepting vectors - Added multiline cgroup alternative Changes in version 0.5.4.0 - Added a robust alternative for rms ols regressions that now can use the sandwich package Changes in version 0.5.3.5 - Added mergeLists() function for merging multiple lists Changes in version 0.5.3.4 - New options for plotHR Changes in version 0.5.3.3 - Minor fixes to the bezier arrows - Update for transitionPlot to avoid overlapping background arrows Changes in version 0.5.3.2 - Thank you Adam Van Iwaarden for fixing the htmlTable alignment and a few bugs! - Bug fix for prGetModelVariables affecting model with functions as parameters - Added poisson (link=log) to the getCrudeAndAdjusted function to ret exp() values Changes in version 0.5.3.1 - Added transitionPlot ability to indicate proportions in the rectangles Changes in version 0.5.3.0 - Added the bezier arrows to the transition plot - Added a bridge option for the transition plot arrows - Bugfix for the bezierSmplGradient Changes in version 0.5.2.0 - Added the bezier arrows. Changes in version 0.5.1.1 - Added lwd parameters to the transitionPlot lines - Changed the transition matrix - the sums were not necessary as they easily can be calculated from the rowSums/colSums. Changes in version 0.5.1.0 - Added the transitionPlot Changes in version 0.5.0.2 - Bugfix for htmlTable - throws error if a one dimensional x is provided Changes in version 0.5.0.1 - Bugfix for plotHR - there were issues with getting the model data - Added option for having specific digits in printCrudeAndAdjustedModel in the model and the descriptive part Changes in version 0.5.0.0 - Added the option of having descriptive data to the printCrudeAndAdjustedModel - A completely new way to extract the model dataset Changes in version 0.4.9.1 - Change the option for printCrudeAndAdjustedModel from just html to output alternatives html, latex or raw - Altered the name of the describe_ functions to follow the camelCase style, i.e. describe_mean is now describeMean Changes in version 0.4.9.0 - Added the getSvdMostInfluential function Changes in version 0.4.8.2 - The simpleRmsAnovaLatex now has a better handling of the low p-values - Fixed a minor but with printCrudeAndAdjusted with the automated reference - Added the option of hadding a total column even in "vertical" mode - Changed parameter names hrzl_prop.show_perc to total_col_show_perc - Bugfix: The total column causes errors if the by contains missing values Changes in version 0.4.8.1 - Fixed a few bugs to the forestplot2