scr*_*Owl 10 performance r rename object
我正在尝试重命名一个大的R对象(data.frame~9GB)以匹配已经编写的一些代码.使用名称保存对象,df1
并编写代码以查找名为的对象df2
.
我在这里找到的唯一建议是建议创建一个新的,正确命名的对象版本.鉴于内存限制,这不是一个选项.有没有办法在结构本身的某处更改对象的名称,或者可能是某种浅层副本?任何建议,将不胜感激.
Mat*_*rde 12
@landroni回答了这个问题.这是一个例子,表明这确实是R的工作原理.
# copy an object to a new variable name, no change in memory usage
rm(list=ls())
gc()
memory.size()
# [1] 40.15
big.obj <- seq(1e7)
memory.size()
# [1] 78.34
big.obj.renamed <- big.obj
memory.size()
# [1] 78.34
rm(big.obj)
memory.size()
# [1] 78.34
# if the first variable is modified, however, you see the evidence of a hard copy
rm(list=ls())
gc()
memory.size()
# [1] 40.15
big.obj <- seq(1e7)
memory.size()
# [1] 78.34
big.obj.renamed <- big.obj
memory.size()
# [1] 78.34
big.obj[1] <- 2 # modifying the original forces hard copy
memory.size()
# [1] 192.8
Run Code Online (Sandbox Code Playgroud)