| detach {base} | R Documentation |
Detach Objects from the Search Path
Description
Detach a database, i.e., remove it from the search() path
of available R objects. Usually, this is either a data.frame
which has been attached or a package which was required
previously.
Usage
detach(name, pos = 2, version)
Arguments
name |
The object to detach. Defaults to |
pos |
Index position in |
version |
A character string denoting a version number of the
package to be removed. This should be used only with a versioned
installation of the package: see |
Details
This most commonly used with a single number argument referring to a
position on the search list, and can also be used with a unquoted or
quoted name of an item on the search list such as package:tools.
When a package have been loaded with an explicit version number it can
be detached using the name shown by search or by
supplying name and version: see the examples.
Value
The attached database is returned invisibly, either as
data.frame or as list.
Note
You cannot detach either the workspace (position 1) or the base package (the last item in the search list).
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth \& Brooks/Cole.
See Also
attach, library, search,
objects.
Examples
require(splines)#package
detach(package:splines)
## could equally well use detach("package:splines")
## but NOT pkg <- "package:splines"; detach(pkg)
## Instead, use
library(splines)
pkg <- "package:splines"
detach(pos = match(pkg, search()))
## careful: do not do this unless 'splines' is not already loaded.
library(splines)
detach(2)# 'pos' used for 'name'
## an example of the name argument to attach
## and of detaching a database named by a character vector
attach_and_detach <- function(db, pos=2)
{
name <- deparse(substitute(db))
attach(db, pos=pos, name=name)
print(search()[pos])
eval(substitute(detach(n), list(n=name)))
}
attach_and_detach(women, pos=3)
## Not run: ## Using a versioned install
library(ash, version="1.0-9") # or perhaps just library(ash)
# then one of
detach("package:ash", version="1.0-9")
# or
detach("package:ash_1.0-9")
## End(Not run)