【发布时间】:2012-04-06 09:17:54
【问题描述】:
在我写的文件的开头添加广告:
t.code = c()
然后在类似的函数中:
calc <- function(){
..some stuff
t.code = append(t.code, value)
}
最后我打印了 t.code 内容,但我看到 NULL,所以似乎没有使用全局 var,有什么建议吗?
【问题讨论】:
-
在 R 中分配变量的惯用方式是使用
<-而不是=。但是在这种情况下,您正在寻找<<-:stat.ethz.ch/R-manual/R-devel/library/base/html/assignOps.html 来自文档:运算符 > 导致在环境中搜索正在分配的变量的现有定义。如果找到这样的变量(并且其绑定未锁定),则重新定义其值,否则在全局环境中进行赋值。 -
很少需要分配给全局变量(或一个好主意),尤其是如果您是 R 新手。我会改为使用您的函数
return(value)并在单独的步骤中附加。跨度>
标签: r