当我使用.Internal(inspect())toNA_real_和时NaN,它返回,
> .Internal(inspect(NA_real_))
@0x000001e79724d0e0 14 REALSXP g0c1 [REF(2)] (len=1, tl=0) nan
> .Internal(inspect(NaN))
@0x000001e797264a88 14 REALSXP g0c1 [REF(2)] (len=1, tl=0) nan
Run Code Online (Sandbox Code Playgroud)
看来它们唯一的区别是内存地址。
然而,当我将NA_real_and强制转换NaN为字符时,它会返回,
> as.character(c(NaN, NA_real_))
[1] "NaN" NA
Run Code Online (Sandbox Code Playgroud)
我知道它应该返回上述结果,因为NaN不能是字符,"NaN"并且它将NA_real被强制转换为NA_character_. 但考虑到他们的直觉是相同的,R 怎么会为他们返回不同的结果呢?
预先感谢您的任何建议!
我了解 R 中的一些运算符和函数在使用帮助函数之前需要反引号。但是,我不明白为什么?function(){}也有效。有人对此有任何想法吗?