ID EN
Miscellaneous

attach

R Base 3.6.2

The database is attached to the R search path. This means that the database is searched by R when evaluating a variable, so objects in the database can be accessed by simply giving their names.

Syntax

R
attach(what, pos = 2L, name = deparse(substitute(what), backtick=FALSE),
       warn.conflicts = TRUE)

Arguments

Parameter Description
what ‘database’. This can be a data.frame or a list or a R data file created with save or NULL or an environment. See also ‘Details’.
pos integer specifying position in search() where to attach.
name name to use for the attached database. Names starting with package: are reserved for library.
warn.conflicts logical. If TRUE, warnings are printed about conflicts from attaching the database, unless that database contains an object .conflicts.OK. A conflict is a function masking a function, or a non-function masking a non-function.

Return Value

The environment is returned invisibly with a "name" attribute.

Details

When evaluating a variable or function name R searches for that name in the databases listed by search. The first name of the appropriate type is used. By attaching a data frame (or list) to the search path it is possible to refer to the variables in the data frame by their names alone, rather than as components of the data frame (e.g., in the example below, height rather than women$height). By default the database is attached in position 2 in the search path, immediately after the user's workspace and before all previously attached packages and previously attached databases. This can be altered to attach later in the search path with the pos option, but you cannot attach at pos = 1. The database is not actually attached. Rather, a new environment is created on the search path and the elem

Examples

Example
R
# NOT RUN {
require(utils)

summary(women$height)   # refers to variable 'height' in the data frame
attach(women)
summary(height)         # The same variable now available by name
height <- height*2.54   # Don't do this. It creates a new variable
                        # in the user's workspace
find("height")
summary(height)         # The new variable in the workspace
rm(height)
summary(height)         # The original variable.
height <<- height*25.4  # Change the copy in the attached environment
find("height")
summary(height)         # The changed copy
detach("women")
summary(women$height)   # unchanged

# }
# NOT RUN {
## create an environment on the search path and populate it
sys.source("myfuns.R", envir = attach(NULL, name = "myfuns"))
# }

See Also

library detach search objects environment with.