首页 > 解决方案 > 您可以在 R-Studio 中从调试模式恢复对象吗?

问题描述

昨晚,经过一番精疲力尽的调试,我完成了一个运行了 5 个小时多一点的新功能,并将其保存到一个对象中。

myResult <- myComputation(myArgument)

像这样的东西。不幸的是,该函数仍处于调试模式,因此在没有错误完成后 myResult 仍然不存在。

有没有办法从浏览/调试模式保存/恢复对象?

标签: robjectdebuggingenvironment-variablesrecover

解决方案


对的,这是可能的。

如果您在全局环境中有一个现有变量,则可以使用variableName<<-运算符。替代使用assign(variableNameAsString, ObjectToSave, globalenv())wherevariableNameAsString应替换为您要保存输出的名称,并且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

推荐阅读