tt {tinytable} | R Documentation |
Draw a Tiny Table
Description
The tt
function renders a table in different formats with various styling options: HTML, Markdown, LaTeX, Word, PDF, PNG, or Typst. The table can be customized with additional functions:
-
style_tt()
: style fonts, colors, alignment, etc. -
format_tt()
: format numbers, dates, strings, etc. -
group_tt()
: row or column group labels. -
theme_tt()
: apply a collection of transformations to atinytable.
-
save_tt()
: save the table to a file or return the table as a string. -
print()
: print to a specific format, ex:print(x, "latex")
tinytable
attempts to determine the appropriate way to print the table based on interactive use, RStudio availability, and output format in RMarkdown or Quarto documents. Users can call print(x, output="markdown")
to print the table in a specific format. Alternatively, they can set a global option: options("tinytable_print_output"="markdown")
Usage
tt(
x,
digits = getOption("tinytable_tt_digits", default = NULL),
caption = NULL,
notes = NULL,
width = getOption("tinytable_tt_width", default = NULL),
theme = getOption("tinytable_tt_theme", default = NULL),
...
)
Arguments
x |
A data frame or data table to be rendered as a table. |
digits |
Number of significant digits to keep for numeric variables. When |
caption |
A string that will be used as the caption of the table. This argument should not be used in Quarto or Rmarkdown documents. In that context, please use the appropriate chunk options. |
notes |
Notes to append to the bottom of the table. This argument accepts several different inputs:
|
width |
Table or column width.
|
theme |
Function or string.
|
... |
Additional arguments are ignored |
Value
An object of class tt
representing the table.
The table object has S4 slots which hold information about the structure of the table. This meta-data can be accessed with the usual @
accessor. In general, modifying the content of these slots is not recommended, but it can be useful to some developers, such as those who want to force print to a specific output format without calling print()
.
LaTeX preamble
When rendering Quarto and Rmarkdown documents, tinytable
will populate the LaTeX preamble automatically with all the required packages. For standalone LaTeX packages, these commands should be inserted in the preamble:
\usepackage{tabularray} \usepackage{float} \usepackage{graphicx} \usepackage[normalem]{ulem} \UseTblrLibrary{booktabs} \newcommand{\tinytableTabularrayUnderline}[1]{\underline{#1}} \newcommand{\tinytableTabularrayStrikeout}[1]{\sout{#1}} \NewTableCommand{\tinytableDefineColor}[3]{\definecolor{#1}{#2}{#3}}
Global options
Quarto data processing
options(tinytable_quarto_disable_processing = TRUE)
Disable Quarto processing of cell content. Setting this global option to FALSE
may lead to conflicts with some tinytable
features, but it also allows use of markdown and Quarto-specific code in table cells, such as cross-references.
x <- data.frame(Math = "x^2^", Citation = "@Lovelace1842") fn <- function(z) sprintf("<span data-qmd='%s'></span>", z) tt(x) |> format_tt(i = 1, fn = fn)
See this link for more details: https://quarto.org/docs/authoring/tables.html#disabling-quarto-table-processing
Examples
library(tinytable)
x <- mtcars[1:4, 1:5]
tt(x)
tt(x,
theme = "striped",
width = 0.5,
caption = "Data about cars.")
tt(x, notes = "Hello World!")
fn <- list(i = 0:1, j = 2, text = "Hello World!")
tab <- tt(x, notes = list("*" = fn))
print(tab, "latex")
k <- data.frame(x = c(0.000123456789, 12.4356789))
tt(k, digits=2)