[R] Weird behaviour function args in ellipses
David Winsemius
dwinsemius at comcast.net
Fri Dec 11 18:55:53 CET 2015
> On Dec 11, 2015, at 9:40 AM, Mario José Marques-Azevedo <mariojmaaz at gmail.com> wrote:
>
> Dears,
>
> I'm having a weird behaviours when setting arguments in functions.
>
> fn <- function(x, st="mean", b=NULL, col.range="black", ...){
> dots <- list(...)
> cat("col.range =", col.range, "\n")
> cat("dots =\n")
> print(dots)
> }
>
> fn(1, b=2,col="red")
>
> # Output
> col.range = red
Argument matching is done with `pmatch`. So "col" is a partial match to "col.range".
See ?match.arg
> dots =
> list()
>
> Why 'col' arguments are not in ellipses, but setting col.range to 'red'?
>
> If I change the position of ellipses
>
> fn2 <- function(x, ..., st="mean", b=NULL, col.range="black"){
> dots <- list(...)
> cat("col.range =", col.range, "\n")
> cat("dots =\n")
> print(dots)
> }
>
> fn2(1, b=2, col="red")
>
> # Output
> col.range = black
> dots =
> $col
> [1] "red"
>
> It works! I'm using R version 3.2.2.
It's been that way 'forever'.
>
> Best regards!
>
> Mario
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list