Message-ID: <971536df0901040532v2008d010jee8758d19984b2fb@mail.gmail.com>
Date: 2009-01-04T13:32:42Z
From: Gabor Grothendieck
Subject: passing parameters to an R script
In-Reply-To: <6B32C438581E5D4C8A34C377C3B334A40175294E@FBCMST11V04.fbc.local>
On Sat, Jan 3, 2009 at 1:32 PM, <mauede at 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 at 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.
>