NAMESPACE file. Now the package passes all checks.
practices etc. would be rather useful for a beginner.
> 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 <
mtmorgan@...> 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@... 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.
>>
>>
>