R seq函数产生错误的结果

R seq function produces wrong results

似乎我的一台机器对 seq 函数产生了错误的结果,而另一台机器或在线 r-fiddle (http://www.r-fiddle.org) 解释器给出了预期的结果。在有问题的机器上发生以下情况:

seq(from = 1, to = 1.1, by = 0.01)
[1] 1.0 1.0 1.0 1.0 1.0 1.0 1.1 1.1 1.1 1.1 1.1

稍微更改命令returns 预期结果

seq(from = 0.99, to = 1.1, by = 0.01)
[1] 0.99 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10

一旦我超过“1”阈值,就会出现错误结果,例如当我从 = 2.95 到 = 3.1 等时也是如此。不确定如何找到答案,因为我无法在我的其他机器或 r-fiddle 上复制该问题。重启电脑后问题依旧

R 版本 3.1.3 (2015-03-09)
平台:x86_64-w64-mingw32/x64(64 位)
运行 下:Windows 7 x64(内部版本 7601)Service Pack 1

语言环境:
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
[5] LC_TIME=German_Germany.1252

您将 digits 选项设置得太低:

options(digits=2)
seq(from = 1, to = 1.1, by = 0.01)
#[1] 1.0 1.0 1.0 1.0 1.0 1.1 1.1 1.1 1.1 1.1 1.1
options(digits=7)
seq(from = 1, to = 1.1, by = 0.01)
#[1] 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10