当与逻辑OR(TRUE
)和逻辑AND({{1}一起使用时,我无法理解逻辑(布尔)值FALSE
,NA
和|
的属性}})。以下是一些例子:
&
你能解释一下这些输出吗?
答案 0 :(得分:26)
引用?Logic
:
NA是一个有效的逻辑对象。当x或y的分量是NA时, 如果结果不明确,结果将是NA。换句话说,NA& TRUE评估为NA,但NA& FALSE评估为FALSE。见 以下示例。
关键是“模棱两可”这个词。 NA
表示“未知”的内容。所以NA & TRUE
可能是真或假,但我们不知道。而NA & FALSE
无论丢失的值是什么都是假的。
答案 1 :(得分:12)
在help("|")
中解释:
NA
是一个有效的逻辑对象。x
或y
的组件的位置 是NA
,如果结果不明确,结果将为NA
。在 其他字NA & TRUE
评估为NA
,但NA & FALSE
评估为FALSE
。请参阅以下示例。
来自help("|")
中的示例:
x <- c(NA, FALSE, TRUE)
names(x) <- as.character(x)
outer(x, x, "&") ## AND table
# <NA> FALSE TRUE
# <NA> NA FALSE NA
# FALSE FALSE FALSE FALSE
# TRUE NA FALSE TRUE
outer(x, x, "|") ## OR table
# <NA> FALSE TRUE
# <NA> NA NA TRUE
# FALSE NA FALSE TRUE
# TRUE TRUE TRUE TRUE