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)

Arguments

x

String, character vector, list, data.frame or numeric vector or factor.

first.only

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.

Value

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.

Note

NULL- or NA-values are also considered as "empty" (see 'Examples') and will return TRUE.

Examples

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