如何在Rmarkdown的kableExtra表格中添加千位空格?
解决kableExtra表格千位空格格式化问题
你之前的代码没生效,是因为
knitr::kable()的big.mark参数仅对LaTeX输出有效,HTML渲染下这个参数不起作用。针对HTML表格,给你两个实用的解决方法:手动格式化数字列后再生成表格
如果知道哪些列是需要处理的数字列,可以先用format()函数把数字转成带千位空格的字符,再传入kable:library(kableExtra) # 假设表格的第2、3列是数字列,按需修改列索引或列名 tableau_ST_CST[, c(2, 3)] <- lapply(tableau_ST_CST[, c(2, 3)], function(x) format(x, big.mark = " ")) # 生成表格 kable(tableau_ST_CST) %>% kable_styling(full_width = F)结合dplyr和formattable包批量处理
如果你习惯用dplyr处理数据,这种方式更简洁:library(dplyr) library(kableExtra) library(formattable) tableau_ST_CST %>% # 替换成你需要格式化的列名 mutate(across(c(销售额, 用户数), ~comma(., big.mark = " "))) %>% kable() %>% kable_styling(full_width = F)
注意:格式化后数字会转为字符型,不影响HTML显示,但如果后续还要做数据计算,记得提前保留原始数据副本。
内容的提问来源于stack exchange,提问作者Zaggamim
相关产品推荐
相关产品推荐

