is.atomic returns TRUE if x is of an atomic type (or NULL) and FALSE otherwise. is.recursive returns TRUE if x has a recursive (list-like) structure and FALSE otherwise.
is.atomic(x)
is.recursive(x)
| Parameter | Description |
|---|---|
x |
object to be tested. |
# NOT RUN {
require(stats)
is.a.r <- function(x) c(is.atomic(x), is.recursive(x))
is.a.r(c(a = 1, b = 3)) # TRUE FALSE
is.a.r(list()) # FALSE TRUE - a list is a list
is.a.r(list(2)) # FALSE TRUE
is.a.r(lm) # FALSE TRUE
is.a.r(y ~ x) # FALSE TRUE
is.a.r(expression(x+1)) # FALSE TRUE
is.a.r(quote(exp)) # FALSE FALSE
# }