R中的简单除法产生错误的结果

时间:2017-05-03 14:15:01

标签: r

我遇到了R.

的问题

如果我插入以下分部,我会得到这些结果。

9207550/4

结果:

2301888

但它应该是:

2301887.5

如果我为几个零添加扩展分子和分母,我会得到相同的结果:

9207550.0000 / 4.0000

2301888

有人遇到同样的问题吗?有人可以向我解释这种行为吗?

提前谢谢你。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

R中有一个选项可以控制显示的位数。举个例子:

options(digits=5)

或者如果你不是科学记谱法的粉丝那么:

options(digits = 999)

大多数系统都倾向于内置一些默认显示精度,但这与@jogo提到的实际计算不同。 <{1}}与结果再现中的任何系统没有什么不同。

就计算而言,基本R计算对于您将在日常生活中处理的大多数数字来说已足够,但是,如果您真的想要精确到{{1} R通常大于15的小数,我建议使用nngmp个包。

修改

我刚刚注意到你在Rmpfr师的尝试。某些语言版本(如 python 2.xx )在rcdd vs float时对分割有不同的处理方式,在编写时考虑到存储和计算效率。这种差异现在已经在最新版本中消失了。 floats由统计学家为统计学家建立,因此您可以放心,在数学运算方面,默认处理方式会有所不同。数字就是它们 - 数字。 integersR是程序化结构,而不是数学结构。