exists {base} | R Documentation |
Search for an R object of the given name on the search path.
exists(x, where = -1, envir = parent.frame(),
frame = NULL, mode = "any", inherits = TRUE)
x |
a variable name (given as a character string). |
where |
where to look for the object (see the details section); if omitted, the function will search, as if the name of the object appeared in unquoted in an expression. |
envir |
an alternative way to specify an environment to look in,
but it's usually simpler to just use the |
frame |
a frame in the calling list. Equivalent to giving |
mode |
the mode of object sought. |
inherits |
should the enclosing frames of the environment be inspected. |
The where
argument can specify the environment in which to look
for the object in any of several ways:
as an integer (the position in the search
list); as
the character string name of an element in the search list; or as an
environment
(including using sys.frame
to
access the currently active function calls).
The envir
argument is an alternative way to specify an
environment, but is primarily there for back compatibility.
This function looks to see if the name x
has a value bound to it.
If inherits
is TRUE
and a value is not found for x
,
then the parent frames of the environment are searched until the name
x
is encountered. Warning: This is the default behaviour
for R but not for S.
If mode
is specified then only objects of that mode are sought.
The function returns TRUE
if the variable is encountered and
FALSE
if not.
The mode
includes collections such as "numeric"
and
"function"
: any member of the collection will suffice.
Logical, true if and only if the object is found on the search path.
get
.
## Define a substitute function if necessary:
if(!exists("some.fun", mode="function"))
some.fun <- function(x) { cat("some.fun(x)\n"); x }
search()
exists("ls", 2) # true even though ls is in pos=3
exists("ls", 2, inherits=FALSE) # false