Disons que je viens d'appeler une fonction, f
, et qu'une erreur s'est produite quelque part dans la fonction. Je veux juste être en mesure de vérifier les valeurs de différentes variables juste avant que l'erreur ne se produise. Supposons que mon instinct me dit que c'est un petit bug, donc je suis trop paresseux pour utiliser debug(f)
et trop paresseux pour insérer browser()
dans la partie de la fonction où je pense que les choses vont mal. Et je suis trop paresseux pour commencer à mettre print()
instructions.Obtention de l'état des variables après qu'une erreur se soit produite dans R
Voici un exemple:
x <- 1:5
y <- x + rnorm(length(x),0,1)
f <- function(x,y) {
y <- c(y,1)
lm(y~x)
}
appel f(x,y)
nous obtenons l'erreur suivante:
Error in model.frame.default(formula = y ~ x, drop.unused.levels = TRUE) :
variable lengths differ (found for 'x')
Dans cet exemple, je veux saisir l'état de l'environnement juste avant lm()
est appelé; De cette façon, je peux appeler x
et y
et voir que leurs longueurs sont différentes. (Cet exemple est peut-être trop simple, mais j'espère que l'idée en sortira.)
Le lien est maintenant mort. J'adorerais lire ça! Soupir – Ameya