R语言knitr包 kable函数使用说明

返回R语言knitr包函数列表


功能\作用概述:

一个非常简单的表格生成器,设计简单。它并不打算取代任何其他R包制作表格。kable()函数为单个数据对象返回一个表,如果输入对象是数据对象列表,则返回包含多个表的表。当x是数据对象列表时,kables()函数与kable(x)类似,但kables()直接接受kable()值列表,而不是数据对象(参见下面的示例)。


语法\用法:

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

kables(x, format, caption = NULL, label = NULL)


参数说明:

x : 对于kable(),x是R对象,通常是amatrix或数据帧。对于kables(),每个元素都是从kable()返回的值的列表。

format : 字符串。可能的值有latex、html、pipe(Pandoc的pipe表)、simple(Pandoc的simple表)和rst。如果函数是在knitrdocument中调用的,则此参数的值将自动确定。也可以在全局optionknitr.table.format中设置格式值。如果format是一个函数,它必须返回一个字符字符串。

digits : 传递给toround()的数字列的最大位数。这也可以是长度ncol(x)的向量,用于设置各个列的位数。

row.names : 逻辑:是否包含行名称。默认情况下,如果rownames(x)既不为NULL也不与1:nrow(x)相同,则包含行名称。

col.names : 要在表中使用的列名的字符向量。

align : 列对齐:由“l”(左)、“c”(中)和/或“r”(右)组成的字符向量。默认情况下或ifalign=NULL,数字列右对齐,其他列左对齐。如果length(align)==1L,则字符串将展开为单个字母的向量,例如“clc”becomesc('c'、'l'、'c'),除非输出格式是LaTeX。

caption : 表格标题。

label : 表引用标签。默认情况下,标签是从knitr::filename_points_covered_by_landmarks(“标签”)。

format.args : 要传递给format()以格式化表值的参数列表,例如list(big.mark=',')。

escape : 布尔值;在生成HTML或LaTeX表时是否转义特殊字符。当escape=FALSE时,必须确保特殊字符不会触发LaTeX或HTML中的语法错误。

... : 其他参数(参见示例)。


示例\实例:

d1 = head(iris)
d2 = head(mtcars)
# pipe tables by default
kable(d1)
kable(d2[, 1:5])
# no inner padding
kable(d2, format = "pipe", padding = 0)
# more padding
kable(d2, format = "pipe", padding = 2)
kable(d1, format = "latex")
kable(d1, format = "html")
kable(d1, format = "latex", caption = "Title of the table")
kable(d1, 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)
# change LaTeX default table environment
kable(d1, format = "latex", caption = "My table", table.envir = "table*")
# add some table attributes
kable(d1, format = "html", table.attr = "id=\"mytable\"")
# reST output
kable(d2, format = "rst")
# no row names
kable(d2, format = "rst", row.names = FALSE)
# Pandoc simple tables
kable(d2, format = "simple", 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(d2, format = "html")
cat(x, sep = "\n")
# can also set options(knitr.table.format = 'html') so that the output is HTML

# multiple tables via either kable(list(x1, x2)) or kables(list(kable(x1),
# kable(x2)))
kable(list(d1, d2), caption = "A tale of two tables")
kables(list(kable(d1, align = "l"), kable(d2)), caption = "A tale of two tables")