如何解决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 举报,一经查实,本站将立刻删除。