From murdoch at stats.uwo.ca  Wed Sep 30 20:41:08 2009
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Wed, 30 Sep 2009 14:41:08 -0400
Subject: [Rd] buglet in is.na?
In-Reply-To: <1254335346.8321.1337412857@webmail.messagingengine.com>
References: <1254335346.8321.1337412857@webmail.messagingengine.com>
Message-ID: <4AC3A644.4050507@stats.uwo.ca>

On 9/30/2009 2:29 PM, Nicholas Lewin-Koh wrote:
> Hi
> the following example I think demonstrates the inconsistency
>> f<-function(x) x
>> length(f)
> [1] 1
>> is.na(f)
> [1] FALSE
> Warning message:
> In is.na(f) : is.na() applied to non-(list or vector) of type 'closure'

As the error message says, closures aren't vectors.  However, they do 
have a length.

> The documentation states:
> Arguments
> x       an R object to be tested.
> value   a suitable index vector for use with x.
> 
> And nowhere in the details was it implied (to me anyway) that x could
> not be a function
> or anything else in R for that matter. Did I miss something?

This might be an omission from the docs, but it did say pretty clearly 
in the warning message that x needs to be a vector.  So it's not a bug.

The source for the docs is in

https://svn.r-project.org/R/trunk/src/library/base/man/NA.rd

If you can think of a way to make it clearer, and you think this is the 
sort of error someone would not understand given the warning message, 
please submit a patch.

Duncan Murdoch



[Rd] buglet in is.na?
Duncan Murdoch