[R] Local Variable

Erik Iverson eriki at ccbr.umn.edu
Thu Sep 16 17:47:53 CEST 2010



Sarah Goslee wrote:
> Leaving aside the question of whether this is a good thing to do, 

Let's not leave that aside.  Surely there is a much more
straight-forward way to accomplish what you want.  Why not store
all the X's in a vector, and then you can avoid this for/assign/get
hack.


you
> can accomplish what you want by changing the pos argument, which
> by default does not save the variable to the global environment.
> 
> Reading the details section of ?assign and also ?environment may help.
> 
> I'd offer an example, but your function doesn't work as-is because I don't
> have any idea what the get statements are supposed to be getting.
> 
> Sarah
> 
> On Thu, Sep 16, 2010 at 11:36 AM, harunpirim <harunpirim at gmail.com> wrote:
>> Dear All,
>>
>> I have a function:
>>
>> gen <- function(m){for(i in 1:m){assign(paste("x",i, sep=""),
>> (7*get(paste("x",i-1,sep="")))%%13); print(get(paste("x", i, sep="")))}}
>>
>> my question is, I do gen(20), then the function prints out 20 values,
>> however when I do objects(), I can't see x1,x2,x3,....,x20 as objects. Why?
>> Are they local variables? R doesn't show local variables as objects?
>>
>> Thanks,
>>
>> Harun
>



More information about the R-help mailing list