r - R - 理解 && 的行为
问题描述
为什么c(T, T, T) && c(NULL, F, F)
评估为[1] FALSE
但T && NULL
抛出错误Error in T && NULL : invalid 'y' type in 'x && y'
?
它看起来像在第一个示例中,&&
跳过第一对参数T && NULL
并返回第二对的评估T && F
。但我一直认为&&
只评估第一对,因此会预测它会像第二个示例中那样抛出错误。
解决方案
Null 不是有效的布尔类型。你应该使用is.null()
.
结果是:
> c(NULL, F, F)
[1] FALSE FALSE
所以我建议使用is.null()
> is.null(NULL)
[1] TRUE
推荐阅读
- sql - Oracle SQL 挑战子查询(聚合、分组、计数)
- google-tag-manager - 如何在 GTM + GA4 中正确跟踪测试 (UAT) 和生产数据
- windows - 远程执行powershell命令后台运行
- javascript - 在 CesiumJS 中加载 Czml 文件
- wordpress - Ninja form 致命错误我该如何修复我的网站?
- arrays - Swift:Array 是否符合序列协议?
- keras - 召回率和精度 0.00e+00
- r - 将数据从一行复制到 R data.table 中的新行
- javascript - 如何在 .NET Core MVC 中使用 AJAX 调用刷新视图
- function - CMake:从函数内定义范围中的访问变量