or, in other terms:

> set.seed(1)
> x <- runif(1e7)
> x.add <- tracemem(x)
> y <- x
> y.add <- tracemem(y)
> identical(x.add, y.add)
[1] TRUE

ie, both objects have the same memory address - therefore, not a copy:

> x.add
[1] "<0x2000000>"
> y.add
[1] "<0x2000000>"

now, observe what happens when you modify "y"

> y[1] <- 1
tracemem[0x2000000 -> 0x6c4c000]:
> tracemem(y)
[1] "<0x6c4c000>"

now, it's a copy... =)

b

On Mar 3, 2008, at 5:48 PM, hadley wickham wrote:

On Mon, Mar 3, 2008 at 4:37 PM, Rolf Turner <[EMAIL PROTECTED]> wrote:

On 4/03/2008, at 10:38 AM, Ericka Lundström wrote:

On 03/03/2008, at 22.20, [EMAIL PROTECTED] wrote:
Is there a way to rename R objects?
I am looking for a way to rename objects
without making new objects.

#For example:
x = c(1:40)
# I wish to use a function to rename x, already created, to y,
perhaps by
obj.rename(x,y)
# or
obj.rename("x","y")
y <- x # changes x to y with same values.

That makes a new object --- which is precisely what the enquirer
       wanted ***NOT*** to do.

It doesn't though!

gc()
        used (Mb) gc trigger (Mb) max used (Mb)
Ncells 133095  3.6     350000  9.4   350000  9.4
Vcells  87049  0.7     786432  6.0   478831  3.7
a <- runif(1e7)
gc()
          used (Mb) gc trigger (Mb) max used (Mb)
Ncells   133112  3.6     350000  9.4   350000  9.4
Vcells 10087364 77.0   11458389 87.5 10087374 77.0
b <- a
gc()
          used (Mb) gc trigger (Mb) max used (Mb)
Ncells   133117  3.6     350000  9.4   350000  9.4
Vcells 10087365 77.0   12111308 92.5 10087476 77.0

R will only create a copy if either of a or b is modified.

Hadley



--
http://had.co.nz/

______________________________________________
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