[R] R: possibility for sth. like parameter passing by reference?

Peter Dalgaard BSA p.dalgaard at biostat.ku.dk
Tue Feb 1 18:35:07 CET 2000

Thomas Lumley <thomas at biostat.washington.edu> writes:

> On Tue, 1 Feb 2000, Marcus Eger wrote:
> > Hello,
> > is there a possibility to pass parameters to a
> > function without copying them into the new environment?
> For example, if I define x to be a really big matrix and then
> R>  g<-function(x) mean(x)+1
> R> f<-function(x) mean(x+1)
> R> g(w)
> [1] 0.9992614
> R> f(w)
> Error: heap memory (6144 Kb) exhausted [needed 1562 Kb more]
> The first function doesn't copy x, the second does.

Interesting... I would have expected that both functions would copy x
when the argument is evaluated, but the 2nd one create an additional
object the same size as x to hold the intermediate value of x+1.

I thought that the copying would be avoided altogether by using


but that seems to take as much space as g(), which seems to indicate
that the object is linked rather than copied in such cases.

   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list