在knitr上设置全局千位分隔符

时间:2013-09-23 17:48:05

标签: r formatting format knitr

我希望我的knitr报告中的所有数字都默认为格式化:

format(num, digits = 2, big.mark = " ", decimal.mark = ",")

将位数默认为2,小数点标记为逗号很简单,我只需要在我的第一个R块中设置options(digits = 2, OutDec = ",")。但是,我不知道如何以该格式将千位分隔符设置为" "(或其他任何内容)。我也尝试过调整opts_chunk,但无法让它发挥作用。

当然,我正在努力避免在每个输出,内联或其他内容中插入format()。毕竟,更聪明的格式化是让我从Sweave开始编织的一件事。

如何在knitr上设置默认的千位分隔符?

1 个答案:

答案 0 :(得分:21)

正如弗兰克所说,设置如下的编织钩子解决了这个问题:

knit_hooks$set(inline = function(x) {
  prettyNum(x, big.mark=" ")
})

事实证明,knitr hooks是一种调整knitr上R块输出的好方法。看看http://yihui.name/knitr/hooks非常值得。

来源:https://groups.google.com/forum/#!msg/knitr/CnFwvk1Qn1E/WY-Xhf7Ph3AJ