[R] changing function argument

Thomas Lumley tlumley at u.washington.edu
Fri Mar 13 10:21:25 CET 2009

On Fri, 13 Mar 2009, Thomas Mang wrote:

> Hi,
> I wonder if the following is possible in R:
> Suppose a function takes an argument, and wants to modify this argument so >that  the change is visible _at the call side_. It would be what is for 
>example known  as pass-by-reference-to-non-const in C++.
> test <- function(x)
> {
> x <- 10
> ...
> return (somethingElse) # I do NOT want having to return x
> }
> number = 5
> test(number)
> stopifnot(number == 10)

It's possible in your example


However, it is still likely to be a bad idea.  What do you want to happen for

  retest<-function(z) {z<-5; test(z); print(z)}

R really doesn't have pointer or reference types, and there's no way to ensure that the arguments to a function are lvalues.


Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle

More information about the R-help mailing list