kable

0th

Percentile

Create tables in LaTeX, HTML, Markdown and reStructuredText

This is a very simple table generator. It is simple by design. It is not intended to replace any other R packages for making tables.

Usage
kable(x, format, digits = getOption("digits"), row.names = NA, col.names = NA, align, 
    caption = NULL, format.args = list(), escape = TRUE, ...)
Arguments
x

an R object (typically a matrix or data frame)

format

a character string; possible values are latex, html, markdown, pandoc, and rst; this will be automatically determined if the function is called within knitr; it can also be set in the global option knitr.table.format; if format is a function, it must return a character string

digits

the maximum number of digits for numeric columns (passed to round()); it can also be a vector of length ncol(x) to set the number of digits for individual columns

row.names

a logical value indicating whether to include row names; by default, row names are included if rownames(x) is neither NULL nor identical to 1:nrow(x)

col.names

a character vector of column names to be used in the table

align

the alignment of columns: a character vector consisting of 'l' (left), 'c' (center) and/or 'r' (right); by default, numeric columns are right-aligned, and other columns are left-aligned; if align = NULL, the default alignment is used; alternatively, if length(align) == 1L, the string will be expanded to a vector of individual letters unless the output format is LaTeX; for example, 'clc' will be converted to c('c', 'l', 'c')

caption

the table caption

format.args

a list of arguments to be passed to format() to format table values, e.g. list(big.mark = ',')

escape

escape special characters when producing HTML or LaTeX tables

...

other arguments (see examples)

Details

Missing values (NA) in the table are displayed as NA by default. If you want to display them with other characters, you can set the option knitr.kable.NA, e.g. options(knitr.kable.NA = '') to hide NA values.

Value

A character vector of the table source code.

Note

The tables for format = 'markdown' also work for Pandoc when the pipe_tables extension is enabled (this is the default behavior for Pandoc >= 1.10).

When using kable() as a top-level expression, you do not need to explicitly print() it due to R's automatic implicit printing. When it is wrapped inside other expressions (such as a for loop), you must explicitly print(kable(...)).

References

See https://github.com/yihui/knitr-examples/blob/master/091-knitr-table.Rnw for some examples in LaTeX, but they also apply to other document formats.

See Also

Other R packages such as huxtable, xtable, kableExtra, and tables for HTML and LaTeX tables, and ascii and pander for different flavors of markdown output and some advanced features and table styles.

Aliases
  • kable
Examples
library(knitr) # NOT RUN { kable(head(iris), format = "latex") kable(head(iris), format = "html") kable(head(iris), format = "latex", caption = "Title of the table") kable(head(iris), format = "html", caption = "Title of the table") # use the booktabs package kable(mtcars, format = "latex", booktabs = TRUE) # use the longtable package kable(matrix(1000, ncol = 5), format = "latex", digits = 2, longtable = TRUE) # add some table attributes kable(head(iris), format = "html", table.attr = "id=\"mytable\"") # reST output kable(head(mtcars), format = "rst") # no row names kable(head(mtcars), format = "rst", row.names = FALSE) # R Markdown/Github Markdown tables kable(head(mtcars[, 1:5]), format = "markdown") # no inner padding kable(head(mtcars), format = "markdown", padding = 0) # more padding kable(head(mtcars), format = "markdown", padding = 2) # Pandoc tables kable(head(mtcars), format = "pandoc", caption = "Title of the table") # format numbers using , as decimal point, and ' as thousands separator x = as.data.frame(matrix(rnorm(60, 1e+06, 10000), 10)) kable(x, format.args = list(decimal.mark = ",", big.mark = "'")) # save the value x = kable(mtcars, format = "html") cat(x, sep = "\n") # can also set options(knitr.table.format = 'html') so that the output is HTML # }
Documentation reproduced from package knitr, version 1.17, License: GPL

Community examples

Looks like there are no examples yet.