A quick comment on design: On Tue, May 20, 2008 at 1:41 AM, Iago Mosqueira <[EMAIL PROTECTED]> wrote: > Hi, > > A lowess method is defined in our package for one of our S4 classes. To > explicitely define the generic this is being used > > if (!isGeneric("lowess")) > setGeneric("lowess", useAsDefault = lowess) > > This works fine for many other methods inherited from various R > packages. In this case a warning is issued in R CMD check: > > * checking R code for possible problems ... NOTE > lowess: no visible binding for global variable 'xy' > lowess: no visible binding for global variable 'o' > > which I assume originates from the formals of lowess > > lowess(x, y = NULL, f = 2/3, iter = 3, delta = 0.01 * diff(range(xy$x[o]))) > > where 'xy' and 'o' are present in the argument list but are really > defined inside the function itself.
To my opinion, this could have been implemented as (or with some other default value on 'delta'): lowess <- function(x, y=NULL, f=2/3, iter=3, delta=NULL) { [...] if (is.null(delta)) delta <- 0.01 * diff(range(xy$x[o]))); [...] } and then document in the help pages what 'delta' defaults to. My $.02 /Henrik > > I suppose I can safely ignore this warning, and the new methods seems to > work fine, but I was curious to know if there is a better way to deal > with this. > > Many thanks, > > > Iago > > -- > Iago Mosqueira > Cefas > Systems Modelling > > Pakefield Rd. > Lowestoft NR33 0HT > U.K. > +44 (0)1502 558003 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel