为含空格列标题的flextable对象添加页脚遇问题
解决flextable列标题带空格时添加页脚的问题
我来帮你搞定这个小困扰!你遇到的问题是:当列标题包含空格这类特殊字符时,直接用反引号把列名作为add_footer的参数名,flextable没法正确解析这个带空格的列名,所以才会显示{{Speed (MPH)}}这种占位符。下面给你几种可行的解决方案:
方法一:用values参数传递命名列表
这种方式可以精准指定对应列的页脚内容,注意列名要和数据框的列名完全匹配:
library(flextable) library(magrittr) example <- head(cars) names(example) <- c("Speed (MPH)", "Distance (Ft)") example %>% regulartable() %>% add_footer(values = list(`Speed (MPH)` = "Blah Blah Blah Blah", `Distance (Ft)` = "")) %>% merge_at(j = 1:2, part = "footer")
方法二:使用modify_footer指定列赋值
如果你只需要给特定列设置页脚,用modify_footer会更直观:
example %>% regulartable() %>% modify_footer(j = "Speed (MPH)", value = "Blah Blah Blah Blah") %>% merge_at(j = 1:2, part = "footer")
方法三:用add_footer_row批量设置
如果需要给多列统一设置页脚,这种方式也很方便:
example %>% regulartable() %>% add_footer_row(values = c("Blah Blah Blah Blah", ""), colwidths = c(1,1)) %>% merge_at(j = 1:2, part = "footer")
这几种方法都能避开占位符的问题,顺利显示你想要的页脚内容~
内容的提问来源于stack exchange,提问作者Owen
相关产品推荐
相关产品推荐

