您可以在 R-Studio 中从调试模式恢复对象吗?
Can you recover objects from debug mode in R-Studio?
昨天晚上,经过一番调试,运行 5个多小时完成了一个新功能,就是保存到一个对象中。
myResult <- myComputation(myArgument)
像这样。不幸的是,该函数仍处于调试模式,因此在无错误完成后,myResult 仍然不存在。
有没有办法从 browsing/debugging 模式 save/recover 对象?
是的,这是可能的。
如果您在全局环境中已有变量,则可以使用 variableName<<-
运算符。或者使用 assign(variableNameAsString, ObjectToSave, globalenv())
,其中 variableNameAsString
应替换为您要在其下保存输出的名称,而 ObjectToSave
是要保存的对象。这将在调试会话退出后保存您的对象。
非常简单的例子:
x <- 3
#dummy function that someone did not remember to return stuff from
xfunc <- function(x){
x <- x * 3
assign("cookieMonster", x, globalenv())
browser()
cat("hello world")
}
x2 <- xfunc(x)
x2
[1] NULL
cookieMonster
[1] 9
昨天晚上,经过一番调试,运行 5个多小时完成了一个新功能,就是保存到一个对象中。
myResult <- myComputation(myArgument)
像这样。不幸的是,该函数仍处于调试模式,因此在无错误完成后,myResult 仍然不存在。
有没有办法从 browsing/debugging 模式 save/recover 对象?
是的,这是可能的。
如果您在全局环境中已有变量,则可以使用 variableName<<-
运算符。或者使用 assign(variableNameAsString, ObjectToSave, globalenv())
,其中 variableNameAsString
应替换为您要在其下保存输出的名称,而 ObjectToSave
是要保存的对象。这将在调试会话退出后保存您的对象。
非常简单的例子:
x <- 3
#dummy function that someone did not remember to return stuff from
xfunc <- function(x){
x <- x * 3
assign("cookieMonster", x, globalenv())
browser()
cat("hello world")
}
x2 <- xfunc(x)
x2
[1] NULL
cookieMonster
[1] 9