次のように動作する R の関数はありますか。
isnothing = function(x) {
is.null(x) | is.na(x) | is.nan(x)
}
私もそのような機能を欠いていて、これを私の.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))
)
}
@shadow が述べたようにNA
、NaN
とNULL
には、理解することが重要なさまざまな意味があります。ただし、この関数は、デフォルト値を持つオプションの引数を含む関数を作成し、ユーザーがそれらを「未定義」の値に設定して抑制できるようにする場合に便利です。
そのような例の 1 つxlab
ですplot
。xlab=NA
、xlab=FALSE
、xlab=NULL
またはxlab=""
. _ 望ましい結果が得られるものもあれば、そうでないものもあるため、コードを開発するとき、特に他の人もそれを使用する場合は、上記の関数ですべてをキャッチすると便利であることがわかりました。
gtools
基本的に、 invalid() 関数が何をするかを探していると思います。
?gtools::invalid
例えば、
gtools::invalid(NA)
[1] TRUE
gtools::invalid(NULL)
[1] TRUE
gtools::invalid(NaN)
[1] TRUE