5

我希望我的 R 控制台的输出看起来可读。为此,我希望 R 将我所有的数字四舍五入到最接近的 N 位小数。我取得了一些成功,但它并不完全有效:

> options(scipen=100, digits=4)
> .000000001
[1] 0.000000001
> .1
[1] 0.1
> 1.23123123123
[1] 1.231

我希望 0.000000001 显示为简单的 0。如何做到这一点?让我更具体一点:我想要对整个 R 会话进行全局修复。我意识到我可以通过四舍五入来开始修改事物,但这比简单地为整个会话设置事物的帮助要小。

4

3 回答 3

5

查看?options,特别是digitsandscipen选项。

于 2013-04-02T01:53:58.427 回答
2

尝试

sprintf("%.4f", 0.00000001)
[1] "0.0000"
于 2013-03-31T18:24:46.990 回答
0

结合 Greg Snow 和 Ricardo Saporta 已经给你的答案,得到正确答案:options('scipen'=+20) and options('digits'=2),结合round(x,4)

round(x,4)将四舍五入接近零的小数量。

要么对回归结果进行一次四舍五入并将其存储:

x <- round(x, 4)

...否则是的,如果您不想存储其舍入值,则每次显示少量时都必须这样做。在您的情况下,既然您说接近零的小量有效地表示零,那么您为什么不四舍五入呢?

如果由于某种原因您需要同时保留精确版本和圆形版本,那么就这样做。

x.rounded <- round(x, 4)
于 2015-11-24T00:46:00.437 回答