[Rd] S4 slot with NA default
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Mar 26 17:58:37 CET 2008
Several people have suggested as.numeric(NA). That evaluates to NA_real_,
so provided you don't want to support R < 2.5.0 it is (slightly) more
efficient in several ways to use NA_real_ .
On Wed, 26 Mar 2008, Roger Bivand wrote:
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list