R中是否有一个函数如下:
isnothing = function(x) {
is.null(x) | is.na(x) | is.nan(x)
}
Run Code Online (Sandbox Code Playgroud)
Bac*_*lin 12
我也错过了这样的功能,并将其添加到我的.Rprofile
年龄.如果有人知道基本功能做同样的事情我也想知道.
is.blank <- function(x, false.triggers=FALSE){
if(is.function(x)) return(FALSE) # Some of the tests below trigger
# warnings when used on functions
return(
is.null(x) || # Actually this line is unnecessary since
length(x) == 0 || # length(NULL) = 0, but I like to be clear
all(is.na(x)) ||
all(x=="") ||
(false.triggers && all(!x))
)
}
Run Code Online (Sandbox Code Playgroud)
作为@shadow提到,NA
,NaN
和NULL
有是重要的是了解不同的含义.但是,当我创建包含具有默认值的可选参数的函数时,我发现此函数很有用,我希望允许用户通过将它们设置为任何"未定义"值来进行抑制.
一个这样的例子是xlab
的plot
.我永远记得,如果是xlab=NA
,xlab=FALSE
,xlab=NULL
或xlab=""
.有些产生了所需的结果,有些没有,所以我发现在开发代码时使用上述功能很方便,特别是如果其他人也会使用它.
我相信您基本上是在寻找gtools
invalid()函数的作用。
?gtools::invalid
Run Code Online (Sandbox Code Playgroud)
例如,
gtools::invalid(NA)
[1] TRUE
gtools::invalid(NULL)
[1] TRUE
gtools::invalid(NaN)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)