On Sat, Jan 3, 2009 at 1:32 PM, <mau...@alice.it> wrote: > I knowf R functions ca be called passing some parameters. > My first question is: how are parameters passed to R functions ? > Browsing through R archives I found an answer confirming taht parameters can > be passed to the called function by value. I wonder whether passing the > parameter > address is possible somehow to allow the function to actually change its > value.
Normally this is done by passing back the modified variable as the return value: > a <- 0 > fn <- function(x) x+1 > a <- fn(a) > a [1] 1 Another possibility is to use environments. In the following function fn increments component x of environment e: > e <- new.env() > e$x <- 0 > fn <- function(e) e$x <- e$x + 1 > fn(e) > e$x [1] 1 You can use parent.frame() to refer to the calling environment. ?parent.frame It may be that e above is really best viewed as an object in object oriented programming. In that case the proto package implements such a model in R and R.oo implements a different oo model. > > My second question is about running R scripts with parameters. Something > similar to the > s/w device (argc, argv) which is used to run a C program with initial > parameters. > Is this possible at all ? > ?commandArgs > Thank you very much. > Maura > > > > tutti i telefonini TIM! > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > ______________________________________________ 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.