Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的模错误_R_Modulo - Fatal编程技术网

R中的模错误

R中的模错误,r,modulo,R,Modulo,可能重复: 刚刚注意到R中的这个错误。我猜这是0.6的表示方式,但是有人知道到底发生了什么吗 根据R: 0.3 %% 0.2 = 0.1 0.4 %% 0.2 = 0 0.5 %% 0.2 = 0.1 **0.6 %% 0.2 = 0.2** 0.7 %% 0.2 = 0.1 0.8 %% 0.2 = 0 发生了什么事?除了@joshua Ulrich的评论 从?'%%' %%和x%/%y可用于非整数y,例如1%/%0.2,但结果可能存在表示错误,因此可能取决于平台。由于0.2的IEC 60

可能重复:

刚刚注意到R中的这个错误。我猜这是0.6的表示方式,但是有人知道到底发生了什么吗

根据R:

0.3 %% 0.2 = 0.1
0.4 %% 0.2 = 0
0.5 %% 0.2 = 0.1
**0.6 %% 0.2 = 0.2**
0.7 %% 0.2 = 0.1
0.8 %% 0.2 = 0

发生了什么事?

除了@joshua Ulrich的评论

?'%%'

%%和x%/%y可用于非整数y,例如1%/%0.2,但结果可能存在表示错误,因此可能取决于平台。由于0.2的IEC 60059表示法是一个略大于0.2的二进制分数,因此1%/%0.2的答案应为4,但大多数平台给出5

也和我们为什么得到这个相似

> .1 + .1 + .1 == .3
[1] FALSE
正如@Ben Boker指出的,您可能需要使用

> 3:8 %% 2 / 10
[1] 0.1 0.0 0.1 0.0 0.1 0.0

@约书亚:这真的应该是一个答案,而不仅仅是一个评论+1.一个新标签“r-faq-7.31”看起来对我越来越有用了…@Gsee,我不认为这是重复的。背后的原因是一样的,但如果有人在谷歌上搜索这个问题,他们不一定会找到另一个答案。@Ricardosporta,这就是为什么我们以重复的方式关闭。当他们搜索模时,他们会找到这个,它会链接到主Q,这是它的一个副本。关闭和删除不是一回事。而且(正如现在删除的答案中指出的那样),“解决方案”是尽可能使用整数算法:
6%%2
而不是
0.6%%0.2
是的,最后这样做了。谢谢。这似乎有效:
Mod=n)返回(n);n、 数字