I would like to create a pdf with rmarkdown. The PDF should contain a table. The table should have a dynamic column label.
The tabhead should display the calendar week.
However, the calendar week (e.g., KW29) is not displayed but the variable name "kw0".
What is my error?
library(knitr)
library(kableExtra)
library(lubridate)
options(knitr.table.format = "latex")
loadData <- function() {# load some data}
myData<- loadData ()
kw0 <- paste("KW", week(Sys.Date()) - 1, sep = "")
kw1 <- paste("KW", week(Sys.Date()), sep = "")
kw2 <- paste("KW", week(Sys.Date()) + 1, sep = "")
kw3 <- paste("KW", week(Sys.Date()) + 2, sep = "")
kable(myData, row.names = FALSE, booktabs = T) %>%
kable_styling(
full_width = TRUE,
font_size = 14
) %>% add_header_above(header = c(" " = 1, kw0 = 2, kw1 = 2, kw2 = 2, kw3 = 2))
I am glad about your advice.
The header is a named character vector with colspan as values.
You have to assign the names of the vector with the function names()
.
library(knitr)
library(kableExtra)
library(lubridate)
options(knitr.table.format = "latex")
loadData <- function() {# load some data}
myData<- loadData ()
kw0 <- paste("KW", week(Sys.Date()) - 1, sep = "")
kw1 <- paste("KW", week(Sys.Date()), sep = "")
kw2 <- paste("KW", week(Sys.Date()) + 1, sep = "")
kw3 <- paste("KW", week(Sys.Date()) + 2, sep = "")
# Set a named vector for dynamic header
# create vector with colspan
myHeader <- c(" " = 2, kw0 = 2, kw1 = 2, kw2 = 2, kw3 = 2)
# set vector names
names(myHeader) <- c(" ", kw0, kw1, kw2, kw3)
kable(myData, row.names = FALSE, booktabs = T) %>%
kable_styling(
full_width = TRUE,
font_size = 14
) %>% add_header_above(header = myHeader)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With