似乎我的一台机器为 seq 函数产生了错误的结果,而另一台机器或在线 r-fiddle (http://www.r-fiddle.org 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
稍微更改命令会返回预期结果
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
locale:
[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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)