[R] Problem with the special argument '...' within a function
Hans-Joerg Bibiko
bibiko at eva.mpg.de
Wed Aug 16 14:56:24 CEST 2006
Dear all,
I wrote some functions using the special argument '...'. OK, it works.
But if I call such a function which also called such a function, then
I get an error message about unused arguments.
Here's an example:
fun1 <- function(x,a=1)
{
print(paste("x=",x))
print(paste("a=",a))
}
fun2 <- function(y,b=2)
{
print(paste("y=",y))
print(paste("b=",b))
}
myfun <- function(c, ...)
{
print(paste("c=",c))
fun1(x=c,...)
fun2(y=c,...)
}
This is OK.
> myfun(c=3)
[1] "c= 3"
[1] "x= 3"
[1] "a= 1"
[1] "y= 3"
[1] "b= 2"
> myfun(c=3,a=4)
[1] "c= 3"
[1] "x= 3"
[1] "a= 4"
Error in fun2(y = c, ...) : unused argument(s) (a ...)
I understand the error message because fun2 has no argument called 'a'.
But how can I avoid this???
I want to use this in order to be able to call myfun() with all
arguments to control myfun(),fun1(), and fun2().
Please help!
Thanks,
Hans
More information about the R-help
mailing list