--- title: "Constructing rtables Manually" author: "Adrian Waddell" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Constructing rtables Manually} %\VignetteEncoding{UTF-8} %\VignetteEngine{knitr::rmarkdown} editor_options: chunk_output_type: console --- ```{r, echo=FALSE} knitr::opts_chunk$set(comment = "#") ``` ```{css, echo=FALSE} .reveal .r code { white-space: pre; } ``` ## Overview The main functions currently associated with `rtable`s are Tables in `rtables` can be constructed via the layout or `rtabulate` tabulation frameworks or also manually. Currently manual table construction is the only way to define column spans. The main functions for manual table constructions are: * `rtable()`: collection of `rrow()` objects, column header and default format * `rrow()`: collection of `rcell()` objects and default format * `rcell()`: collection of data objects and cell format ## Simple Example ```{r, message=FALSE} library(rtables) ``` ```{r} tbl <- rtable( header = c("Treatement\nN=100", "Comparison\nN=300"), format = "xx (xx.xx%)", rrow("A", c(104, .2), c(100, .4)), rrow("B", c(23, .4), c(43, .5)), rrow(), rrow("this is a very long section header"), rrow("estimate", rcell(55.23, "xx.xx", colspan = 2)), rrow("95% CI", indent = 1, rcell(c(44.8, 67.4), format = "(xx.x, xx.x)", colspan = 2)) ) ``` Before we go into explaining the individual components used to create this table we continue with the html conversion of the `rtable()` object: ```{r} as_html(tbl, width = "80%") ``` Next, the `[` operator lets you access the cell content. ```{r} tbl[1, 1] ``` and to format that cell run `format_rcell(tbl[1,1])`=`r #format_rcell(tbl[1,1])`. Note that `tbl[6, 1]` and `tbl[6, 2]` display both the same `rcell` because of the `colspan`.