提问人:Gero 提问时间:4/24/2021 更新时间:4/24/2021 访问量:846
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 输出的正确代码是什么
答:
1赞
Speleo4Life
4/24/2021
#1
与 @akrun 的评论中建议的类似,可以采用稍微“向后”的方法,即使用 ,该方法计算向量中是否至少有一个元素为真——在您的示例中,一个元素在其索引和值方面与标准相同。通过用 !input,意思是 NOT input,你可以得到你所追求的结果。all
any
true
# 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))
评论
all
all(logical.vector == c(TRUE, FALSE))
identical
all.equal