[Rd] S4 slot with NA default
Robin Hankin
r.hankin at noc.soton.ac.uk
Wed Mar 26 17:04:11 CET 2008
Hi
How do I specify an S4 class with a slot that is potentially numeric,
but NA
by default? I want the slot to be NA until I calculate its value
(an expensive operation, not needed for all applications). When
its value is
known, I will create a new object with the correct value inserted in
the slot.
I want "NA" to signify "not known".
My attempt fails because NA is not numeric:
>
setClass
("foo",representation=representation(x="numeric"),prototype=list(x=NA))
Error in makePrototypeFromClassDef(properties, ClassDef, immediate,
where) :
in making the prototype for class "foo" elements of the prototype
failed to match the corresponding slot class: x (class “numeric” )
>
(the real application has other slots too). I can
use "NaN", which is numeric:
>
setClass
("foo",representation=representation(x="numeric"),prototype=list(x=NaN))
[1] "foo"
>
But this is not the correct sense: to me "NaN" means "not a number"
and I want
the sense to be "not available".
Any advice?
--
Robin Hankin
Uncertainty Analyst and Neutral Theorist,
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
tel 023-8059-7743
More information about the R-devel
mailing list