This function checks whether a string or character vector (of length 1), a list or any vector (numeric, atomic) is empty or not.
is_empty(x, first.only = TRUE, all.na.empty = TRUE)
String, character vector, list, data.frame or numeric vector or factor.
Logical, if FALSE
and x
is a character
vector, each element of x
will be checked if empty. If
TRUE
, only the first element of x
will be checked.
Logical, if x
is a vector with NA
-values
only, is_empty
will return FALSE
if all.na.empty = FALSE
,
and will return TRUE
if all.na.empty = TRUE
(default).
Logical, TRUE
if x
is a character vector or string and
is empty, TRUE
if x
is a vector or list and of length 0,
FALSE
otherwise.
NULL
- or NA
-values are also considered as "empty" (see
'Examples') and will return TRUE
, unless all.na.empty==FALSE
.
is_empty("test")
#> [1] FALSE
is_empty("")
#> [1] TRUE
is_empty(NA)
#> [1] TRUE
is_empty(NULL)
#> [1] TRUE
# string is not empty
is_empty(" ")
#> [1] FALSE
# however, this trimmed string is
is_empty(trim(" "))
#> [1] TRUE
# numeric vector
x <- 1
is_empty(x)
#> [1] FALSE
x <- x[-1]
is_empty(x)
#> [1] TRUE
# check multiple elements of character vectors
is_empty(c("", "a"))
#> [1] TRUE
is_empty(c("", "a"), first.only = FALSE)
#> [1] TRUE FALSE
# empty data frame
d <- data.frame()
is_empty(d)
#> [1] TRUE
# empty list
is_empty(list(NULL))
#> [1] TRUE
# NA vector
x <- rep(NA,5)
is_empty(x)
#> [1] TRUE
is_empty(x, all.na.empty = FALSE)
#> [1] FALSE