为什么在以下示例中,最后一个条件返回逻辑(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)
答案 0 :(得分:2)
正如评论中所指出的,您尝试比较失败的对象不是数字实体,而是数据表示对象。
如果您尝试identical(integer(0), integer(0))
,您可以看到对象是相同的,只是它们不具有可比性。