【发布时间】:2016-08-04 19:34:20
【问题描述】:
我在一个简单的条件下遇到了一些非常不寻常的结果,并且真的需要其他人在他们的机器上运行它以进行健全性检查。代码如下:
mySEQ <- seq(0.1, 1.0, by = 0.1)
for (s in c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)) { print((s + .1) %in% mySEQ) }
mySEQ[3] == 0.3
结果:
> mySEQ <- seq(0.1, 1.0, by = 0.1)
> for (s in c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)) { print(s %in% mySEQ) }
[1] TRUE
[1] TRUE
[1] FALSE
[1] TRUE
[1] TRUE
[1] TRUE
[1] FALSE
[1] TRUE
[1] TRUE
[1] TRUE
> mySEQ[3] == 0.3
[1] FALSE
> mySEQ[3]
[1] 0.3
我对为什么它们不都打印出 TRUE 感到非常困惑。好像 0.3 和 0.7 有问题。我更新了 R 和我所有的包,但只需要其他人运行它来检查它是否只有我。这似乎与seq 函数有关。谢谢。
【问题讨论】:
标签: r conditional sequence operator-keyword