当显示带有超过四位数的内联代码的数字时
`r 21645`
Run Code Online (Sandbox Code Playgroud)
一个针织的html文件的结果是:( 2.164510^{4}实际上在内联钩子里面有一个计算结果,导致21645).即使我只是想要它打印数字,如下:21645.我可以很容易地解决这个问题,将一个实例包装在里面as.integer或者format或者print,但是如何为整个knitr文件设置一个选项,以便它打印整个整数(我需要的是打印5位数)?手动执行此操作非常烦人.设置options(digits = 7)没有帮助.我猜我必须设置一些chunk-optionor定义一个钩子,但我不知道怎么做
grr*_*bla 18
我已经解决了它,只是在knitr文档开头的setoptions-chunk中包含以下代码行:
options(scipen=999)
Run Code Online (Sandbox Code Playgroud)
解决了这个问题,就像@Paul Hiemstra的回答一样:
来自以下文件?options:
scipen:整数.决定以固定或指数表示法打印数值时应用的惩罚.正值偏向固定和负向科学记数:固定符号将是首选,除非它超过更宽的数字.
Meg*_*ron 11
如果您不想在此实例中显示科学记数法,但又不想为knitr报告完全禁用它,则可以使用format()和设置scientific=FALSE:
`r format(21645, scientific=FALSE)`
Run Code Online (Sandbox Code Playgroud)
请注意,如果将数字键入为整数,则其格式将正确:
`r 21645L`
Run Code Online (Sandbox Code Playgroud)
当然,您始终可以设置一个内联挂钩以获得更大的灵活性(甚至最好像您的回答中那样设置全局选项):
```{r}
inline_hook <- function(x) {
if (is.numeric(x)) {
format(x, digits = 2)
} else x
}
knitr::knit_hooks$set(inline = inline_hook)
```
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7598 次 |
| 最近记录: |