首页 > 解决方案 > R:如何在函数本地环境中保存所有对象?

问题描述

有没有办法使用 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()(或其他函数)将所有对象保存在当前函数的范围内(没有明确列出它们)?

标签: rscopesave

解决方案


使用指示的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"

推荐阅读