exists                 package:base                 R Documentation

Is an Object Defined?

Description:

     Search for an R object of the given name on the search path.

Usage:

     exists(x, where = -1, envir = parent.frame(),
            frame = NULL, mode = "any", inherits = TRUE)

Arguments:

       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 `where' argument.

   frame: a frame in the calling list.  Equivalent to giving `where' as
          `sys.frame(frame)'.

    mode: the mode of object sought.

inherits: should the enclosing frames of the environment be inspected.

Details:

     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.

Value:

     Logical, true if and only if the object is found on the search
     path.

See Also:

     `get'.

Examples:

     ##  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

