在R中声明对象的不同方式
这个问题在这里已经有了答案:
在某种意义上=和<-是等价的,但是后者是首选的,因为=也被覆盖以指定默认参数(其中<-不起作用)。
至于<<- ,它更棘手,不推荐。 在R中,沿任意代码执行的每一步都将与一堆环境相关联 - 当前环境,当前函数被调用的环境等等。运算符<<-试图将值分配给发现的最近对象在此环境层次结构中,如果没有找到,请在全局环境中进行分配。 例如,下面是一个基本的加法器。
f <- (function() { x <- 0; function(y) { x <<- x + y; x } })()
f(10) # 10
f(5) # 15
函数f具有一个具有x的父环境的环境。 使用<<- ,我们可以访问那个x ,而如果我们有<- ,每次结果都是y而不是跟踪总和。 这是因为<-将在本地范围内创建一个x副本,并且它始终为0因为该值是从父环境复制的。
有关这些错综复杂的更多信息,您还可以查看相关的R文档。
链接地址: http://www.djcxy.com/p/73841.html上一篇: The different ways of declaring objects in R
下一篇: Are `=` and `<
