R - 了解 && 的行为
R - Understanding the behaviour of &&
为什么 c(T, T, T) && c(NULL, F, F)
计算结果为 [1] FALSE
但 T && NULL
抛出错误 Error in T && NULL : invalid 'y' type in 'x && y'
?
看起来在第一个示例中,&&
跳过了第一对参数 T && NULL
,returns 跳过了第二对参数 T && F
的计算。但我一直觉得 &&
只评估第一对,所以会预测它会像第二个例子中那样抛出错误。
Null 不是有效的布尔类型。你应该使用 is.null()
.
结果是:
> c(NULL, F, F)
[1] FALSE FALSE
所以我建议使用 is.null()
> is.null(NULL)
[1] TRUE
为什么 c(T, T, T) && c(NULL, F, F)
计算结果为 [1] FALSE
但 T && NULL
抛出错误 Error in T && NULL : invalid 'y' type in 'x && y'
?
看起来在第一个示例中,&&
跳过了第一对参数 T && NULL
,returns 跳过了第二对参数 T && F
的计算。但我一直觉得 &&
只评估第一对,所以会预测它会像第二个例子中那样抛出错误。
Null 不是有效的布尔类型。你应该使用 is.null()
.
结果是:
> c(NULL, F, F)
[1] FALSE FALSE
所以我建议使用 is.null()
> is.null(NULL)
[1] TRUE