Passing by value does not necessarily mean physical copying.  Check out this:

> x <- matrix(1:1000^2, 1000, 1000)
> gc()
         used (Mb) gc trigger (Mb) max used (Mb)
Ncells 114520  3.1     350000  9.4   350000  9.4
Vcells 577124  4.5    1901092 14.6  1577448 12.1
> f <- function(x) { y <- max(x); print(gc()); y }
> f(x)
         used (Mb) gc trigger (Mb) max used (Mb)
Ncells 114560  3.1     350000  9.4   350000  9.4
Vcells 577133  4.5    1901092 14.6  1577448 12.1
[1] 1000000
> R.version.string
[1] "R version 2.10.1 (2009-12-14)"
> win.version()
[1] "Windows Vista (build 6002) Service Pack 2"


On Mon, Apr 5, 2010 at 7:35 AM, Roger Gill <roger.gill1...@yahoo.co.uk> wrote:
> Dear All,
>
> I would like some advice on creating R packages, passing by reference and oo 
> R.
>
> I have created a package that is neither elegant nor extensible and rather 
> cumbersome (it works). I would like to re write the code to make the package 
> distributable (should it be of interest) and easy to maintain.
>
> The package is for Bayesian model determination via a reversible jump 
> algorithm and has currently been written to minimise computational expense.
>
> At every iteration of the MCMC I make a call to a likelihood function. Here, 
> I pass by value a matrix containing the explanatory variables of the current 
> model and this is quite costly if X is quite large. This matrix could change 
> at every iteration (it's certainly proposed). Ideally I would pass by 
> reference (a pointer in C, \@ in perl etc...) and allow the user to specify 
> this function should they so desire. This is where I become a little stuck.
>
> I have searched the lists, used google and not found a accepted solution. How 
> do I pass by ref? What are my options? Can you point me towards some suitable 
> reading? Are there any good examples? How have others overcome this problem.
>
> Thanks in advance,
>
> best wishes
>
> Roger
>
>
>
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to