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@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: [EMAIL PROTECTED] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Brian D. Ripley, [EMAIL PROTECTED] 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 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel