[R] renaming objects
Benilton Carvalho
bcarvalh at jhsph.edu
Tue Mar 4 00:11:27 CET 2008
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
> <r.turner at auckland.ac.nz> wrote:
>>
>> On 4/03/2008, at 10:38 AM, Ericka Lundström wrote:
>>
>>> On 03/03/2008, at 22.20, Giles.Crane at doh.state.nj.us 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 at 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.
More information about the R-help
mailing list