<-将一个对象分配给其被评估的环境(局部作用域)。<<-将一个对象分配给下一个最高的环境,该名称在其中找到或者全局命名空间如果没有找到名称。请参见此处的文档。 <<通常仅在函数中使用,但要小心。由于很难追踪赋值的评估过程,因此<<可能更难调试。最好使用具有return语句的函数来编写。 Hadley Wickham在他的高级R编程书籍中有一个很好的解释。
<<-
,我从未见过它的有效用途。全局变量是不必要的,而且容易导致代码难以阅读和维护。 - Paul Hiemstra<<-
不是将值分配给全局环境,而是分配给中间封闭环境的情况。 - BrodieG<<-
的地方可能不太准确(尽管我在多年的R编程中从未使用过<<-
)。但在绝大多数情况下,它是不必要的。此外,适用<<-
的情况可能是相当复杂的情况(您提到了嵌套环境),而初学者程序员在简单情况下更容易滥用<<-
。 - Paul Hiemstra