假设我刚调用了一个函数f
,但是在函数中出现了错误。我想要查看在错误发生之前不同变量的值。
假设我的直觉告诉我这是一个小错误,因此我太懒惰使用debug(f)
,也太懒惰在我认为出错的部分插入browser()
。而且我也太懒惰开始放置print()
语句。
这里有一个例子:
x <- 1:5
y <- x + rnorm(length(x),0,1)
f <- function(x,y) {
y <- c(y,1)
lm(y~x)
}
调用 f(x,y)
函数时,我们遇到了以下错误:
Error in model.frame.default(formula = y ~ x, drop.unused.levels = TRUE) :
variable lengths differ (found for 'x')
在这个例子中,我想要获取在调用lm()
之前环境的状态;这样我就可以调用x
和y
并查看它们的长度是否不同。(这个例子可能太简单了,但我希望它能传达出想法。)
Rscript
,则会出现“Error in options(error = recover) : object 'recover' not found”的错误。 - irritable_phd_syndrome