在R中,load(file = "file.Rdata")
将所有变量加载为全局变量。是否可以将.Rdata文件中包含的所有变量加载到列表中,以免破坏全局变量空间?
答案 0 :(得分:2)
您可以将其分配给新环境,然后将其转换为列表:
load("file.Rdata", temp_env <- new.env())
env_list <- as.list.environment(temp_env)
答案 1 :(得分:2)
在load
内使用mget
和envir=
以外的其他.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