#r #debugging #global-variables
#r #отладка #глобальные переменные
Вопрос:
Я использую browser()
функцию для отладки своего кода. Я хотел бы сохранить все переменные в глобальной среде, чтобы при выходе из режима отладки они были доступны.
Я знаю, как это сделать для одной переменной. Например. если я хочу сохранить df
:
df <<- df
Есть ли способ сохранить все переменные?
Ответ №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"