[Rd] S4 slot with NA default
Roger Bivand
Roger.Bivand at nhh.no
Wed Mar 26 17:24:00 CET 2008
On Wed, 26 Mar 2008, Robin Hankin wrote:
> 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=as.numeric(NA)))
new("foo")
is OK, we have a character NA prototype in an sp CRS class, and it's never
been any trouble.
Roger
>
> >
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-devel
mailing list