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