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))
假设我有一个具有下一个结构的逻辑向量:
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))