R中的全局变量


Answers:


173

正如克里斯蒂安(Christian)回答assign()的那样,在全球环境中存在一种分配方法。一种更简单,更短(但不是更好...坚持分配)的方法是使用<<-运算符,即

    a <<- "new" 

在函数内部。


41
这种方法实际上并不保存在全局环境中,而是保存在父范围中。有时父作用域将与全局环境相同,尽管在某些情况下,它具有很多嵌套函数,但不会。
LunaticSoul 2015年

5
为什么assign首选<<-
Jasha

4
@Jasha <<-将在全局环境中搜索机柜链,并将其分配给找到的第一个匹配变量。假设,如果您有一个f()嵌套在闭包中g()a存在于中的函数g(),则使用a <<-in f()将分配给ain g(),而不是全局环境。通常,这就是您想要的。
鲍勃

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.