例如,在for循环中,我想定义一些变量来执行某些操作,但是我希望一旦迭代结束就可以自动将其删除。
但是,如果我使用<-
将值赋给变量,即使循环执行结束后,变量仍然存在,我必须手动将其删除,这很烦人。
答案 0 :(得分:2)
这个答案说明了local
在R中的循环中的使用:
number <- 1:5
res <- numeric(5)
local(for(i in number){
res2 <-res[i] + 42
print(res2)
})
[1] 42
[1] 42
[1] 42
[1] 42
[1] 42
与以下不同,以上内容并未在res2
中创建.GlobalEnv
:
for(i in number){
res2 <-res[i] + 42
print(res2)
}
或者,您可以避免循环,而使用*apply
和/或使用通过设计使用局部变量的函数。查看示例here