Есть ли способ сохранить переменные в режиме отладчика в глобальной среде? - PullRequest
1 голос
/ 23 апреля 2019

Я использую функцию browser() для отладки своего кода.Я хотел бы сохранить все переменные в глобальной среде, чтобы при выходе из режима отладки они были доступны.

Я знаю, как это сделать для одной переменной.Например, если я хочу сохранить df:

df <<- df

Есть ли способ сохранить все переменные?

1 Ответ

1 голос
/ 23 апреля 2019

Вы можете использовать комбинацию *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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...