如何在gt::cols_label的.list参数中使用Markdown格式重命名列
解决gt::cols_label()中通过.list传入带md格式列名的问题
问题出在你用c()创建向量再转为列表的操作上——c()会强制统一元素类型,把md()生成的带格式的特殊对象转换成普通字符串,导致gt无法识别markdown格式标记。
直接用list()构造包含md()对象的列表即可解决:
library(gt) library(dplyr) # 正确定义带md格式的列名列表 rename_format_cols <- list( manufacturer = md("*M*a**nufac***ture***r**") ) # 调用cols_label时传入.list参数 mpg %>% gt() %>% cols_label( .list = rename_format_cols )
如果需要给多列设置带markdown格式的列名,直接在list里添加更多元素即可:
rename_format_cols <- list( manufacturer = md("*M*a**nufac***ture***r**"), model = md("**Model** Name"), year = md("*Production* Year") )
原理很简单:list()会完整保留md()返回对象的类属性(md_text),而c()会剥离这些属性转成纯字符,gt的cols_label()只有识别到md_text类型的对象时,才会解析其中的markdown格式。
内容的提问来源于stack exchange,提问作者paulge
相关产品推荐
相关产品推荐

