R notebook: opts_chunk has no effect

╄→尐↘猪︶ㄣ 提交于 2019-12-07 02:48:13

问题


I'm working on my first R notebook which works pretty well, except for one issue. I'd like to be the numbers that I output inline with

`r realbignumber`

to have commas as separator and max 2 decimal points: 123,456,789.12

In order to achieve this, I added a chunk at the beginning of my document, which contains...

```{r setup}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, cache = TRUE, message = FALSE)
knitr::opts_chunk$set(inline = function(x){if(!is.numeric(x)){x}else{prettyNum(round(x,1), big.mark = ",")}})
options(scipen=999)
```

The suppression of scientific numbers works like a charm, so the chunk is definitely executed. However, formatting of the inline output of numbers does not work.

Any ideas why that could be? Do these kinds of settings generally not work with R notebooks?

Edit:

The solution suggested here also has no effect on the output format of numbers.


回答1:


Here is an example illustrating two ways to print a large number in an R Markdown document. First, code to use the prettyNum() function in an inline R chunk.

Sample document where we test printing a large number. First set the number in an R chunk. 
```{r initializeData}
theNum <- 1234567891011.03
options(scipen=999,digits=16)
```

The R code we'll use to format the number is: `prettyNum(theNum,width=23,big.mark=",")`.

Next, print the large number. `r prettyNum(theNum,width=23,big.mark=",")`.

The alternative of using chunk options works as follows.

 Now, try an alternative using knitr chunks.

 ```{r prettyNumHook }
 knitr::knit_hooks$set(inline = function(x) { if(!is.numeric(x)){ x }else{ prettyNum(x, big.mark=",",width=23) } })
 ```
 Next, print the large number by simply referencing the number in an inline chunk as `theNum`: `r theNum`. 

When both chunks of code are embedded in an Rmd file and knit, the output is as follows, showing that both techniques produce the same result.

regards,

Len



来源:https://stackoverflow.com/questions/41186677/r-notebook-opts-chunk-has-no-effect

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!