integer()== integer()不等于TRUE的原因是什么

时间:2014-04-28 15:30:33

标签: r

为什么在以下示例中,最后一个条件返回逻辑(0)而不是TRUE? 它背后的原因是什么?

> integer(2) == integer(2)
[1] TRUE TRUE
> integer(1) == integer(1)
[1] TRUE
> integer(0) == integer(0)
logical(0)

同样

> NULL == NULL
logical(0)

> a <- NULL
> b <- NULL
> a == b
logical(0)

1 个答案:

答案 0 :(得分:2)

正如评论中所指出的,您尝试比较失败的对象不是数字实体,而是数据表示对象。

如果您尝试identical(integer(0), integer(0)),您可以看到对象是相同的,只是它们不具有可比性。