exists {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 = NULL, envir = parent.frame(),
           frame = NULL, mode = "any", inherits = TRUE)

### Arguments

`x` | a variable name (given as a character string).
`where, envir, frame` | an environment to be searched. By default this is the environment where the call to `envir` takes place.
`mode` | the mode of interest for the object.
`inherits` | should the enclosing frames of the environment be inspected.

### Details

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 `envir` 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.

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