TRUE/FALSE 单个结果的布尔向量比较

Boolean vector comparison for TRUE/FALSE single results

假设我有一个具有下一个结构的逻辑向量:

logical.vector = c(TRUE, TRUE, FALSE, FALSE)

我想检查它是否拥有特定的赞助人,我想的方法是:

logical.vector == c(TRUE, FALSE, TRUE, FALSE) 
-------------------------------------------------
[1] TRUE FALSE FALSE TRUE

练习测试以获得单个 FALSE 输出的正确代码是什么

类似于@akrun 评论中建议的all,可以采取稍微更“倒退”的方法使用any,如果 至少一个向量中的一个 元素为真——在您的示例中,一个元素在其索引和值方面与标准相同。通过使用 !input 评估此 (input),意思是 NOT input,您可以获得结果之后。

# Standard
logical.vector = c(TRUE, TRUE, FALSE, TRUE)

# Test Patterns

# Case 1 (non-match): should be FALSE
!any(logical.vector != c(TRUE, FALSE, TRUE, TRUE))
 
# Case 2 (non-match): should be FALSE
!any(logical.vector != c(FALSE, TRUE, FALSE, TRUE)) 

# Case 3 (non-match): should be FALSE
!any(logical.vector != c(TRUE, TRUE, TRUE, TRUE)) 

# Case 4 (non-match): should be FALSE
!any(logical.vector != c(FALSE, FALSE, FALSE, FALSE)) 

# Case 5 (match): should be TRUE
!any(logical.vector != c(TRUE, TRUE, FALSE, TRUE))