Create or test for objects of mode
call(name, ...) is.call(x) as.call(x)
- a non-empty character string naming the function to be called.
- arguments to be part of the call.
- an arbitrary R object.
call returns an unevaluated function call, that is, an unevaluated expression which consists of the named function applied to the given arguments (
name must be a quoted string which gives the name of a function to be called). Note that although the call is unevaluated, the arguments
... are evaluated.
call is a primitive, so the first argument is taken as
name and the remaining arguments as arguments for the constructed call: if the first argument is named the name must partially match
is.call is used to determine whether
x is a call (i.e., of mode
Objects of mode
"list" can be coerced to mode
"call". The first element of the list becomes the function part of the call, so should be a function or the name of one (as a symbol; a quoted string will not do).
All three are primitive functions.
call is ‘special’: it only evaluates its first argument.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
is.call(call) #-> FALSE: Functions are NOT calls ## set up a function call to round with argument 10.5 cl <- call("round", 10.5) is.call(cl) # TRUE cl ## such a call can also be evaluated. eval(cl) #  10 A <- 10.5 call("round", A) # round(10.5) call("round", quote(A)) # round(A) f <- "round" call(f, quote(A)) # round(A) ## if we want to supply a function we need to use as.call or similar f <- round ## Not run:call(f, quote(A)) # error: first arg must be character## End(Not run) (g <- as.call(list(f, quote(A)))) eval(g) ## alternatively but less transparently g <- list(f, quote(A)) mode(g) <- "call" g eval(g) ## see also the examples in the help for do.call
Documentation reproduced from R 3.0.1. License: GPL-2.