Martin Maechler <[EMAIL PROTECTED]> a écrit :

"CG" == Christophe Genolini <[EMAIL PROTECTED]>
    on Sat, 26 Jul 2008 12:12:12 +0200 writes:

        CG> Martin Maechler <[EMAIL PROTECTED]> a écrit :
        >>>>>>> "CG" == Christophe Genolini <[EMAIL PROTECTED]>
        >>>>>>> on Tue, 22 Jul 2008 19:04:37 +0200 writes:
        >>
        CG> Prof Brian Ripley <[EMAIL PROTECTED]> a écrit :
        >> >> On Tue, 22 Jul 2008, [EMAIL PROTECTED] wrote:
        >> >>
        >> >>> Hi the list (well, half of the list, only the one who
        >> >>> are not on holidays...)
        >> >>>
        >> >>> I am trying to make an S4 package. When I run it on a
        >> >>> console, everything seems ok. When I run R CMD check, I
        >> >>> got an error --- 8<
        >> >>> ----------------------
        >> >>> Error in setMethod("plot", "ClassX", function(x, y) { :
        >> >>> no existing definition for function "plot" --- 8<
        >> >>> ----------------------
        >> >>>
        >> >>> If I add
        >> >>> setGeneric("plot",function(x,y,...){standardGeneric("plot")})
        >> >>> in my code, then everything is OK.
        >> >>>
        >> >>> This is a surprise for me since I taught that we do not
        >> >>> need to redefine as generic the function that are
        >> >>> already generic, like "plot". Am I wrong ?
        >> >>
        >> >> Yes. And do read the error message.  It says
        >> >>
        >> >> no existing definition for function "plot"
        >> >>
        >> >> so this is not if the function is S3 or S4 generic, but
        >> >> that no such function is visible.
        >> >>
        >> >> Looks like you forgot to declare a dependence on (or
        >> >> import) package graphics.
        >>
        CG> I would have forgot if I knew that I have to declare
        CG> such a dependence...  Do we have to declare all the
        CG> depence to all the package ? To base ? To stats ?
        >>
        >> not to base, but to all other packages (since R can be loaded
        >> without any packages but base).
        >>
        CG> I thaught that the package that are include in R when we
        CG> start it had not to be include.
        >>
        >> You thought wrongly, and all our documentation mentions that you
        >> need to use 'Depends:' correctly (and  'Imports(..)' in
        >> NAMESPACE if you make use of one).
        >>
        >> {and please strongly note the correct spelling of "thought" !}
        >>
        >> Martin

   CG> I correct DESCRIPTION and NAMESPACE adding Depends and import.
   CG> But I still get the message :

   CG> checking for missing documentation entries ... WARNING
   CG> Undocumented S4 methods:
   CG> generic 'plot' and siglist 'ClassX'

   CG> I can't find what is wrong...

well, it's  a message about *documentation*
and therefore not related to DESCRIPTION
and not much related to NAMESPACE.

It tells you that you don't have correct documentation for the
plot method for ClassX.


What if I don't want to document this method? I did not put ClassX in the export, I do not want the user to acces to it.
I want :

 plot,ClassX-method -> private
 ClassY-class       -> public
 plot,ClassY-method -> public

Is it possible ?

Christophe

--> "Writing R Extensions",
   section 2.1.3 'Documenting S4 classes and methods'

Regards,
Martin

   CG> ----- DESCRIPTION ----- Package: packS4
   CG> Type: Package
   CG> Title: Toy example of S4 package
   CG> Version: 0.5
   CG> Date: 2008-07-22
   CG> Author: Christophe Genolini / INSERM U669
   CG> Maintainer: <[EMAIL PROTECTED]>
CG> Description: Package built to illustration package construction with S4
   CG> License: GPL (>=2)
   CG> LazyLoad: yes
   CG> Depends: methods, graphics
   CG> Collate: global.R ClassX.R ClassY.R ClassX-ClassY.R ClassZ.R


   CG> ------ NAMESPACE ------
   CG> export(
   CG> "classZ",
   CG> "functionClassicA"
   CG> )
   CG> exportMethods(
   CG> "getZ1",
   CG> "setZ1<-",
   CG> "publicA",
   CG> "plot"
   CG> )
   CG> exportClasses(
   CG> "ClassY",
   CG> "ClassZ"
   CG> )

   CG> import(graphics)

   CG> Christophe




   CG> ----------------------------------------------------------------
CG> Ce message a ete envoye par IMP, grace a l'Universite Paris 10 Nanterre




______________________________________________
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.

Reply via email to