Description Usage Arguments Note Note Author(s) Examples
View source: R/utils--DoCall.R
The base::do.call() can be somewhat slow, especially when
working with large objects. This function is based upon the suggestions from
Hadley Wickham on the R mailing list
(link).
Also thanks to Tommy at StackOverflow
(link)
for how to handle double and triple colon operators, ::, further
enhancing the function.
1  | DoCall(what, args, quote = FALSE, envir = parent.frame())
 | 
what | 
 either a function or a non-empty character string naming the function to be called.  | 
args | 
 a list of arguments to the function call. The   | 
quote | 
 a logical value indicating whether to quote the arguments.  | 
envir | 
 an environment within which to evaluate the call.  This will be
most useful if   | 
While the function attempts to do most of what base::do.call()
can it has limitations. It can currently not parse the example code from
the original function:  
do.call(paste, list(as.name("A"), as.name("B")), quote = TRUE)
and the funcitonality of quote has not been thoroughly tested.
This function is a verbatim copy from Gmisc::fastDoCall()
Max Gordon max@gforge.se
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | DoCall("complex", list(imaginary = 1:3))
## if we already have a list (e.g. a data frame)
## we need c() to add further arguments
tmp <- expand.grid(letters[1:2], 1:3, c("+", "-"))
DoCall("paste", c(tmp, sep = ""))
## examples of where objects will be found.
A <- 2
f <- function(x) print(x^2)
env <- new.env()
assign("A", 10, envir = env)
assign("f", f, envir = env)
f <- function(x) print(x)
f(A)                                         # 2
DoCall("f", list(A))                         # 2
DoCall("f", list(A), envir = env)            # 4
DoCall(f, list(A), envir = env)              # 2
DoCall("f", list(quote(A)), envir = env)     # 100
DoCall(f, list(quote(A)), envir = env)       # 10
DoCall("f", list(as.name("A")), envir = env) # 100
eval(call("f", A))                           # 2
eval(call("f", quote(A)))                    # 2
eval(call("f", A), envir = env)              # 4
eval(call("f", quote(A)), envir = env)       # 100
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.