R 统计包中的 for 或 while 循环中的罕见精度减法

问题描述

我在“while”或“for”循环中做一个简单的减法...问题是我期待一个有规律的步长变化,例如,每个 0.01...但经过一些计算 R 改变突然的精度,从“e-02”到“e-17”(!!!!!!)数字:

代码

   $scope.dtColumns = [
    DTColumnBuilder.newColumn('traceId').withTitle('Trace ID'),DTColumnBuilder.newColumn('approval.usr').withTitle('Name'),DTColumnBuilder.newColumn('approval.threshold').withTitle('Match Strength %')
];

输出

move <- 0.01
p <- 0.1
rwalk <- p
count <- 2
for(i in 1:30){
    p <- p - move
    rwalk[count] <- p
    count <- count + 1
    }
p
rwalk

...所以 rwalk 中的位置 11 是:1.0408e-17 !!!!!!操作只是 0.01 - 0.01,结果我期望 0。我有选项(数字 = 5),小于 R 中的认值(同样的结果适用于认数字) 我真的很想知道为什么会这样......因为你可以想象,这是一个完全出乎意料的结果......如果我使用在某些值之间工作的'while',同样适用...... 问题是,如果我需要使用我期望为 0 的 RARE 值,在“if”语句中作为条件,显然值 == 0,永远不会成立,仅举一个简单的例子...... 对我来说非常重要的是要知道为什么 R 会做出这样的认行为...... 非常感谢您的关注!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)