Мне нужно создать документ .pdf
с R Markdown
. Я использую пакет 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
для второго и так далее ...
Я не привык к list()
внутри kable()
, так как я в основном использую data.frame / data.table. Я попытался заменить caption
аргументами, используя names()
, cat()
, ... и не получил желаемый результат. Я почти уверен, что в этом есть что-то простое.
Кто-нибудь может мне помочь? Спасибо.