Скажем, я только что вызвал функцию, 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
и видеть, что их длины различны. (Этот пример может быть слишком простым, но я надеюсь, что он получит эту идею.)