R 比较浮点序列和向量
这太傻了,我几乎不敢问。但事情是这样的R 比较浮点序列和向量,r,comparison,seq,R,Comparison,Seq,这太傻了,我几乎不敢问。但事情是这样的 > b <- c( 0.54, 0.56, 0.58, 0.6 ) > s <- seq( 0.54, 0.60, 0.02 ) 有什么好处?我一定错过了一些很愚蠢的事情。顺便说一下,我让一位同事在他的机器上复制了同样的东西。我正在使用 > sessionInfo() R version 3.0.0 (2013-04-03) Platform: x86_64-w64-mingw32/x64 (64-bit) locale
> b <- c( 0.54, 0.56, 0.58, 0.6 )
> s <- seq( 0.54, 0.60, 0.02 )
有什么好处?我一定错过了一些很愚蠢的事情。顺便说一下,我让一位同事在他的机器上复制了同样的东西。我正在使用
> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Canada.1252 LC_CTYPE=English_Canada.1252 LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C LC_TIME=English_Canada.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.0.0
关于seq
在文档中的行为的详细信息,也许
更新:请参见下面的答案和。教训:永远不要忘记这一切。尝试使用
all.equal
函数
> all.equal(b,s)
[1] TRUE
要澄清的是,这些值并不是按照您的想法存储的。您可以通过查看
data.frame(b=format(b,nsmall=20),s=format(s,nsmall=20))
来查看r使用==
测试的内容。很明显,他们并不完全平等,但我很平等。这就是all.equal
返回的结果,“近似相等”。@rawr这正是让我困惑的地方。这个例子很有帮助。谢谢
> all.equal(b,s)
[1] TRUE