[R] checking generic/method consistency
hb at maths.lth.se
Fri Sep 26 17:43:00 CEST 2003
Hi, it looks from the names of your argument that your function is a
"plain function", i.e. it is not a function specific to a class. If this
is true, I would avoid the period and rename your function to
solveLP <- function(cvec, bvec, Amat, maximum, maxiter, verbose) ...
Under the S3 style of programming with classes methods coupled to
classes are written in the format
method.class <- function(object, arg1, arg2, ...
That is, the part before the period is the name of a generic function
and the part after is the name of the class. This is why R CMD check
believe your that you have written a method 'solve' for class 'LP'. All
methods named 'solve' should have a argument signature that match the
generic function 'solve' and your solve.LP doesn't. I do not think this
was your intention, correct? See help.start() -> "R Language Definition"
-> "Object-oriented programming:" for more details about the S3 style.
To avoid problems like these I am working on a R Coding Conventions
(RCC), http://www.maths.lth.se/help/R/RCC/ (see Naming Conventions). It
is an early version and not everyone agrees with it, but the intention
is to find a style that avoid problems like yours, where it says that
you should avoid periods in function names except if you use it for S3
class methods. Feedback is appreciated.
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Arne Henningsen
> Sent: den 26 september 2003 17:03
> To: r-help at stat.math.ethz.ch
> Subject: [R] checking generic/method consistency
> I wrote a package for linear programming and want to submit
> it to CRAN.
> Since the package 'quadprog' has a function with the name
> 'solve.QP' to
> perform Quadratic Programming, I named my (main) function 'solve.LP'.
> However 'R CMD check' gives one warning:
> * checking generic/method consistency ... WARNING
> function(a, b, ...)
> function(cvec, bvec, Amat, maximum, maxiter, verbose)
> while 'R CMD check' gives no warnings when the function has the name
> What do you recommend me to do?
> 1) Ignore the warning and upload the package to CRAN as it is?
> 2) Rename the function? (any suggestions?)
> 3) Change something that avoids this problem without renaming
> the functions?
> I would prefer the third point, but I don't know how.
> Thank you for your answers,
> Arne Henningsen
> Department of Agricultural Economics
> Christian-Albrechts-University Kiel 24098 Kiel, Germany
> Tel: +49-431-880-4445
> Fax: +49-431-880-1397
> ahenningsen at email.uni-kiel.de
> http://www.uni-> kiel.de/agrarpol/ahenningsen.html
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo> /r-help
More information about the R-help