cache | R Documentation |
Cache the evaluation of an expression in the file system.
cache(expr, dir=".", prefix="tmp_R_cache_")
expr |
An expression of the form |
dir |
A string specifying the directory into which cache files should be written (also where to go searching for an appropriate cache file). |
prefix |
A string giving the prefix to use when naming and
searching for cache files. The default is |
This function can be useful during the development of computationally
intensive workflows, for example in vignettes or scripts. The
function uses a cache file in dir
which defaults to the current
working directory whose name is obtained by paste(prefix, name,
".RData", sep="")
.
When cache
is called and the cache file exists, it is loaded
and the object whose name is given on the left of <-
in
expr
is returned. In this case, expr
is not
evaluted.
When cache
is called and the cache file does not exist,
expr
is evaluted, its value is saved into a cache file, and
then its value is returned.
The expr
argument must be of the form of someVar <-
{expressions}
. That is, the left hand side must be a single symbol
name and the next syntactic token must be <-
.
To flush the cache and force recomputation, simply remove the cache
files. You can use file.remove
to do this.
The (cached) value of expr
.
The first version of this function had a slightly different interface
which is no longer functional. The old version has arguments
name
and expr
and the intended usage is: foo <-
cache("foo", expr)
.
Wolfgang Huber, huber@ebi.ac.uk Seth Falcon, sfalcon@fhcrc.org
bigCalc <- function() runif(10)
cache(myComplicatedObject <- bigCalc())
aCopy <- myComplicatedObject
remove(myComplicatedObject)
cache(myComplicatedObject <- bigCalc())
stopifnot(all.equal(myComplicatedObject, aCopy))
allCacheFiles <-
list.files(".", pattern="^tmp_R_cache_.*\\.RData$", full.name=TRUE)
file.remove(allCacheFiles)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.