r - 您可以在 R-Studio 中从调试模式恢复对象吗?
问题描述
昨晚,经过一番精疲力尽的调试,我完成了一个运行了 5 个小时多一点的新功能,并将其保存到一个对象中。
myResult <- myComputation(myArgument)
像这样的东西。不幸的是,该函数仍处于调试模式,因此在没有错误完成后 myResult 仍然不存在。
有没有办法从浏览/调试模式保存/恢复对象?
解决方案
对的,这是可能的。
如果您在全局环境中有一个现有变量,则可以使用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
推荐阅读
- node.js - Puppeteer:为什么对象在 page.evaluate 函数中返回未定义?
- plotly-dash - 无法在破折号仪表板页面中更新 2 个不同的表
- java - 使用 Jframe 检查句子是否为 pangram
- visual-studio-code - 使用 webpack 时如何在 VSCode 扩展中的 TreeItem 上使用图标
- python-3.x - 我应该添加什么来删除这个 imagedatabunch 错误 NameError: name 'ImageDataBunch' is not defined
- laravel-8 - 将变量从路由传递给控制器方法
- angularjs - 基于另一个字段值的条件渲染标签颜色
- reactjs - Oidc 授权 redux-react 重定向问题
- android - 如何在 HighCharts Android 包装器中仅将borderRadius应用于柱形图的顶部
- laravel - 方法 Illuminate\Auth\SessionGuard::personnel 不存在