load {base} | R Documentation |
Reload datasets written with the function save
.
load(file, envir = parent.frame(), verbose = FALSE)
file |
a (readable binary-mode) connection or a character string giving the name of the file to load (when tilde expansion is done). |
envir |
the environment where the data should be loaded. |
verbose |
should item names be printed during loading? |
load
can load R objects saved in the current or any earlier
format. It can read a compressed file (see save
)
directly from a file or from a suitable connection (including a call
to url
).
A not-open connection will be opened in mode "rb"
and closed
after use. Any connection other than a gzfile
or
gzcon
connection will be wrapped in gzcon
to allow compressed saves to be handled: note that this leaves the
connection in an altered state (in particular, binary-only), and that
it needs to be closed explicitly (it will not be garbage-collected).
Only R objects saved in the current format (used since R 1.4.0) can be read from a connection. If no input is available on a connection a warning will be given, but any input not in the current format will result in a error.
Loading from an earlier version will give a warning about the
‘magic number’: magic numbers 1971:1977
are from R <
0.99.0, and RD[ABX]1
from R 0.99.0 to R 1.3.1. These are all
obsolete, and you are strongly recommended to re-save such files in a
current format.
The verbose
argument is mainly intended for debugging. If it
is TRUE
, then as objects from the file are loaded, their
names will be printed to the console. If verbose
is set to
an integer value greater than one, additional names corresponding to
attributes and other parts of individual objects will also be printed.
Larger values will print names to a greater depth.
Objects can be saved with references to namespaces, usually as part of the environment of a function or formula. Such objects can be loaded even if the namespace is not available: it is replaced by a reference to the global environment with a warning. The warning identifies the first object with such a reference (but there may be more than one).
A character vector of the names of objects created, invisibly.
Saved R objects are binary files, even those saved with
ascii = TRUE
, so ensure that they are transferred without
conversion of end of line markers. load
tries to detect such a
conversion and gives an informative error message.
load(file)
replaces all existing objects with the same names
in the current environment (typically your workspace,
.GlobalEnv
) and hence potentially overwrites important data.
It is considerably safer to use envir =
to load into a
different environment, or to attach(file)
which
load()
s into a new entry in the search
path.
save
, download.file
; further
attach
as wrapper for load()
.
For other interfaces to the underlying serialization format, see
unserialize
and readRDS
.
## save all data
xx <- pi # to ensure there is some data
save(list = ls(all.names = TRUE), file= "all.rda")
rm(xx)
## restore the saved values to the current environment
local({
load("all.rda")
ls()
})
xx <- exp(1:3)
## restore the saved values to the user's workspace
load("all.rda") ## which is here *equivalent* to
## load("all.rda", .GlobalEnv)
## This however annihilates all objects in .GlobalEnv with the same names !
xx # no longer exp(1:3)
rm(xx)
attach("all.rda") # safer and will warn about masked objects w/ same name in .GlobalEnv
ls(pos = 2)
## also typically need to cleanup the search path:
detach("file:all.rda")
## clean up (the example):
unlink("all.rda")
## Not run:
con <- url("http://some.where.net/R/data/example.rda")
## print the value to see what objects were created.
print(load(con))
close(con) # url() always opens the connection
## End(Not run)