modify variable within R function

前端 未结 5 717
孤城傲影
孤城傲影 2020-12-03 05:40

How do I modify an argument being passed to a function in R? In C++ this would be pass by reference.

g=4
abc <- function(x) {x<-5}
abc(g)
5条回答
  •  没有蜡笔的小新
    2020-12-03 06:03

    There are ways as @Dason showed, but really - you shouldn't!

    The whole paradigm of R is to "pass by value". @Rory just posted the normal way to handle it - just return the modified value...

    Environments are typically the only objects that can be passed by reference in R.

    But lately new objects called reference classes have been added to R (they use environments). They can modify their values (but in a controlled way). You might want to look into using them if you really feel the need...

提交回复
热议问题