如何使用 kableExtra 在函数内指定分组的列名?
How can you specify grouped column names inside a function with kableExtra?
library(tidyverse)
library(knitr)
library(kableExtra)
kable(head(mpg)) %>% kable_styling %>% add_header_above(c(" " = 6,
"foobar" = 5))
当您想手动指定分组列 header 时效果很好:
但是我想把这个特性放在一个函数中,我试过了:
a_function <- function(my_column_head_name){
kable(head(mpg)) %>% kable_styling %>% add_header_above(c(" " = 6,
my_column_head_name = 5))
}
a_function("foobar")
但是这个 returns 命名参数作为列 header 名称:
我猜这与惰性求值有关?
header 是一个以 colspan 为值的命名字符向量。您必须创建向量并使用 names() 分配名称。
a_function <- function(my_column_head_name){
myHeader <- c(" " = 6, my_column_head_name = 5)
names(myHeader) <- c(" ", my_column_head_name)
kable(head(mpg)) %>% kable_styling %>% add_header_above(myHeader)
}
a_function("foobar")
library(tidyverse)
library(knitr)
library(kableExtra)
kable(head(mpg)) %>% kable_styling %>% add_header_above(c(" " = 6,
"foobar" = 5))
当您想手动指定分组列 header 时效果很好:
但是我想把这个特性放在一个函数中,我试过了:
a_function <- function(my_column_head_name){
kable(head(mpg)) %>% kable_styling %>% add_header_above(c(" " = 6,
my_column_head_name = 5))
}
a_function("foobar")
但是这个 returns 命名参数作为列 header 名称:
我猜这与惰性求值有关?
header 是一个以 colspan 为值的命名字符向量。您必须创建向量并使用 names() 分配名称。
a_function <- function(my_column_head_name){
myHeader <- c(" " = 6, my_column_head_name = 5)
names(myHeader) <- c(" ", my_column_head_name)
kable(head(mpg)) %>% kable_styling %>% add_header_above(myHeader)
}
a_function("foobar")