如何在 R 中定义 'local' 变量?
How to define 'local' variables in R?
例如,在一个for循环中,我想定义一些变量来做一些操作,但我希望它们在迭代结束后自动删除。
但是,如果我使用 <-
为变量赋值,即使在循环执行结束后,变量仍然存在,我必须手动将其删除,这非常烦人。
这个答案说明了 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
以上内容不会在 .GlobalEnv
中创建 res2
,这与以下内容不同:
for(i in number){
res2 <-res[i] + 42
print(res2)
}
或者,您可以避免循环并使用 *apply
and/or 使用按设计使用局部变量的函数。查看示例
例如,在一个for循环中,我想定义一些变量来做一些操作,但我希望它们在迭代结束后自动删除。
但是,如果我使用 <-
为变量赋值,即使在循环执行结束后,变量仍然存在,我必须手动将其删除,这非常烦人。
这个答案说明了 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
以上内容不会在 .GlobalEnv
中创建 res2
,这与以下内容不同:
for(i in number){
res2 <-res[i] + 42
print(res2)
}
或者,您可以避免循环并使用 *apply
and/or 使用按设计使用局部变量的函数。查看示例