Re: [R] Existence of formal arguments.

From: Duncan Murdoch <>
Date: Thu, 05 Jun 2008 21:13:21 -0400

On 05/06/2008 8:23 PM, Rolf Turner wrote:
> I just discovered what seems to me to be a slight funny in respect
> of formal argument names. If I define a function
> foo <- function(a,b){ ... whatever ...}
> then ``inside'' foo() the exists() function will return TRUE
> from ``exists("a") whether an object named ``a'' exists or not.
> But get("a") will yield an error ``object "a" not found''
> in these circumstances.
> I presume there is a reason for specifying that an object named
> by a formal argument always exists --- but it is mysterious by my
> standards. Can anyone explain the reason for this behaviour?

Oops, I didn't explain why this is the way it should be.

Say your "whatever" above makes use of a, but you didn't pass an a in. Then you'd like an error, or you'd like "missing(a)" to evaluate to TRUE, or something along those lines. But if a was completely undefined and nonexistent, R would just go looking for a global, and make use of that. So it has to be marked as missing.

Duncan Murdoch mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Fri 06 Jun 2008 - 03:08:37 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 06 Jun 2008 - 04:30:41 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive