r - 如何用kables中的空白替换0

标签 r kableextra kable

我正在使用 kable 函数创建一个相当大的 html 表,该表中有很多 0。为了更清楚地显示相关信息,我试图通过用空格替换它们来隐藏表格中的 0。

现在,我正在尝试这样的事情,但它不起作用:

my_table = knitr::kable(...)
cat(gsub(0," ",my_table), sep = '\n')

与上述类似的东西可以删除 NA,但我似乎无法让它为 0 工作。

提前致谢!

编辑:示例数据:
Product = c('A','B','A','A','C','B')
Month = c('Jan', 'Feb', 'Feb', 'Apr', 'Jan', 'Feb')
my_data = data.frame(Product, Month)
my_table = table(my_data)
kable(my_table) #This has the 0's which I don't want

Product | Month

A       | Jan

B       | Feb

A       | Feb

A       | Apr

C       | Jan

B       | Feb

电流输出:
----Jan  Feb  Mar Apr

A  1 1 0 1

B  0 2 0 0

C  1 0 0 0

期望的输出:
----Jan Feb Mar Apr

A 1 1 - 1

B - 2 - -

C 1 - - -

除了“-”将是一个空格而不是一个破折号

EDIT2:没关系,即使这真的很hacky,我也想通了:
my_kable = knitr::kable(my_table)
gsub(0, ' ', my_kable)

哈哈

最佳答案

你原来的原因gsub不起作用的原因是它正在将表格展平为向量。维护表结构的众多选择之一是使用 replace功能:

knitr::kable(replace(my_table, my_table==0, ""))

#|   |Apr |Feb |Jan |
#|:--|:---|:---|:---|
#|A  |1   |1   |1   |
#|B  |    |2   |    |
#|C  |    |    |1   |

关于r - 如何用kables中的空白替换0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214788/

相关文章:

r - 需要数据框中高级分组和数据操作的帮助

r - 更改 kableExtra 表中的特定值

pdf - 编织 PDF 时如何更改 kableExtra::spec_pointrange 的线条颜色

R kable/kableExtra,按百分比的条件格式(有缺失值)

在 R 中运行嵌套逻辑回归

从数据框中删除相似的重复项

r - 如何修复 R2jags::jags 中的 'Node inconsistent with parents'

r - 根据单元格值使用 kableExtra 为行着色

rmarkdown & kable/kableextra : Printing % symbol in Table when using escape = F

r - kable/kableExtra 的条件输出样式