r - 如何使用 kableExtra 在函数中指定分组的列名?
问题描述
library(tidyverse)
library(knitr)
library(kableExtra)
kable(head(mpg)) %>% kable_styling %>% add_header_above(c(" " = 6,
"foobar" = 5))
当您想要手动指定分组的列标题时效果很好:
但是我想将此功能放在一个函数中,我尝试过:
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")
但这会返回命名参数作为列标题名称:
我猜这与惰性评估有关吗?
解决方案
标头是一个以 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")
推荐阅读
- ios - Different look at iPhone 8 and iPhone X
- java - 在命令行中构建项目时如何更改存储库的 Maven 构建路径
- java - Java 反射:扩展类的类的访问方法
- javascript - 带有角度 6 的 Firebase 导入问题?
- python - How do I get DOT to output its node?
- apache-spark - 如果其中一个节点已满,Spark 广播变量会发生什么情况
- joomla - Joomla1.5→3.9:老Artisteer模板在某个变量处中断
- php - Laravel Form::select not binding on model in production, but local
- sql - SQL Server : skip update if variable is NOT NULL
- c - comparing an inputted string to a printed function