[R] Testing for existence inside a function
Duncan Murdoch
murdoch at stats.uwo.ca
Tue May 15 21:51:01 CEST 2007
On 5/15/2007 3:06 PM, Alberto Monteiro wrote:
> Talbot Katz wrote:
>>
>> I'm having trouble testing for existence of an object inside a function.
>>
> No, you are having trouble testing for existence of an object
> _before_ the function is called :-)
>
>> Suppose I have a function:
>>
>> f<-function(x){
>> ...
>> }
>>
>> and I call it with argument y:
>>
>> f(y)
>>
>> I'd like to check inside the function whether argument y exists.
>>
> This can't be done, because the error happens before f is called.
>
> Try this:
>
> f <- function(x) x + 1
> f(y.does.not.exist)
> y.does.not.exist
>
> The error message is (almost) the same, and it happens when
> parsing the line. There's no way to change f to change this.
That description is true in some languages, but not in R. R doesn't
check that args to functions are valid until it needs to use them. For
example:
> f <- function(y) 1 # doesn't care if y exists
> f(y.does.not.exist)
[1] 1
More information about the R-help
mailing list