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