r - 当参数可能为空时,R 中的语句
问题描述
我想做一个单行条件语句来检查向量(X)是否只有一个值,这个值没有丢失。我曾希望这会奏效:
(length(X) == 1) & !is.na(X)
但是 R 无论如何都会评估“AND”的两个语句,所以如果 X 为 NULL 或长度为零,这将不起作用。我目前执行此检查的方式非常难看
if (length(X) != 1) {FALSE}
else if (is.na(X)) {FALSE}
else {TRUE}
解决方案
只需使用&&
而不是&
将解决您的问题。
x <- c()
(length(x) == 1) && !is.na(x)
[1] FALSE
x <- NULL
(length(x) == 1) && !is.na(x)
[1] FALSE
推荐阅读
- f# - 使用新的 Fable.Browser.Dom 时替换旧 HTMLElement.style 的内容
- linux - 无法使用 expdp 导出,无法打开日志等
- git - 我可以在 bitbucket 中显示作者和提交登录差异吗?
- php - foreach循环内的PHP foreach循环访问变量
- c# - C# 8.0 是否支持 IAsyncEnumerable?
- r - 多项回归(不同的结果——相同的数据集,R vs SPSS)。nnet 包——多项式函数
- reactjs - 将 gatsby-plugin-material-ui 与 gatsby 一起使用时,将主题文件放在哪里?
- image-processing - 无边界框的二进制分类数据集上的热图和梯度加权类激活映射 (Grad CAM)
- visual-c++ - 显示来自 2 个单独数组的重复元素
- vb.net - 裁剪图像如何适合图像内容?