[R] external variable by inside-function routines modifications

Bert Gunter gunter.berton at gene.com
Thu Oct 8 19:37:43 CEST 2009


I am uncertain what you mean. Possibly...

x <- 1
> f <- function()x<<-2
> f()
> x
[1] 2

HOWEVER, this is very dangerous and most unwise as it depends on scoping
rules and where f is called to determine exactly which "x" is being assigned
the value of 2. So I think you would do well to reconsider what you are
trying to do and recast it to work within R's recommended semantics, which
is to explicitly assign modified values as the output of functions with the
original values as arguments.


Bert Gunter
Genentech Nonclinical Biostatistics
 
 

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Alex Bird
Sent: Thursday, October 08, 2009 10:23 AM
To: Henrique Dallazuanna
Cc: r-help at r-project.org
Subject: Re: [R] external variable by inside-function routines modifications

Is it possible to do what you mentioned somehow outside of the
function. I mean that there's some function and the only thing I can
do is to point on the variable to be modified inside the function
without any possibilities to modify the very function.

2009/10/8 Henrique Dallazuanna <wwwhsd at gmail.com>:
> See assign, you can use '<<-' assignment:
>
> foo <- function(var) var <<- var + 1
>
> On Thu, Oct 8, 2009 at 2:14 PM, devol <sunduck at gmail.com> wrote:
>>
>> Dear all,
>>
>>  could you please advice whether it is possible somehow to modify an
>> external (from the point of some function view) variable by some
>> function-internal operators. For example
>>
>>> var=1
>>> foo<-function(var){var=var+1}
>>> foo(var)
>>> var
>> [1] 1
>>
>> but the goal is to get the var equal to 2 in this specific case.
>>
>> Thanks!
>> --
>> View this message in context:
http://www.nabble.com/external-variable-by-inside-function-routines-modifica
tions-tp25803308p25803308.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
>

______________________________________________
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.




More information about the R-help mailing list