[R] Trouble with 3-dots
David Brahm
a215020 at agate.fmr.com
Thu Oct 11 19:55:00 CEST 2001
I wrote on 10/8/01 that I could not pass missing arguments from one function
to another through "...":
R> x <- matrix(1:12, 3,4)
R> myfun <- function(x, ...) {if (missing(...)) x[]<-0 else x[...]<-0; x}
R> myfun2 <- function(x, ...) myfun(x, ...)
R> myfun2(x, ,1:2)
Error in myfun(x, ...) : Argument is missing, with no default
Here is one solution:
R> myfun2 <- function(x, ...) {
R> sc <- sys.call()
R> sc[[1]] <- as.name("myfun")
R> eval.parent(sc)
R> }
R> myfun2(x, ,1:2)
[,1] [,2] [,3] [,4]
[1,] 0 0 7 10
[2,] 0 0 8 11
[3,] 0 0 9 12
Comments? Is this in any way inefficient or dangerous? Thanks.
-- David Brahm (brahm at alum.mit.edu)
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list