Build Common Tables of Summary Statistics for Reports

Mainly used to build tables that are commonly presented for bio-medical/health research, such as basic characteristic tables or descriptive statistics.

Travis-CI Build Status CRAN_Status_Badge

The main goal of carpenter to help make those pesky descriptive/basic characteristic tables often used in biomedical journal articles easier to make and put together. Right now, this package is focused on those types of tables, but I plan to expand to other similarly used table types.


This package is on CRAN, so install using:


For the developmental version, install from GitHub:


Example usage

Here is an example workflow for making tables:

outline_table(iris, 'Species') %>% 
    add_rows('Sepal.Length', stat_meanSD) %>%
    add_rows('Petal.Length', stat_meanSD) %>%
    add_rows('Sepal.Width', stat_medianIQR) %>% 
Variables setosa versicolor virginica
Sepal.Length 5.0 (0.4) 5.9 (0.5) 6.6 (0.6)
Petal.Length 1.5 (0.2) 4.3 (0.5) 5.6 (0.6)
Sepal.Width 3.4 (3.2-3.7) 2.8 (2.5-3.0) 3.0 (2.8-3.2)

For a more detailed view of how to use carpenter, see ?carpenter or vignette('carpenter'). Or view the vignette directly here


There are several packages out there that help with making tables. They work to output and customize the tables into a given format, for instance markdown or html, but assume the data is in the form you already want to present it in. So they don't help with getting the data into the format as a table (in the context of descriptive/basic characteristic tables often seen in biomedical research). Even still, they are very useful to look over and learn about!


carpenter 0.2.1

Bug fixes

  • Fixed ERRORS in CRAN results due to changes and version update in dplyr
  • Fixed ERRORS in pander and table output due to changes in dplyr


  • Added tableone package to resources in vignette

carpenter 0.2.0

  • Major rewrite of the underlying code for carpenter, making it more rigorous and sturdy (compared to the previous version).
  • Added test suites to confirm the package does what it should.
  • Wrote a introduction vignette.
  • Added resources for other packages that make tables.
  • Added a file to track changes to the package.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.2 by Luke Johnston, 14 days ago

Report a bug at

Browse source code at

Authors: Luke Johnston [aut, cre]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports dplyr, magrittr, tidyr, pander, utils, stats, lazyeval, tibble

Suggests knitr, rmarkdown, testthat, covr

See at CRAN