我仍然是R的新手用户,并且一直在阅读Hadley的Advanced R以提高我的R编程技能。
我在他的书中遇到了这段代码:
NULL>0
此代码的输出为 logical(0)
。
我对此有两个问题:
问题1:logical(0)
是什么意思?
问题 2:我本来希望 TRUE/FALSE 作为返回值。这是因为他谈到了 R 中的强制规则,特别是逻辑<整数><双><字符(最不灵活到最灵活(。因此,我假设NULL
是逻辑类型。>双>整数>
我不太确定NULL
在这个等式中的位置。我将不胜感激任何解释。
提前谢谢。
logical(0)
是长度为零的逻辑向量。 NULL
是它自己的类型,如typeof(NULL)
所示,不包含任何内容,如length(NULL)
所示。
将NULL
与 0 进行比较是没有意义的;它不是一个数值,甚至根本不是一个值。比较没有答案,因此不返回逻辑值,只返回一个空向量。
例如,考虑以下输出:
c(TRUE, FALSE, NULL)
NULL
将被忽略,而不是产生错误或被转换。您应该将其视为实际上什么都没有,与NA
相反,这表明某种类型的缺失值 - 尝试在上面的串联中用NA
替换NULL
。