【发布时间】:2020-08-06 15:27:58
【问题描述】:
在 R 中,load(file = "file.Rdata") 会将所有变量加载为全局变量。是否可以将 .Rdata 文件中包含的所有变量加载到一个列表中,这样就不会破坏全局变量空间?
【问题讨论】:
-
那是不同的文件格式,不同的界面。我想将保存/加载与 .Rdata 一起使用。
标签: r
在 R 中,load(file = "file.Rdata") 会将所有变量加载为全局变量。是否可以将 .Rdata 文件中包含的所有变量加载到一个列表中,这样就不会破坏全局变量空间?
【问题讨论】:
标签: r
您可以将其分配给一个新环境,然后从那里将其转换为一个列表:
load("file.Rdata", temp_env <- new.env())
env_list <- as.list(temp_env)
【讨论】:
在mget 中使用load 和其他envir=onment,而不是.GlobalEnv。
d1 <- d2 <- d3 <- d4 <- data.frame()
save(d1, d2, d3, d4, file="test.rda")
rm(d1, d2, d3, d4)
x <- mget(load("test.rda", envir=(NE. <- new.env())), envir=NE.)
ls()
# [1] "NE." "x"
x
# $d1
# data frame with 0 columns and 0 rows
#
# $d2
# data frame with 0 columns and 0 rows
#
# $d3
# data frame with 0 columns and 0 rows
#
# $d4
# data frame with 0 columns and 0 rows
【讨论】: