R Markdown Table 1000分离器

时间:2015-08-04 15:38:28

标签: r-markdown

我正在尝试发布一个包含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.

非常感谢任何关于我做错了什么以及如何解决这个问题的见解。

谢谢,

克里希南

3 个答案:

答案 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=",")
})