[R] How to make the assignment in a for-loop not affect variables outside the loop?
Uwe Ligges
ligges at statistik.tu-dortmund.de
Sun Nov 22 16:17:57 CET 2009
Either use local as in:
n=10
local(for(i in 1:n){
n=3
print(n)
})
print(n)
or write a function that is evaluated in its own environment:
n=10
MyLoopFoo <- function(){
for(i in 1:n){
n <- 3
print(n)
}
}
MyLoopFoo()
print(n)
Uwe Ligges
Peng Yu wrote:
> I know that R is a dynamic programming language. But I'm wondering if
> there is a way to make the assignment in a for-loop not affect
> variables outside the loop.
>
>> n=10
>> for(i in 1:n){
> + n=3
> + print(n)
> + }
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
> [1] 3
>> print(n)
> [1] 3
>
> ______________________________________________
> 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