将.Rdata文件加载到list()中

时间:2020-04-23 10:28:59

标签: r

在R中,load(file = "file.Rdata")将所有变量加载为全局变量。是否可以将.Rdata文件中包含的所有变量加载到列表中,以免破坏全局变量空间?

2 个答案:

答案 0 :(得分:2)

您可以将其分配给新环境,然后将其转换为列表:

load("file.Rdata",  temp_env <- new.env())
env_list <- as.list.environment(temp_env)

答案 1 :(得分:2)

load内使用mgetenvir=以外的其他.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