The main goal of carpenter to simplify making those pesky descriptive/basic characteristic tables often used in biomedical journal articles. It was designed to work well within the tidyverse ecosystem, e.g. relying on using pipes to chain functions together or having multiple, dedicated functions to use (rather than a monolithic one with lots of arguments).
This package is on CRAN, so install using:
install.packages('carpenter')
For the developmental version, install from GitHub:
# install.packages("remotes")
::install_github('lwjohnst86/carpenter') remotes
Here is an example workflow for making tables:
library(carpenter)
outline_table(iris, 'Species') %>%
add_rows('Sepal.Length', stat_meanSD) %>%
add_rows('Petal.Length', stat_meanSD) %>%
add_rows('Sepal.Width', stat_medianIQR) %>%
build_table()
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. Most of them 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 form of 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!