我正在处理R
非常小的数字,这些数字反映了最大似然估计算法中的概率。其中一些数字小到 1e-155(或更小)。然而,当发生像求和这样简单的事情时,精度水平会被截断为最不精确的水平,从而破坏我的计算精度并产生毫无意义的结果。
例子:
> sum(c(7.831908e-70,6.002923e-26,6.372573e-36,5.025015e-38,5.603268e-38,1.118121e-14, 4.512098e-07,4.400717e-05,2.300423e-26,1.317602e-58))
[1] 4.445838e-05
从示例中可以看出,此计算的基数是 1e-5 ,它以非常粗鲁的方式将敏感计算四舍五入。
有没有解决的办法?为什么会R
选择这种奇怪的自动行为?也许它不是真的这样做,我只是看到截断形式的结果?在这种情况下,具有正确精度的实际数字是否存储在变量中?