我正在使用browser()
函数来调试我的代码。我想将所有变量保存到全局环境中,以便在退出调试模式时它们将可用。
我知道如何为单个变量执行此操作。 例如,如果我想保存df
:
df <<- df
有没有办法保存所有变量?
您可以使用 *apply()
、ls()
和 assign()
的组合。在一个新的 R 会话中,我创建了以下函数:
f <- function() {
x <- 1
y <- 2
z <- 3
return(x + y + z)
}
ls()
# [1] "f"
然后,我使用 debug()
运行f()
,并在 return()
语句之前,从控制台执行了以下内容:
lapply(ls(), function(o) assign(x = o, value = get(o), envir = .GlobalEnv))
然后,在函数执行结束后,检查我的全局环境:
ls()
# [1] "f" "x" "y" "z"