问题描述
我在“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 (将#修改为@)