【发布时间】:2019-07-08 20:28:19
【问题描述】:
我目前必须使用R Markdown 创建一个.pdf 文档。我正在使用knitr 包将我的数据帧“转换”为 LaTeX。我通常没有问题,但这次我很不确定如何解决我的问题。
我需要获取列表中每个元素(一些数据框)的标题,以便在 .pdf 文件中显示为标题。
这是我拥有的数据示例:
library(knitr)
library(kableExtra)
df1 <- data.frame(col1 = c(1,2,3), col2 = c("a", "b", "c"))
df2 <- data.frame(col1 = c(6,7,8), col2 = c("d", "e", "f"))
list <- list("df1" = df1, "df2" = df2)
print(list)
$`df1`
col1 col2
1 1 a
2 2 b
3 3 c
$df2
col1 col2
1 6 d
2 7 e
3 8 f
我的knitr 和kableExtra 代码:
my_function <- function(list){
kable(list, "latex", longtable = T,
caption = "df1 and df2 respectively") %>%
kable_styling(font_size = 7,
latex_options = c("repeat_header"),
full_width = F)
}
print(lapply(list, my_function))
目前,输出文档上两个表的标题均为 df1 and df2 respectively,而我希望第一个为 df1,第二个为 df2,依此类推...
我不习惯在kable() 中使用list(),因为我主要使用data.frame/data.table。我尝试用names()、cat()、...的参数替换caption,但没有得到我想要的结果。我很确定这很简单。
有人可以帮助我吗?谢谢。
【问题讨论】:
标签: r r-markdown knitr kable kableextra