FAQ
When creating a package, I would like a way to tell R that
a function with a period in its name is not a method.

I'm writing a package now with a modified version of qr.R.
R CMD check gives warnings:

* checking S3 generic/method consistency ... WARNING
qr:
function(x, ...)
qr.R:
function(qr, complete, pivot)

See section �Generic functions and methods� of the �Writing R
Extensions� manual.

* checking Rd \usage sections ... NOTE
S3 methods shown with full name in documentation object 'QR.Auxiliaries':
�qr.R�

The \usage entries for S3 methods should use the \method markup and
not their full name.
See the chapter �Writing R documentation files� in the �Writing R
Extensions� manual.

Search Discussions

  • Uwe Ligges at Sep 7, 2012 at 4:55 pm

    On 07.09.2012 17:05, Tim Hesterberg wrote:
    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.
    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.

    Best,
    Uwe


    I'm writing a package now with a modified version of qr.R.
    R CMD check gives warnings:

    * checking S3 generic/method consistency ... WARNING
    qr:
    function(x, ...)
    qr.R:
    function(qr, complete, pivot)

    See section ?Generic functions and methods? of the ?Writing R
    Extensions? manual.

    * checking Rd \usage sections ... NOTE
    S3 methods shown with full name in documentation object 'QR.Auxiliaries':
    ?qr.R?

    The \usage entries for S3 methods should use the \method markup and
    not their full name.
    See the chapter ?Writing R documentation files? in the ?Writing R
    Extensions? manual.

    [[alternative HTML version deleted]]



    ______________________________________________
    R-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-devel
  • Warnes, Gregory at Sep 7, 2012 at 4:59 pm

    On 9/7/12 12:55 PM, "Uwe Ligges" wrote:
    On 07.09.2012 17:05, Tim Hesterberg wrote:
    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.
    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.
    Would it be possible to add a \notmethod{} decorator to allow package
    maintainers to avoid these messages?


    -Greg
  • Simon Urbanek at Sep 7, 2012 at 6:00 pm
    On Sep 7, 2012, at 12:59 PM, "Warnes, Gregory" wrote:
    On 9/7/12 12:55 PM, "Uwe Ligges" wrote:
    On 07.09.2012 17:05, Tim Hesterberg wrote:
    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.
    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.
    Would it be possible to add a \notmethod{} decorator to allow package maintainers to avoid these messages?
    I would strongly support any solution since it has bitten me as well...
  • Duncan Murdoch at Sep 7, 2012 at 6:14 pm

    On 07/09/2012 2:00 PM, Simon Urbanek wrote:
    On Sep 7, 2012, at 12:59 PM, "Warnes, Gregory" wrote:

    On 9/7/12 12:55 PM, "Uwe Ligges" wrote:
    On 07.09.2012 17:05, Tim Hesterberg wrote:
    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.
    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.
    Would it be possible to add a \notmethod{} decorator to allow package maintainers to avoid these messages?
    I would strongly support any solution since it has bitten me as well...
    An alternative would be to say that if it's not declared to be a method
    in the NAMESPACE file, it's not one. I think that would actually be
    more work though, since it would probably break a lot of packages...

    Duncan Murdoch
  • Simon Urbanek at Sep 7, 2012 at 6:30 pm

    On Sep 7, 2012, at 2:14 PM, Duncan Murdoch wrote:
    On 07/09/2012 2:00 PM, Simon Urbanek wrote:
    On Sep 7, 2012, at 12:59 PM, "Warnes, Gregory" wrote:

    On 9/7/12 12:55 PM, "Uwe Ligges" wrote:
    On 07.09.2012 17:05, Tim Hesterberg wrote:
    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.
    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.
    Would it be possible to add a \notmethod{} decorator to allow package maintainers to avoid these messages?
    I would strongly support any solution since it has bitten me as well...
    An alternative would be to say that if it's not declared to be a method in the NAMESPACE file, it's not one.
    Yes, that's what I was expecting in the first place ...

    (BTW: \function{} may be more natural than \notmethod{})

    I think that would actually be more work though, since it would probably break a lot of packages...
    I wonder - those would already get a warning that they don't declare S3 methods properly so it may not be as surprising. Moreover it won't actually break anything at this point, just silence some warnings (unless we get to distinguish S3 methods from functions in S3 dispatch, but I last time I was told we are not anywhere close to a solution on that one ...).
  • Henrik Bengtsson at Sep 7, 2012 at 5:18 pm
    Would a workaround (for pleasing R CMD check) be to do:

    qr.R <- function(...) UseMethod("qr.R", ...)

    qr.R.qr <- function(qr, complete, pivot) {
    # No need to assert the class of 'qr' here.
    ...
    }

    Haven't tried it. Method dispatching may also add unnecessary
    overhead if called lots of times.

    /Henrik


    On Fri, Sep 7, 2012 at 9:55 AM, Uwe Ligges
    wrote:
    On 07.09.2012 17:05, Tim Hesterberg wrote:

    When creating a package, I would like a way to tell R that
    a function with a period in its name is not a method.

    You can't. There are few exception for historic names (S definitions)
    hardcoded in R.

    Best,
    Uwe


    I'm writing a package now with a modified version of qr.R.
    R CMD check gives warnings:

    * checking S3 generic/method consistency ... WARNING
    qr:
    function(x, ...)
    qr.R:
    function(qr, complete, pivot)

    See section ?Generic functions and methods? of the ?Writing R
    Extensions? manual.

    * checking Rd \usage sections ... NOTE
    S3 methods shown with full name in documentation object 'QR.Auxiliaries':
    ?qr.R?

    The \usage entries for S3 methods should use the \method markup and
    not their full name.
    See the chapter ?Writing R documentation files? in the ?Writing R
    Extensions? manual.

    [[alternative HTML version deleted]]



    ______________________________________________
    R-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-devel
    ______________________________________________
    R-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-devel

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupr-devel @
categoriesr
postedSep 7, '12 at 3:05p
activeSep 7, '12 at 6:30p
posts7
users6
websiter-project.org
irc#r

People

Translate

site design / logo © 2022 Grokbase