Learn R Programming

⚠️There's a newer version (0.9.31) 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, rep=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

21,179

Version

0.9.28

License

GPL-2

Maintainer

Duncan Murdoch

Last Published

June 26th, 2024

Functions in tables (0.9.28)

labelSubset

Add a label to a logical vector.
html.tabular

Display a tabular object using HTML.
knit_print.tabular

Custom printing of tabular objects.
tabular

Compute complex table
toKable

Convert tabular object to knitr_kable format.
toTinytable

Convert tabular object to tinytable format.
table_options

Set or query options for the table formatting.
PlusMinus

Generate x +/- y terms in table.
RowFactor

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

Write table to file in CSV or other format.
labels

Retrieve or modify the row or column labels.
useGroupLabels

Format table with groups of lines
latexTable

Create table in full table environment
as.tabular

Convert matrix or dataframe to tabular object.
as.matrix.tabular

Convert tabular object to matrix
matrix_form.tabular

Transform tabular object to matrices printable by formatters package
Percent

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

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

Display a tabular object using LaTeX.
latexNumeric

Process numeric LaTeX or HTML values.
HTMLfootnotes

Construct footnotes
Heading

Heading pseudo-function
All

Include all columns of a dataframe.
Format

Format pseudo-function
Hline

Add a horizontal line to a LaTeX table.
DropEmpty

DropEmpty pseudo-function
AllObs

Display all observations in a table.
Justify

Justify pseudo-function
Arguments

Arguments pseudo-function
Literal

Insert a literal entry into a table margin.