Where to declare S4 classes?

Patrick Giraudoux patrick.giraudoux at univ-fcomte.fr
Sun Mar 5 09:18:11 CET 2006

OK. Looks like I have got it... going through the source code of sp, 
classes are declared as usual functions in *.R files. With the current 
example, suppose I must write two files of names "class-Prior.R" and 
"class-SamplePrior.R" including 
setClass("Prior",representation(Distrib="character",Params="list")) and 
setClass("SamplePrior",representation("Prior",Sample="list"))  respectively.

Suppose the alphabetical order of each file name may be important 
somehow, since "SamplePrior" cannot be defined without a prior 
definition of "Prior"

Can anybody confirm?

If so, I can go on with validity checking functions...


Patrick Giraudoux a écrit :
> Dear listers,
> I am making a trial to move from S3 to S4... I have created some 
> classes of interest and they work acceptably well for the purpose. I 
> am now wondering how to make them operate in a package. In clear when 
> a package is loaded (eg library(mypackage)) where should I put the 
> class descriptions:
> setClass("Prior",representation(Distrib="character",Params="list"))
> setClass("SamplePrior",representation("Prior",Sample="list"))
> so that they are created and then usable for functions after a simple 
> call to library(mypackage).
> It is probably something trivial, but I could not find out something 
> clear on this (eg example) in the R-help-list, writing R-extensions, 
> nor in  S programming... and trying to get this info through reading 
> other library codes has been unsuccessful.
> Patrick

More information about the R-help mailing list