Existe-t-il un moyen d'arrêter un programme R sans erreur ?
Par exemple, j'ai une source importante, qui définit plusieurs fonctions et qui est suivie d'appels à ces fonctions. Il arrive que je modifie une fonction et que je veuille que les définitions de fonctions soient mises à jour dans l'environnement R, mais qu'elles ne soient pas réellement appelées.
J'ai défini une variable justUpdate
et lorsqu'il est TRUE
vous souhaitez arrêter le programme juste après la définition des fonctions.
ReadInput <- function(...) ...
Analyze <- function(...) ...
WriteOutput <- function(...) ...
if (justUpdate)
stop()
# main body
x <- ReadInput()
y <- Analyze(x)
WriteOutput(y)
J'ai appelé stop()
mais le problème est qu'elle affiche un message d'erreur.
ctrl + c est une autre option, mais je veux arrêter la source sur une ligne spécifique.
Le problème avec q()
ou quit()
est qu'il met fin à la session R, mais j'aimerais que la session R reste ouverte.
Comme l'a proposé @JoshuaUlrich browser()
peut être une autre option, mais elle n'est pas encore parfaite, car la source se termine dans un nouvel environnement (c'est-à-dire que l'invite R devient Browser[1]>
plutôt que >
). Nous pouvons néanmoins appuyer sur Q
Je ne sais pas si j'ai envie d'arrêter, mais je cherche la solution la plus simple.
Une autre option consiste à utiliser if (! justUpdate) { main body }
mais il s'agit d'une compensation du problème, pas d'une solution.
Existe-t-il une meilleure option ?