On Fri, 16 Jan 2004, Giampiero Salvi wrote (in reply to some unidentified
helper):

> Thanks for your answer,
>
> > Yes, that will create two copies.  What is it you want to do with the data?
> > Do you want the capability of both of them changing the data?  What type of
> > processing are you going to do?
>
> The data should be read only (and all the objects share the same data values).

If the data are read only it is likely that R will *not* create two
copies, eg try
  a<-list(x=rnorm(1e6))
  gc()
  b<-a$x
  d<-a$x
  gc()
  b<-b+1
  d<-d+1
  gc()

>
> > One way is to store the 'name' of the object in the location and then use
> > 'get/assign' to reference the data:
> >
> > obj1$dist <- 'dist'
> > obj2$dist <- 'dist'
> >
> > my.sum <- sum(get(obj1$data))
> > assign(obj1$data, new.values)
>

This won't work any better.  get(obj1$data) will get the object, and
there's no reason to expect that it's less likely to get a copy than
simple assignment is.

        -thomas

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to