我正在尝试发布一个包含1000个分隔符的表,我对此没有任何好运。我按照这里的链接:Set global thousand separator on knitr但是没有取得多大成功。
我的示例数据集位于:https://goo.gl/G7sZhr
RMarkdown代码在这里:
---
title: "Table Example"
author: "Krishnan Viswanathan"
date: "August 4, 2015"
output: html_document
---
加载数据
{r, results='asis', message = FALSE, tidy=TRUE}
load("i75_from_flow.RData")
library(data.table)
{r, results='asis', echo=FALSE,message = FALSE, tidy=TRUE}
i75_from_flow <- i75_from_flow[order(-Tons),]
knitr::kable(i75_from_flow)
但是,当我在RMarkdown文档中包含这段代码(knit_hook $ set)时,我会收到错误。
```{r, results='asis', echo=FALSE,message = FALSE, tidy=TRUE}
i75_from_flow <- i75_from_flow[order(-Tons),]
knit_hooks$set(inline = function(x) {
prettyNum(x, big.mark=",")
})
knitr::kable(i75_from_flow)
```
错误:
# object knit_hooks not found.
非常感谢任何关于我做错了什么以及如何解决这个问题的见解。
谢谢,
克里希南
答案 0 :(得分:13)
最简单的方法是使用kable()
函数本身的格式参数,您可以在其中指定大数字标记,如下所示:
kable(df, format.args = list(big.mark = ","))
所以你的例子看起来像:
```{r, results='asis', echo=FALSE,message = FALSE, tidy=TRUE}
i75_from_flow <- i75_from_flow[order(-Tons),]
knitr::kable(i75_from_flow, format.args = list(big.mark = ","))
```
无需编织钩。
答案 1 :(得分:4)
如何使用pander
一系列选项来微调markdown table:
> pander::pander(i75_from_flow, big.mark = ',')
----------------------------
ORIGFIPS TERMFIPS Tons
---------- ---------- ------
12,023 12,117 5,891
12,119 12,105 4,959
12,001 12,057 3,585
12,001 12,113 3,083
12,047 12,047 1,517
----------------------------
答案 2 :(得分:2)
找不到knit_hooks对象的原因是您需要加载knitr
包或使用knitr::
前缀来设置knit_hooks
选项。例如:
knitr::knit_hooks$set(inline = function(x) {
prettyNum(x, big.mark=",")
})