Learn R Programming

⚠️There's a newer version (0.9.33) of this package.Take me there.

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

27,839

Version

0.9.31

License

GPL-2

Maintainer

Duncan Murdoch

Last Published

August 29th, 2024

Functions in tables (0.9.31)

knit_print.tabular

Custom printing of tabular objects.
latexNumeric

Process numeric LaTeX or HTML values.
latex.tabular

Display a tabular object using LaTeX.
latexTable

Create table in full table environment
matrix_form.tabular

Transform tabular object to matrices printable by formatters package
toTinytable

Convert tabular object to tinytable format.
toKable

Convert tabular object to knitr_kable format.
labelSubset

Add a label to a logical vector.
useGroupLabels

Format table with groups of lines
write.csv.tabular

Write table to file in CSV or other format.
labels

Retrieve or modify the row or column labels.
Percent

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

Set or query options for the table formatting.
tabular

Compute complex table
Heading

Heading pseudo-function
HTMLfootnotes

Construct footnotes
Format

Format pseudo-function
Literal

Insert a literal entry into a table margin.
as.tabular

Convert matrix or dataframe to tabular object.
Paste

Generate terms to paste values together in table.
as.matrix.tabular

Convert tabular object to matrix
Justify

Justify pseudo-function
html.tabular

Display a tabular object using HTML.
Arguments

Arguments pseudo-function
DropEmpty

DropEmpty pseudo-function
Hline

Add a horizontal line to a LaTeX table.
All

Include all columns of a dataframe.
AllObs

Display all observations in a table.
PlusMinus

Generate x +/- y terms in table.
RowFactor

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