Learn R Programming

tables

The goal of tables is to compute and display complex tables of summary statistics.

Output may be in LaTeX, HTML, plain text, or an R matrix for further processing.

Installation

You can install the release version of orientlib using

install.packages("tables")

You can install the development version of tables from GitHub with:

# install.packages("devtools")
devtools::install_github("dmurdoch/tables")

Example

This is a basic example which shows you how to solve a common problem:

library(tables)

set.seed(123)

# In an R Markdown document, you don't want each table
# to output the HTML document header, so turn 
# off that option:

table_options(htmloptions(head=FALSE))

X <- rnorm(125, sd=100)
Group <- factor(sample(letters[1:5], 125, replace = TRUE))
tab <- tabular( Group ~ 
                  (N=1) +
                  Format(digits=2)*X*
                    ((Mean=mean) +
                     Heading("Std Dev")*sd) 
              )

# To print in plain text:
tab
#>                         
#>           X             
#>  Group N  Mean   Std Dev
#>  a     31  -6.84  82.50 
#>  b     28  13.06  97.04 
#>  c     17  -2.24  99.71 
#>  d     15   4.45  98.60 
#>  e     34   0.87  84.96

# To format in HTML:
toHTML(tab)
# To generate LaTeX code:
strsplit(toLatex(tab)$text, "\n")
#> [[1]]
#>  [1] "\\begin{tabular}{lccc}"                                               
#>  [2] "\\hline"                                                              
#>  [3] " &  & \\multicolumn{2}{c}{X} \\\\ "                                   
#>  [4] "Group  & N & Mean & \\multicolumn{1}{c}{Std Dev} \\\\ "               
#>  [5] "\\hline"                                                              
#>  [6] "a  & $31$ & $\\phantom{0}-6.84$ & $\\phantom{-}82.50$ \\\\"           
#>  [7] "b  & $28$ & $\\phantom{-}13.06$ & $\\phantom{-}97.04$ \\\\"           
#>  [8] "c  & $17$ & $\\phantom{0}-2.24$ & $\\phantom{-}99.71$ \\\\"           
#>  [9] "d  & $15$ & $\\phantom{0}\\phantom{-}4.45$ & $\\phantom{-}98.60$ \\\\"
#> [10] "e  & $34$ & $\\phantom{0}\\phantom{-}0.87$ & $\\phantom{-}84.96$ \\\\"
#> [11] "\\hline "                                                             
#> [12] "\\end{tabular}"

Copy Link

Version

Install

install.packages('tables')

Monthly Downloads

35,688

Version

0.9.33

License

GPL-2

Maintainer

Duncan Murdoch

Last Published

December 15th, 2025

Functions in tables (0.9.33)

latexNumeric

Process numeric LaTeX or HTML values.
write.csv.tabular

Write table to file in CSV or other format.
latexTable

Create table in full table environment
latex.tabular

Display a tabular object using LaTeX.
matrix_form.tabular

Transform tabular object to matrices printable by formatters package
toKable

Convert tabular object to knitr_kable format.
useGroupLabels

Format table with groups of lines
toTinytable

Convert tabular object to tinytable format.
table_options

Set or query options for the table formatting.
tabular

Compute complex table
Heading

Heading pseudo-function
Justify

Justify pseudo-function
All

Include all columns of a dataframe.
HTMLfootnotes

Construct footnotes
AllObs

Display all observations in a table.
DropEmpty

DropEmpty pseudo-function
Literal

Insert a literal entry into a table margin.
Format

Format pseudo-function
Hline

Add a horizontal line to a LaTeX table.
PlusMinus

Generate x +/- y terms in table.
RowFactor

Use a variable as a factor to give rows in a table.
as.tabular

Convert matrix or dataframe to tabular object.
labelSubset

Add a label to a logical vector.
as.matrix.tabular

Convert tabular object to matrix
labels

Retrieve or modify the row or column labels.
Percent

Pseudo-function to compute a statistic relative to a reference set.
Arguments

Arguments pseudo-function
Paste

Generate terms to paste values together in table.
html.tabular

Display a tabular object using HTML.
knit_print.tabular

Custom printing of tabular objects.