【发布时间】:2016-10-19 10:15:11
【问题描述】:
我目前正在为特定情节编写一个相当大的函数。出于修复错误的原因,我想保留该函数创建的所有对象,但到目前为止我的网络搜索不成功。
快速可视化。假设
fun <- function(x) {
y <- x+1
z <- y^2
z*4
}
fun(2)
[1] 36
对于这个简单的案例,我想将 y 和 z 保持在可访问的环境中,以便能够理解我的函数的某些阶段产生的结果。
提前致谢!
【问题讨论】:
-
喜欢这个?
fun <- function(x) { y <- x+1 ; z <- y^2 ; return(list(y,z,z*4)) } -
为了调试使用
browser()这个函数让你进入一个交互会话,无论它被调用。您可以在那里探索甚至更改函数范围内的变量。 -
同意@snaut。出于修复错误的原因,您要保存哪些对象?暂时的还是持久的?这些对象的哪些值?最终还是中间?你最好启动一个调试会话。像 RStudio 这样的现代 R IDE 让这变得非常简单。
-
谢谢,我不知道
browser()选项。返回列表中的所有对象将非常耗时,因为该函数非常大。将尝试使用browser()或将某些对象分配给.GlobalEnv。谢谢大家的帮助!