如何移除kable表格SUM列的%符号且保留其他列(R语言)
解决保留全表同时移除SUM列百分号的问题
你只需要单独对最后一列执行gsub替换操作,而非把整个表格对象替换成最后一列。具体修改代码如下:
# 生成带合计列的表格并格式化内容 B <- addmargins(table(data$range, data$symbols)) B[] <- sprintf('%s (%s)', as.matrix(B), paste0(round(prop.table(as.matrix(B), 1), 2) * 200, '%')) # 仅定位到最后一列(SUM列),移除其中的%符号 B[, ncol(B)] <- gsub("%", "", B[, ncol(B)]) # 输出完整的格式化表格 knitr::kable(B) %>% kable_styling(bootstrap_options= c("striped", "hover"), font_size=16, position="center")
关键说明:
ncol(B)会自动获取表格的最后一列索引,不管表格原有列数多少,都能精准定位到SUM合计列B[, ncol(B)] <- gsub(...)仅对最后一列的元素做替换,其他列的内容保持原样- 最后再输出整个修改后的
B对象,就能得到保留所有列且SUM列无%符号的表格
内容的提问来源于stack exchange,提问作者States
相关产品推荐
相关产品推荐

