Learn R Programming

spatstat.explore (version 3.3-4)

reload.or.compute: Perform Computations or Retrieve Results From File

Description

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.

Usage

reload.or.compute(filename, expr, objects = NULL,
                  context = parent.frame(), 
                  destination = parent.frame(),
                  force=FALSE, verbose=TRUE, exclude=NULL)

Value

Character vector (invisible) giving the names of the objects computed or loaded.

Arguments

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 filename after evaluating expr, or names of objects that should be present in filename when loaded.

exclude

Optional character vector of names of objects that should not be saved in filename and are not expected to be present in filename.

context

Environment containing objects that are mentioned in expr (other than objects in the global environment).

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.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner rolfturner@posteo.net.

Details

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.

Examples

Run this code
  ## 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

Run the code above in your browser using DataLab