【问题标题】:Logical operations involving NA [duplicate]涉及 NA 的逻辑运算 [重复]
【发布时间】:2019-12-18 16:21:02
【问题描述】:

由于 "is.na(NA)" 返回 true 并且 "NA > 0" 返回 NA,因此 "is.na(NA) & (NA > 0)" 应该返回 NA 为 true。

is.na(NA) & NA >0

[1] 不适用

同样,“!is.na(NA)”返回 false,“NA > 0”返回 NA,“!is.na(NA) & (NA > 0)”也应该返回 NA。但是 R 返回 false。这是为什么呢?

!is.na(NA) & NA >0

[1] 错误

【问题讨论】:

    标签: r logical-operators na missing-data


    【解决方案1】:

    根据?"&"

    NA 是一个有效的逻辑对象。如果 x 或 y 的一个分量为 NA,则如果结果不明确,则结果将为 NA。换句话说,NA & TRUE 计算结果为 NA,但 NA & FALSE 计算结果为 FALSE。请参阅下面的示例。

    在 OP 的条件下,第一个计算结果为

    TRUE & NA #(is.na(NA)#[1] TRUE;NA > 0#[1] NA)
    

    第二个是

    FALSE & NA #(!is.na(NA)#[1] FALSE)
    

    【讨论】:

    • 当我使用?&时,它返回以下错误:Error: unexpected '&' in "?&"。你是怎么得到解释的?
    • @user3119750 您可以引用或使用反引号。我使用了反引号,但是当我复制/粘贴时,它被删除了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 2011-03-14
    • 2020-10-02
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多