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

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

那是一种不同的文件格式,不同的接口。我想使用.Rdata的保存/加载功能。 - Tomas
2个回答

10
您可以将其分配给一个新环境,并从那里将其转换为列表:
load("file.Rdata",  temp_env <- new.env())
env_list <- as.list(temp_env)

5

mget内使用load和其他环境(而不是.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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接