Rscript_call {xfun} | R Documentation |
Call a function in a new R session via Rscript()
Description
Save the argument values of a function in a temporary RDS file, open a new R
session via Rscript()
, read the argument values, call the function, and
read the returned value back to the current R session.
Usage
Rscript_call(
fun,
args = list(),
options = NULL,
...,
wait = TRUE,
fail = sprintf("Failed to run '%s' in a new R session", deparse(substitute(fun))[1])
)
Arguments
fun |
A function, or a character string that can be parsed and evaluated to a function. |
args |
A list of argument values. |
options |
A character vector of options to passed to |
... , wait |
Arguments to be passed to |
fail |
The desired error message when an error occurred in calling the function. If the actual error message during running the function is available, it will be appended to this message. |
Value
If wait = TRUE
, the returned value of the function in the new R
session. If wait = FALSE
, three file paths will be returned: the first
one stores fun
and args
(as a list), the second one is supposed to
store the returned value of the function, and the third one stores the
possible error message.
Examples
factorial(10)
# should return the same value
xfun::Rscript_call("factorial", list(10))
# the first argument can be either a character string or a function
xfun::Rscript_call(factorial, list(10))
# Run Rscript starting a vanilla R session
xfun::Rscript_call(factorial, list(10), options = c("--vanilla"))