knitr显示整数的数字,而不使用科学计数法。

4 浏览
0 Comments

knitr显示整数的数字,而不使用科学计数法。

当使用内联代码显示一个超过四位数的数字时,例如

`r 21645`

在生成的knitted html文件中的结果是这样的:2.164510^{4}(实际上在内联挂钩中进行了计算,其结果为21645)。尽管我只想打印数字,如:21645。我可以很容易地通过将其包装在as.integerformatprint中来修复一个实例,但是如何设置整个knitr文档的选项,以便它将整数打印为这样的方式(我只需要打印5位数)?手动操作变得非常烦人。设置options(digits = 7)没有帮助。我猜我需要设置一些代码块选项或定义一个挂钩,但我不知道如何操作。

0
0 Comments

在使用knitr文档时,如果想要以浮点数的形式显示整数,而不是科学计数法的形式,可以通过在knitr文档的setoptions-chunk的开头添加以下代码来解决:

options(scipen=999)

这个问题的解决方法可以在Hiemstra的回答中看到:

https://stackoverflow.com/a/25947542/4061993

根据?options的文档:

scipen:整数。在决定以定点数还是指数表示数值时应用的惩罚。正值偏向于定点表示,负值偏向于科学计数法表示:除非定点表示比科学计数法表示宽出scipen位以上,否则将优先选择定点表示。

0
0 Comments

原因:在使用knitr生成报告时,当显示一个整数时,可能会遇到科学计数法的显示格式。有时,用户可能不希望显示科学计数法,但又不想完全禁用科学计数法。

解决方法:可以使用format()函数来设置scientific=FALSE,以避免显示科学计数法。具体操作如下:

`r format(21645, scientific=FALSE)`

0