Package 'ttt'

Title: The Table Tool
Description: Create structured, formatted HTML tables in a flexible and convenient way.
Authors: Benjamin Rich [aut, cre]
Maintainer: Benjamin Rich <[email protected]>
License: GPL-3
Version: 1.1.1
Built: 2024-11-06 20:49:02 UTC
Source: https://github.com/benjaminrich/ttt

Help Index


Method for printing in a knitr context

Description

Method for printing in a knitr context

Usage

## S3 method for class 'ttt'
knit_print(x, ..., theme = getOption("ttt.theme"))

Arguments

x

An object returned by ttt.

...

Further arguments passed on to knitr::knit_print.

theme

A theme (either "default" or "booktabs").

Value

Returns a character string. See knitr::knit_print for how this value is used.


Print ttt object

Description

Print ttt object

Usage

## S3 method for class 'ttt'
print(x, ..., theme = getOption("ttt.theme"))

Arguments

x

An object returned by ttt.

...

Further arguments passed on to other print methods.

theme

A theme (either "default" or "booktabs").

Details

In an interactive context, the rendered table will be displayed in a web browser. Otherwise, the HTML code will be printed as text.

Value

Returns x invisibly.


Formatted tables the easy way

Description

ttt stands for “The Table Tool” (or, if you prefer, “Tables! Tables! Tables!”). It allows you to creates formatted HTML tables of in a flexible and convenient way.

Usage

ttt(x, ...)

## S3 method for class 'data.frame'
ttt(
  x,
  formula,
  ...,
  render,
  lab,
  caption,
  footnote,
  expand.along = c("rows", "columns"),
  drop = c("both", "rows", "columns", "none"),
  collapse.cells = TRUE,
  topclass = NULL,
  id = NULL,
  css = NULL,
  row.names = TRUE
)

## S3 method for class 'formula'
ttt(
  x,
  data,
  ...,
  render,
  lab,
  caption,
  footnote,
  expand.along = c("rows", "columns"),
  drop = c("both", "rows", "columns", "none"),
  collapse.cells = TRUE,
  topclass = NULL,
  id = NULL,
  css = NULL
)

## S3 method for class 'numeric'
ttt(
  x,
  rowvars,
  colvars,
  ...,
  render,
  lab,
  caption,
  footnote,
  expand.along = c("rows", "columns"),
  drop = c("both", "rows", "columns", "none"),
  collapse.cells = TRUE,
  topclass = NULL,
  id = NULL,
  css = NULL
)

## S3 method for class 'ftable'
ttt(
  x,
  text = matrix(as.character(x), nrow(x)),
  lab,
  caption,
  footnote,
  drop = c("both", "rows", "columns", "none"),
  collapse.cells = TRUE,
  html.class = NULL,
  topclass = NULL,
  id = NULL,
  css = NULL,
  ...
)

Arguments

x

An object.

...

Additional arguments passed to render.

formula

A three-part formula of the form v ~ r1 + r2 ~ c1 + c2 where v specifies a column of values, while r1, r2 specify row variables and c1, c2 column variables for splitting the values.

render

A function to render the contents of each cell to character data.

lab

Specify the contents of an extra table cell spanning over all column labels.

caption

A character string to be added as a caption to the table. The default is to omit the caption.

footnote

A character string to be added as a footnote to the table. The default is to omit the footnote.

expand.along

Specify the direction to expand the table when render returns a (named) vector.

drop

If TRUE (the default), rows and columns with zero counts will be dropped.

collapse.cells

If TRUE (the default), row/column header cells will be collapsed (merged) where appropriate.

topclass

A character string to be used as class attribute for the top-level <table> element.

id

A character string to be used as id attribute for the top-level <table> element.

css

A character string containing CSS code to be added before the top-level <table> element.

row.names

If TRUE (the default), row names will be shown in the first column of the table. Set to FALSE to suppress row names. Only applies when displaying whole data.frame.

data

A data.frame.

rowvars

A list of row variables for splitting the data.

colvars

A list of column variables for splitting the data.

text

A character matrix containing the textual content of each table cell.

html.class

A character matrix with the same dimensions as text specifying a class attribute for the corresponding <td> element.

Value

A character which contains an HTML table fragment. It has additional class attributes that cause it to be displayed in a browser in an interactive context, and rendered as HTML in a knitr context.

Methods (by class)

  • data.frame: The data.frame method.

  • formula: The formula method.

  • numeric: The numeric method.

  • ftable: The ftable method.

Examples

# mtcars examples
ttt(mtcars)
ttt(mtcars, mpg ~ gear | cyl, lab="Cylinders")
ttt(mpg ~ gear | cyl, data=mtcars, lab="Cylinders")
ttt(rownames(mtcars) ~ gear | cyl, data=mtcars,
  render=paste, collapse="<br/>", lab="Cylinders")

# OrchardSprays examples
ttt(head(OrchardSprays, 12))
ttt(head(OrchardSprays, 12), row.names=FALSE)
ttt(treatment ~ rowpos | colpos, data=OrchardSprays, lab="colpos")
ttt(paste(treatment, decrease, sep="<br/>") ~ rowpos | colpos, data=OrchardSprays, lab="colpos")

rndr.meansd <- function(x) formatC(c(Mean=mean(x), SD=sd(x)), digits=3)
ttt(decrease ~ treatment, data=OrchardSprays, render=rndr.meansd, expand.along="rows")
ttt(decrease ~ treatment, data=OrchardSprays, render=rndr.meansd, expand.along="columns")

# ToothGrowth examples
ttt(len ~ dose | supp, data=ToothGrowth, lab="Mean (SD)",
  render=function(x) sprintf("%0.3g (%0.3g)", mean(x), sd(x)))

ttt(len ~ dose | supp, data=ToothGrowth, lab="Supplement Type",
  render=rndr.meansd)

ttt(len ~ dose | supp, data=ToothGrowth, lab="Supplement Type",
  render=rndr.meansd, expand.along="columns")