输出中的圆形数字显示小的零点数量为零

问题描述:

我希望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会议提供一个全局修复。我意识到我可以通过四舍五入来开始修改事物,但与简单地为整个会话设置事物相比,它没有什么帮助。

+2

在我看来,这显示'0.000000001'为'0'无法读取,它只是误导(这有什么错科学记数法对于这样的情况?) –

+0

当我运行一个回归,我的变量往往是'scale'd使0.000000001实际上为零(无关紧要的tstat),但它显示为1e-9时,如果有一堆数字显示为1e-9,其中一些显示为1e0(这是实际上是重要的) – Alex

+2

你怎么输出你的回归?无论你使用什么功能,它都有一个打印命令。在该打印命令中,根据需要插入“round(x,4)”。 –

尝试

sprintf("%.4f", 0.00000001) 
[1] "0.0000" 
+1

但是这不像海报似乎想要的那样是全局性的。 –

+0

谢谢,但正如泰勒所说,我希望在会议中做一次事情,而不是每次我做回归时四舍五入。 – Alex

?options,特别是digitsscipen选项。

+1

你能更具体吗?显然,我已经从这个问题中看到了那些...... – Alex

结合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)