[R] Additional arguments in S3 method produces a warning
Gabor Grothendieck
ggrothendieck at gmail.com
Wed Mar 15 22:17:30 CET 2006
Define extract like this:
extract <- function(e, n, ...) UseMethod("extract")
# test -- no warning
extract(tp, no.tp = FALSE, peak = TRUE, pit = FALSE)
On 3/15/06, Philippe Grosjean <phgrosjean at sciviews.org> wrote:
> Hello,
> I just notice this:
> > x <- c(1:4,0:5, 4, 11)
> > library(pastecs)
> Loading required package: boot
> > tp <- turnpoints(x)
> > extract(tp, no.tp = FALSE, peak = TRUE, pit = FALSE)
> [1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
> FALSE
> Warning message:
> arguments after the first two are ignored in: UseMethod("extract", e, n,
> ...)
> > extract(tp)
> [1] 0 0 0 1 -1 0 0 0 0 1 -1 0
> Warning message:
> arguments after the first two are ignored in: UseMethod("extract", e, n,
> ...)
>
> My extract.turnpoints() function produces warnings. I can easily spot
> the origin of this warning:
>
> > extract
> function (e, n, ...)
> UseMethod("extract", e, n, ...)
> > extract.turnpoints
> function (e, n, no.tp = 0, peak = 1, pit = -1, ...)
> {
> if (missing(n))
> n <- length(e)
> res <- rep(no.tp, length.out = e$n)
> res[e$pos[e$peaks]] <- peak
> res[e$pos[e$pits]] <- pit
> if (n < length(res) & n > 0)
> res <- res[1:n]
> res
> }
>
> This is because my extract.turnpoints() method defines more arguments
> than 'e' and 'n' in the generic function. However,
>
> 1) I though that the '...' argument in S3 generic function was there to
> allow defining/passing additional arguments in/to S3 methods. Is this
> correct? If yes, why the warning?
>
> 2) Despite the warning says arguments after the first two are ignored,
> this appears not to be the case: in this example, 'no.tp', 'peak' and
> 'pit' arguments are taken into account, as you can see (different
> behaviour if you give other values to them).
>
> I am a little bit lost. Could someone help me, please.
>
> Best,
>
> Philippe Grosjean
>
>
> --
> ..............................................<°}))><........
> ) ) ) ) )
> ( ( ( ( ( Prof. Philippe Grosjean
> ) ) ) ) )
> ( ( ( ( ( Numerical Ecology of Aquatic Systems
> ) ) ) ) ) Mons-Hainaut University, Pentagone (3D08)
> ( ( ( ( ( Academie Universitaire Wallonie-Bruxelles
> ) ) ) ) ) 8, av du Champ de Mars, 7000 Mons, Belgium
> ( ( ( ( (
> ) ) ) ) ) phone: + 32.65.37.34.97, fax: + 32.65.37.30.54
> ( ( ( ( ( email: Philippe.Grosjean at umh.ac.be
> ) ) ) ) )
> ( ( ( ( ( web: http://www.umh.ac.be/~econum
> ) ) ) ) ) http://www.sciviews.org
> ( ( ( ( (
> ..............................................................
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
More information about the R-help
mailing list