[R] is.na for S4 object
Martin Maechler
maechler at stat.math.ethz.ch
Fri Jun 5 16:13:55 CEST 2015
>>>>> Martin Morgan <mtmorgan at fredhutch.org>
>>>>> on Thu, 4 Jun 2015 10:33:37 -0700 writes:
> On 06/04/2015 10:08 AM, cgenolin wrote:
>> Hi the list,
>>
>> I have a variable y that is either NA or some S4 object. I would like to
>> know in which case I am, but it seems taht is.na does not work with S4
>> object, I get a warnings:
>>
>> --- 8< ------------
>> setClass("myClass",slots=c(x="numeric"))
>> if(runif(1)>0.5){a <- new("myClass")}else{a <- NA}
>> is.na(a)
>> --- 8< ------------
>>
>> Any solution?
> getGeneric("is.na")
> shows that it's an S4 generic, so implement a method
> setMethod("is.na", "myClass", function(x) FALSE)
> Martin
For the present special case though, a more efficient solution would be
to use isS4(.) instead of !is.na(.)
another Martin
>> Thanks
>> Christophe
More information about the R-help
mailing list