data(..., list = character(), package = NULL, lib.loc = NULL,
verbose = getOption("verbose"), envir = .GlobalEnv)
NULL
. By default, all packages in the search path are used, then
the
NULL
. The default value of NULL
corresponds to all
libraries currently known.TRUE
, additional diagnostics are
printed."packageIQR"
if
none were specified.data()
was originally intended to allow users to load datasets
from packages for use in their examples, and as such it loaded the
datasets into the workspace .GlobalEnv
. This avoided
having large datasets in memory when not in use. That need has been
almost entirely superseded by lazy-loading of datasets.The ability to specify a dataset by name (without quotes) is a convenience: in programming the datasets should be specified by character strings (with quotes).
Use of data
within a function without an envir
argument
has the almost always undesirable side-effect of putting an object in
the user's workspace (and indeed, of replacing any object of that name
already there). It would almost always be better to put the object in
the current evaluation environment by data(..., envir =
environment())
. However, two alternatives are usually preferable,
both described in the
mytable
as an object from the package,
it is system data and the second approach should be used. In the
unusual case that a package uses a lazy-loaded dataset as a default
argument to a function, that needs to be specified by ::
,
e.g., survival::survexp.us
.
source()
d in, with theRworking directory changed
temporarily to the directory containing the respective file.
(data
ensures that theutils::data
.)load()
ed.read.table(..., header = TRUE, as.is=FALSE)
,
and hence
result in a data frame.read.table(..., header = TRUE, sep = ";", as.is=FALSE)
,
and also result in a data frame. The data sets to be loaded can be specified as a set of character
strings or names, or as the character vector list
, or as both.
For each given data set, the first two types (
If no data sets are specified, data
lists the available data
sets. It looks for a new-style data index in the "packageIQR"
. The structure of this class is experimental.
Where the datasets have a different name from the argument that should
be used to retrieve them the index will have an entry like
beaver1 (beavers)
which tells us that dataset beaver1
can be retrieved by the call data(beaver)
.
If lib.loc
and package
are both NULL
(the
default), the data sets are searched for in all the currently loaded
packages then in the
If lib.loc = NULL
but package
is specified as a
character vector, the specified package(s) are searched for first
amongst loaded packages and then in the default library/ies
(see .libPaths
).
If lib.loc
is specified (and not NULL
), packages
are searched for in the specified library/ies, even if they are
already loaded from another library.
To just look in the package = character(0)
(and lib.loc =
NULL
, the default).
help
for obtaining documentation on data sets,
save
for creating the second ( The
require(utils)
data() # list all available data sets
try(data(package = "rpart") ) # list the data sets in the rpart package
data(USArrests, "VADeaths") # load the data sets 'USArrests' and 'VADeaths'
## Alternatively
ds <- c("USArrests", "VADeaths"); data(list = ds)
help(USArrests) # give information on data set 'USArrests'
Run the code above in your browser using DataCamp Workspace