reload.or.compute | R Documentation |
This utility either performs computations and saves the results in a file, or retrieves the results of previous computations stored in a file. If the designated file does not yet exist, the expression will be evaluated, and the results will be saved in the file. If the file already exists, the results will be re-loaded from the file.
reload.or.compute(filename, expr, objects = NULL,
context = parent.frame(),
destination = parent.frame(),
force=FALSE, verbose=TRUE, exclude=NULL)
filename |
Name of data file. A character string. |
expr |
R language expression to be evaluated. |
objects |
Optional character vector of names of objects to be saved
in |
exclude |
Optional character vector of names of objects
that should not be saved in |
context |
Environment containing objects that are mentioned in |
destination |
Environment into which the resulting objects should be assigned. |
force |
Logical value indicating whether to perform the computation in any case. |
verbose |
Logical value indicating whether to print a message indicating whether the data were recomputed or reloaded from the file. |
This facility is useful for saving, and later re-loading, the results of
time-consuming computations. It would typically be
used in an R script file or an Sweave
document.
If the file called filename
does not yet exist
(or if force=TRUE
),
then expr
will be evaluated
and the results will be saved in filename
using save
.
By default, all objects that were created by evaluating the expression
will be saved in the file.
The optional argument objects
specifies which results should be saved
to the file. The optional argument exclude
specifies results which should not be saved.
If the file called filename
already exists
(and if force=FALSE
, the default), then this file
will be loaded into R using load
.
The optional argument objects
specifies the names
of objects that must be present in the file; a warning is issued
if any of them are missing.
The resulting objects (either evaluated or loaded from file)
can be assigned into any desired
destination
environment.
The default behaviour is equivalent to evaluating expr
in the current environment.
If force=TRUE
then expr
will be evaluated
(regardless of whether the file already exists or not)
and the results will be saved in filename
, overwriting
any previously-existing file with that name. This is a convenient
way to force the code to re-compute everything
in an R script file or Sweave
document.
Character vector (invisible) giving the names of the objects computed or loaded.
and \rolf.
## Demonstration using a temporary file
## (For real applications, use a permanent file in your own filespace)
myfile <- paste0(tempdir(), .Platform$file.sep, "mydata.rda")
reload.or.compute(myfile, {
# some very long computation ending with ..
x <- 42
intermediateWorking <- 12345
y <- sqrt(x)
}, exclude="intermediateWorking")
## the values x and y are saved
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.