load_cache {knitr} | R Documentation |
Load the cache database of a code chunk
Description
If a code chunk has turned on the chunk option cache = TRUE
, a cache
database will be established after the document is compiled. You can use this
function to manually load the database anywhere in the document (even before
the code chunk). This makes it possible to use objects created later in the
document earlier, e.g. in an inline R expression before the cached code
chunk, which is normally not possible because knitr compiles the
document in a linear fashion, and objects created later cannot be used before
they are created.
Usage
load_cache(
label,
object,
notfound = "NOT AVAILABLE",
path = opts_chunk$get("cache.path"),
dir = opts_knit$get("output.dir"),
envir = NULL,
lazy = TRUE
)
Arguments
label |
The chunk label of the code chunk that has a cache database. |
object |
The name of the object to be fetched from the database. If it
is missing, |
notfound |
A value to use when the |
path |
Path of the cache database (normally set in the global chunk
option |
dir |
Path to use as the working directory. Defaults to the output
directory if run inside a knitr context and to the current working
directory otherwise. Any relative |
envir |
Environment to use for cache loading, into which all objects in
the cache for the specified chunk (not just that in |
lazy |
Whether to |
Value
Invisible NULL
when object
is not specified (the cache
database will be loaded as a side effect), otherwise the value of the
object if found.
Note
Apparently this function loads the value of the object from the previous run of the document, which may be problematic when the value of the object becomes different the next time the document is compiled. Normally you must compile the document twice to make sure the cache database is created, and the object can be read from it. Please use this function with caution.
References
See the example #114 at https://github.com/yihui/knitr-examples.