evo*_*obe 43
如果变量相同,R很聪明,不能制作副本,所以请继续,重新分配和rm()原始.
例:
x <- 1:10
tracemem(x)
# [1] "<0000000017181EA8>"
y <- x
tracemem(y)
# [1] "<0000000017181EA8>"
Run Code Online (Sandbox Code Playgroud)
我们可以看到两个对象都指向同一个地址.如果其中一个被修改,R在内存中创建一个新副本,即:2个对象不再相同.
# Now change one of the vectors
y[2] <- 3
# tracemem[0x0000000017181ea8 -> 0x0000000017178c68]:
# tracemem[0x0000000017178c68 -> 0x0000000012ebe3b0]:
tracemem(x)
# [1] "<0000000017181EA8>"
tracemem(y)
# [1] "<0000000012EBE3B0>"
Run Code Online (Sandbox Code Playgroud)
相关文章:如何重命名R对象?