[R] Problem with the special argument '...' within a function

Liaw, Andy andy_liaw at merck.com
Wed Aug 16 18:09:17 CEST 2006


I'm not sure if this is what you want, but simply add ... to the list of
arguments for fun1 and fun2 would eliminate the error. 

Andy

From: Hans-Joerg Bibiko
> 
> 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
> 
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.
> 
>



More information about the R-help mailing list