[R] include S4 class and methods in a package
cskiadas at gmail.com
Sat Jun 28 20:13:00 CEST 2008
On Jun 27, 2008, at 1:44 PM, baptiste Auguié wrote:
> DeaR list,
> Pardon the stupidity of this question but I've been trying this for
> a while now without success.
> I've followed the example given in the green book "programming with
> data", and I now have a working example of a S4 class with a few
> methods (plot, summary, as.data.frame). It's all very nice in one
> file, but I cannot find the way to put this information in a
> package. I've created several simple packages (without S4 classes)
> in the past using package.skeleton and manual editing / adding of
> some files.
> The question I have now is where do the setClass and setMethod live
> in the folder tree? I sort of believe they should be defined in a
> source file in the sub-directory R/, but is there a special name to
> give to these files, how do they get recognised during installation
> or build?
> I've tried to find the answer in "writing R extensions" but I must
> have missed the relevant section.
I don't think there's any particular name needed for the file. I had
a look at Matrix for an example when I was writing an S4 package, and
kind of followed what they were doing. In my example, I had one file
that had all the setGeneric calls, and another one named after my S4
class containing setClass and setMethod. And then you need to work on
the NAMESPACE file. I think to some extent this is described in
"1.6.6 Name spaces with formal classes and methods".
Hopefully someone more experienced than me can offer a more
> Many thanks,
Department of Mathematics and Computer Science
> PS: I'm not sure a minimal example is relevant, I could provide one
> if requested.
> OS is MacOS 10.4,
> > sessionInfo()
> R version 2.7.0 RC (2008-04-21 r45421)
> attached base packages:
>  datasets utils stats graphics grDevices splines
> grid methods base
> Baptiste Auguié
> Physics Department
> University of Exeter
> Stocker Road,
> Exeter, Devon,
> EX4 4QL, UK
> Phone: +44 1392 264187
More information about the R-help