[Rd] buglet in is.na?

Nicholas Lewin-Koh nikko at hailmail.net
Wed Sep 30 22:29:53 CEST 2009


Hmm, Well the error message is clear, perhaps in the docs:
x  a array, matrix, list or data.frame

I realize that this is minor, but is the warning necessary?
f is a function not an NA, so FALSE, as would anything else
that is not an NA.

Though this may just be bad programming practice on my part,
I have a member of an object that can be an integer, a function
returning an integer
or NA, perhaps it would be better to specify it as an integer, a
function or NULL.

Nicholas


On Wed, 30 Sep 2009 14:41 -0400, "Duncan Murdoch" <murdoch at stats.uwo.ca>
wrote:
> 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



More information about the R-devel mailing list