【问题标题】:load .Rdata file into list()将 .Rdata 文件加载到 list()
【发布时间】:2020-08-06 15:27:58
【问题描述】:

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

【问题讨论】:

  • 那是不同的文件格式,不同的界面。我想将保存/加载与 .Rdata 一起使用。

标签: r


【解决方案1】:

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

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

【讨论】:

  • 谢谢,和公认的答案一样好,只需要选择一个! :-)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 2018-02-19
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多