如何在flextable中保留字符列的额外空白字符?
在flextable中保留字符列的额外空白
当你运行以下代码时:
flextable(data.frame("temp" = c("Lore ips", "dol sit")))
会发现原数据里"dol"与"sit"之间的两个空格被合并成一个,导致"ips"和"sit"无法对齐。这是因为flextable默认会合并连续空白字符,要保留原始空格可以用以下两种方法:
方法一:用
ft_extra()设置空白保留规则
借助ft_extra()的white_space参数,将其设为"pre",对应CSS的white-space: pre规则,能完整保留文本中的所有空格、换行符:library(flextable) df <- data.frame("temp" = c("Lore ips", "dol sit")) flextable(df) %>% ft_extra(white_space = "pre")方法二:替换空格为非换行空格(
)
通过set_formatter()配合htmltools::HTML(),把普通空格替换成HTML的非换行空格,避免被自动合并:library(flextable) library(htmltools) df <- data.frame("temp" = c("Lore ips", "dol sit")) flextable(df) %>% set_formatter(temp = function(x) { HTML(gsub(" ", " ", x)) })
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

