gpt4 book ai didi

R 重命名一个对象/data.frame 没有中间对象

转载 作者:行者123 更新时间:2023-12-04 02:52:19 27 4
gpt4 key购买 nike

我正在尝试重命名一个大型 R 对象(一个 data.frame ~ 9GB)以匹配一些已经编写的代码。对象以名称 df1 保存并且编写代码以查找名为 df2 的对象。 .

我发现的唯一建议 here建议创建一个新的、正确命名的对象版本。考虑到内存限制,这不是一个选项。有没有办法在结构本身的某处更改对象的名称,或者某种浅拷贝?任何建议,将不胜感激。

最佳答案

@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

关于R 重命名一个对象/data.frame 没有中间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com