Hi Robin, you could try this: > setClass("foo", representation=representation(x="numeric"),prototype=list(x=as.numeric(NA))) > test<-new("foo") > test >An object of class "foo" >Slot "x": >[1] NA
Cheers, Christian 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=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 > -- Christian Kohler Institute of Functional Genomics Computational Diagnostics University of Regensburg (BioPark I) D-93147 Regensburg (Germany) Tel. +49 941 943 5055 Fax +49 941 943 5020 [EMAIL PROTECTED] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel