TLGs (tables, listings, and graphs - also known as TLFs/TFLs with F for figures) refer to the packages that take data, and convert then into a human intepretable insight.

There are two relevant stages of TLGs - static TLGs, which as of today are the only type of evidence submitted to regulatory bodies, and interactive TLGs, which are predominantly, but not limited to, shiny apps.


The following frameworks allow for the engine used to generate the output to be modified. For example, they could be used with ggplot2, rtables, plotly, visR or Tplyr.


Layers analytics from descriptive summaries to more complex statistics on top of the foundational table layouts, analytic and content controls


Framework developed that leverages the R Shiny package to scale development of our shiny apps

There are publicly available example Shiny applications created using these:

Upcoming package


Holds TLG template standards to feed into other tabulation packages OPEN SOURCE RELEASE EXPECTED ~MID-2023 Contact Lena Wang (



A framework for declaring complex multi-level tabulations and then applying them to data


Enhanced RTF wrapper written in R for use with existing R tables packages such as huxtable or GT


To simplify the data manipulation necessary to create clinical reports


A language for defining display-related metadata to automate the transformation from an Analysis Results Dataset (ARD) to a table

Upcoming package


Generate table, listings, and graphs (TLG) using the Tidyverse OPEN SOURCE RELEASE EXPECTED ~MID-2022 Contact Nicholas Masel (



The goal of visR is to enable fit-for-purpose, reusable clinical and medical research focused visualizations and tables with sensible defaults and based on sound graphical principles.

While ggplot2 is a lower level, non-pharma specific plotting package. It is universally accepted as the package for graphics, so included here and as a non-pharma package.


An implementation of the Grammar of Graphics in R, and the most popular plotting package for static plots in R.