修改R函数中的变量

Ale*_*lex 13 arguments r function pass-by-reference

如何修改传递给R中函数的参数?在C++中,这将通过引用传递.

g=4
abc <- function(x) {x<-5}
abc(g)
Run Code Online (Sandbox Code Playgroud)

我想g设置为5.

Tom*_*mmy 12

@Dason表示有一些方法,但实际上 - 你不应该!

R的整个范式是"通过价值".@Rory刚刚发布了处理它的正常方法 - 只需返回修改后的值...

环境通常是唯一可以通过R中的引用传递的对象.

但最近新的对象称为引用类已添加到R(它们使用环境).他们可以修改他们的价值(但是以受控的方式).如果你真的觉得需要,你可能想要研究使用它们......

  • 还有[proto](http://cran.r-project.org/web/packages/proto/index.html)包. (2认同)