Designed to create and display complex tables with R, the 'rtables' R package allows cells in an 'rtables' object to contain any high-dimensional data structure, which can then be displayed with cell-specific formatting instructions. Additionally, the 'rtables.officer' package supports export formats related to the Microsoft Office software suite, including Microsoft Word ('docx') and Microsoft PowerPoint ('pptx').

rtables to Microsoft Word and beyondThe rtables.officer package provides a framework to export tables
created with
rtables to
Microsoft Word documents. To do so, we use the officer package to
create a Word document and the flextable package to produce the
intermediary table object that officer can use to create the Word
document.
Please refer to the following packages for further information: -
rtables to create
tables. - flextable as an
intermediate html table object. Many aesthetic functionalities are
available at this stage. -
officer to create Word
documents. Please consider also other exporter options (e.g. html)
that are available from flextable.
rtables and rtables.officer is developed and copy written by
F. Hoffmann-La Roche and it is released open source under Apache
License Version 2.
rtables.officer is available on CRAN and you can install the latest
released version with:
install.packages("rtables.officer")
or you can install the latest development version directly from GitHub with:
# install.packages("pak")
pak::pak("insightsengineering/rtables.officer")
Here’s a simple example demonstrating how to create a basic table layout, perform analysis on various columns, and export the resultant table to a Word document in landscape orientation. Further reading are available in the vignettes.
# Define the table layout
lyt <- basic_table() %>%
split_cols_by("ARM") %>%
analyze(c("AGE", "BMRKR2", "COUNTRY"))
# Build the table
tbl <- build_table(lyt, ex_adsl)
# Export the table to a Word document in landscape orientation
tf <- tempfile(fileext = ".docx")
export_as_docx(tbl,
file = tf,
section_properties = section_properties_default(orientation = "landscape")
)
# Expected output (with default theme)
tt_to_flextable(tbl, theme = theme_docx_default())
To contribute to this package, please fork the repository, create a branch, make your changes, and submit a pull request. Your contributions are greatly appreciated!