Hi, I have two small issues with my R code, no big deal but curiosity really. Here is a sample code,
> > x <- rnorm(1:10) > > foo <- function(a = 1, b = list(x = c(1:10), y = c(1:10))){ > > for (ii in seq(along=b$y)){ > > print(x[ii] + b$x[ii]) > } > > > } > > foo() # default OK > > foo(b=list(x=1, y=c(1:10))) # only the first term works > > foo(b$y = 1:5) # error > In the last call, i wish to use all default arguments but b$y (that is, using the default a and b$x). Is this possible? The second call is more related to indices: i would like my argument b $x to be either a vector (default), or a scalar. In the latter, the loop b$x[ii] breaks when i would like it to recycle the single value. I can check the length of b$x with a "if" statement, but it becomes intricate when several arguments have this option of being vector or scalar. Is there a way to use b$x that would work in both cases? Many thanks, baptiste _____________________________ Baptiste Auguié Physics Department University of Exeter Stocker Road, Exeter, Devon, EX4 4QL, UK Phone: +44 1392 264187 http://newton.ex.ac.uk/research/emag http://projects.ex.ac.uk/atto ______________________________________________ R-help@r-project.org 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.