В настоящее время мне нужно создать .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()
, ... и не получил желаемого результата. Я почти уверен, что в этом есть что-то простое.
Кто-нибудь мог мне помочь? Спасибо.