Thanks, the issue was solved by adding class definitions to the zzz.R file in the R code directory. However, this led to a new problem.
The zzz.R now contains class definition: > setClass("myclass", contains = "list") and method definition for the new class, extending the generic 'show': > setGeneric("show",function(x,...){standardGeneric("show")}) > setMethod("show", "myclass",function(x, ...) {cat("myclass object \n")}) I get two warnings. The first one: * checking Rd files ... WARNING Rd files with duplicated alias 'show,myclass-method': myclass-class.Rd show-methods.Rd I get this one because the alias row for the method (\alias{show,myclass-method}) is in both myclass-class.Rd file and show-methods.Rd file (created by promptMethods function). This is likely related to the second warning: * checking for missing documentation entries ... WARNING Undocumented code objects: show I thought that the show method would've been documented correctly as I put 'show-methods.Rd' file in the 'man' directory. This does not seem to be the case, however. Any help on how I should document the extended show method in this case, or are there some mistakes in my original definition for extended 'show'? I could not find suitable examples from the web/mailing lists. br Leo On Fri, Jul 10, 2009 at 5:37 AM, Martin Morgan <mtmor...@fhcrc.org> wrote: > L L wrote: > > Dear all, > > > > I have been trying to create an R package. This has been successfull > until I > > tried to define classes. > > > > Currently, my procedure is the following: > > > > Start R, load the function and class definition > >> tmp <- function (x) {x} > >> setClass("rpa", contains = "list", where=topenv(parent.frame())) > > > > Use package skeleton to create directory structure: > >> package.skeleton(name = "test",list=c("tmp")) > > I don't think package.skeleton knows to copy the class definition to the > R files; I think you have to do that yourself -- is there a > setClass("rpa", contains="list") instruction in the R files created by > package.skeleton? > > Martin > > > > Edit man files, add test/NAMESPACE file with the following contents: > >> export(tmp) > >> exportClasses("rpa") > > > > Use R CMD check and R CMD build to create tarball. > > -> No error messages. > > > > Start R, install the created package: > >> install.packages("test_1.0.tar.gz",repos=NULL) > > > > Test the new package: > >> require(test) > >> my.object = new("rpa") > > > > This gives the error message > >> Error in getClass(Class, where = topenv(parent.frame())) : > >> "rpa" is not a defined class > > > > Any tips on how to define and export global classes in package creation? > > > > I also tried > > - to replace the 'topenv(parent.frame())' with '.GlobalEnv' in setClass. > > - place the setClass within function 'tmp' > > - exportClasses(rpa) in the namespace (without suffixes "") > > > > I paged through the related mailing list discussions but could not find a > > solution. Any tips and tricks would be worthwhile now; I guess this > should > > be a standard issue but it seems a bit tricky to come up with a quick > > solution with the little programming experience that I have. > > > > kind regards > > Leo Lahti > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.