昨晚,在经过一些疲惫的调试后,我完成了一个新功能,运行时间超过5小时,并保存到一个对象中。
myResult <- myComputation(myArgument)
像这样的东西。不幸的是,该函数仍处于调试模式,因此在完成后没有错误,myResult仍然不存在。
有没有办法从浏览/调试模式保存/恢复对象?
对的,这是可能的。
如果您在全局环境中有现有变量,则可以使用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