有没有一种方法可以将调试器模式下的变量保存到全局环境?

时间:2019-04-23 10:24:21

标签: r debugging global-variables

我正在使用browser()函数调试代码。 我想将所有变量保存到全局环境中,这样当我退出调试模式时,它们将可用。

我知道如何针对单个变量执行此操作。例如。如果我要保存df

df <<- df

是否可以保存所有变量?

1 个答案:

答案 0 :(得分:1)

您可以使用*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"
相关问题