gpt4 book ai didi

r - 在 R/R-Studio 中加载和保存单个对象到工作区

转载 作者:行者123 更新时间:2023-12-04 10:19:08 24 4
gpt4 key购买 nike

我喜欢使用工作区的想法。
到目前为止,我总是保存整个工作区并将它们完全加载到现有项目中。但是很多时候我只需要来自指定工作区的单个对象。是否有可能从另一个工作区单独加载它们。

此外,有时将对象添加到现有工作区会很好。想象一下,例如,您有五个具有单独巨大工作区的巨大脚本,并且您不想将它们混合在一起以将它们全部放在一个工作区中。所以现在您只想将五个工作空间中的每一个的干净结果存储到另一个干净的工作区...

所以这些是基本任务:

# save entire workspace
save.image("mypath/myworkspace")

# load entire workspace
load ("mypath/myworkspace")

# save a single object (or several)
save (myobject,file="mypath/myworkspace")

# load a single object from an existing workspace
?

# add a single object to an existing workspace
?

最佳答案

RStudio 调用您的 globalenv()你的“工作区”

您可以将 .RData 文件加载到您的 globalenv() 以外的环境中。

x <- 1; y <- 2 #First, create some objects
save.image() # save workspace to disk
rm(list=ls()) # remove everything from workspace
tmp.env <- new.env() # create a temporary environment
load(".RData", envir=tmp.env) # load workspace into temporary environment
x <- get("x", pos=tmp.env) # get the objects you need into your globalenv()
#x <- tmp.env$x # equivalent to previous line
rm(tmp.env) # remove the temporary environment to free up memory

一旦对象在您的 globalenv() 中,它将显示在 RStudio 的“工作区”选项卡中。

同样,您可以将对象分配到环境中。
tmp.env <- new.env()
load(".RData", envir=tmp.env) # load workspace into temporary environment
assign("z", 10, pos=tmp.env)
#tmp.env$z <- 10 # equivalent to previous line

现在,您可以将所有对象保存在 tmp.env 中。如果你告诉 save他们所在的地方。
save(list=ls(all.names=TRUE, pos=tmp.env), envir=tmp.env, file="test.RData")
rm(tmp.env)

您已经有效地添加了一个对象, z , 到存储在 test.RData 中的工作区。
rm(list=ls(all.names=TRUE))
load("test.RData")

> ls()
[1] "x" "y" "z"

关于r - 在 R/R-Studio 中加载和保存单个对象到工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433172/

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