R:如何在函数本地环境中保存所有对象?

Posted

技术标签:

【中文标题】R:如何在函数本地环境中保存所有对象?【英文标题】:R: How can I save all objects within a functions local environment? 【发布时间】:2019-09-02 17:12:14 【问题描述】:

有没有办法使用 save.image() 以便将对象保存在函数环境中?举这个最小的例子:

outside = "not in function"
testFun <- function()
  a = 1
  b = 2
  c = 3
  save.image(file="environmentTest.Rdata")


testFun()

当我打开 environmentTest.Rdata 时,对象 outside 存在,但不存在 abc。有没有办法使用save.image()(或其他函数)来保存当前函数范围内的所有对象(不明确列出它们)?

【问题讨论】:

可以使用?local保存在本地环境中 save(list=ls(), file=...)? 【参考方案1】:

使用指示的save 命令。

outside = "not in function"
testFun <- function()
  a = 1
  b = 2
  c = 3
  save(list = ls(all.names = TRUE), file = "environment.RData")

testFun()

load("environment.RData", e <- new.env())
ls(e)
## [1] "a" "b" "c"

【讨论】:

以上是关于R:如何在函数本地环境中保存所有对象?的主要内容,如果未能解决你的问题,请参考以下文章

R语言sys方法:Sys.getenv函数获取R环境变量Sys.getlocale函数获取当前系统本地信息Sys.setlocale函数设置当前系统本地信息

范围——如果存在同名的本地变量,如何评估父环境中的对象?

如何在本地存储中保存对象数组

如何在本地环境中自动启动 Azure Function?

R扩展写入本地数据

如何保存独立的 R 环境对象