在任何上下文中限制在R中使用/打印的位数

时间:2017-03-17 12:25:34

标签: r significant-digits

有没有办法限制任何上下文中显示的数字?我尝试过所有事情,包括options(digits = 3)

从我的代码(调用options(digits = 3)后)看看这个输出:

compute(NN, cbind(Test_cv[,c("Activity", "Annualised_15")], (Test_cv[, "Activity"]^2), (Test_cv[, "Annualised_15"]^2) ) )

输出:

$neurons[[2]]
    [,1]      [,2]     [,3]                                                                                                        [,4]
12     1 0.9999202 0.000015 0.000000000000000005288370990993990868565821639180057900375686585903167724609375000000000000000000000000000
13     1 0.9991250 0.619258 0.000000000000013876853661493364176966747169927884897333569824695587158203125000000000000000000000000000000
35     1 0.0000727 0.003018 0.032829945321210009245849192893729195930063724517822265625000000000000000000000000000000000000000000000000

第二和第三列已经太多了,但第四列只​​是疯了!

scipen不是我想要的 - 将它设置为低值会给我科学记数法:

options(scipen = 2, digits = 3)
compute(NN, cbind(Test_cv[,c("Activity", "Annualised_15")], (Test_cv[, "Activity"]^2), 
                  (Test_cv[, "Annualised_15"]^2)  ) )

输出:

    [,1]      [,2]     [,3]      [,4]   
12     1 0.9999202 0.000015  5.29e-18 
13     1 0.9991250 0.619258  1.39e-14

我只想要这个:

    [,1]      [,2]     [,3]      [,4]   
12     1      0.99     0.00      0.00 
13     1      0.99     0.62      0.00

任何地方,任何时候。

如何在会话开始时对此进行限制,以便随时随地停止此操作 不必使用round()signif()sprintf()formatC()始终将每一段代码包装在其中一个函数中?

P.S。我还没有包含一个可重复的例子,因为我确信很多人都看过这种事情,这是一个非常笼统的问题。

很多,非常感谢能够回答这个问题的人。

0 个答案:

没有答案