judge if an object is or not a falsy value. This includes:
empty value, empty string "", NULL, NA, length of 0 and FALSE itself
notFalsy(x) isFalsy(x) emptyIsFalse(x)
| x | any R object |
|---|
NA, "", NULL, length(0), nchar == 0 and FALSE will return
FALSE, otherwise TRUE in notFalsy and the opposite in isFalsy
R does not have good built-in methods to judge falsy values and these kind
of values often cause errors in if conditions, for example
if(NULL) 1 else 2 will cause error. So this function will be useful to
handle this kind of situations: if(notFalsy(NULL)) 1 else 2.
not working on S4 class objects.
isFalsy is the reverse of notFalsy: isFalsy(x) = !notFalsy(x)
emptyIsFalse is the old name for notFalsy
Useful for if statement. Normal empty object in if will spawn error. Wrap the
expression with emptyIsFalse can avoid this. See examples
notFalsy(NULL) #> [1] FALSE notFalsy(NA) #> [1] FALSE notFalsy("") #> [1] FALSE try(`if(NULL) "not empty" else "empty"`) # this will generate error #> Error in try(`if(NULL) "not empty" else "empty"`) : #> object 'if(NULL) "not empty" else "empty"' not found if(notFalsy(NULL)) "not falsy" else "falsy" # but this will work #> [1] "falsy" # Similar for `NA`, `""`, `character(0)` and more isFalsy(NULL) #> [1] TRUE isFalsy(NA) #> [1] TRUE isFalsy("") #> [1] TRUE