Skip to contents

The is_shrthnd_* family of functions test whether a vector is either a shrthnd_num(), or a shrthnd_list(). is_shrthnd_integer() and is_shrthnd_double() test whether an object is a shrthnd_num() vector and whether the underlying data type is an integer() or a double(). is_shrthnd_tbl() test whether an object is a shrthnd_tbl() tibble.

Usage

is_shrthnd_num(x)

is_shrthnd_integer(x)

is_shrthnd_double(x)

is_numeric(x)

is_shrthnd_list(x)

is_shrthnd_tbl(x)

Arguments

x

An object to be tested

Value

A logical vector

Details

In keeping with base R practice around complex numeric objects such as Date(), difftime() and POSIXct(), using is.numeric() on a shrthnd_num() vector will return FALSE. The is_numeric() function included in {shrthnd} will return TRUE if a vector is either a standard numeric vector or is a shrthnd_num().

Examples

x <- c("12", "34.567", "[c]", "NA", "56.78[e]", "78.9", "90.123[e]")
sh_x <- shrthnd_num(x, c("[c]", "[e]"))
is_shrthnd_num(sh_x)
#> [1] TRUE
is_shrthnd_double(sh_x)
#> [1] TRUE

y <- c("12", "34", "[c]", "NA", "56[e]", "78", "90[e]")
sh_y <- shrthnd_num(y, c("[c]", "[e]"))
is_shrthnd_num(sh_y)
#> [1] TRUE
is_shrthnd_integer(sh_y)
#> [1] TRUE

z <- 1:10
is.numeric(x)
#> [1] FALSE
is.numeric(z)
#> [1] TRUE
is_numeric(x)
#> [1] FALSE
is_numeric(z)
#> [1] TRUE

sh_l <- shrthnd_list(sh_x)
is_shrthnd_list(sh_l)
#> [1] TRUE

tbl <- tibble::tibble(x = x, sh_x = sh_x)
sh_tbl <- shrthnd_tbl(tbl, title = "Example table")
is_shrthnd_tbl(sh_tbl)
#> [1] TRUE