您可以在 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