Exécution et débogage d'un script et d'une fonction en R

je suis un débutant. J'ai un fichier R ,contenant une fonction avec un paramètre. 'J'aimerais effectuer ces deux opérations distinctes:

  1. exécutez la fonction
  2. Exécuter étape par étape et le débogage

supposez d'avoir une fonction simple dans un fichier R

"exampleSum"<-
function(x,y){
 x<-x+1
 return(x+y)
}

pouvez-vous me dire quelles sont les commandes R pour exécuter ce que j'ai demandé.

16
demandé sur Paul Hiemstra 2010-12-29 08:17:39

2 réponses

Vous devez appeler debug(<functionName>) pour passer d'une fonction. La prochaine fois que vous appelez la fonction, l'environnement dit navigateur sera automatiquement ouvert et la liste du contenu de votre fonction. Vous effectuez une étape en appuyant sur retour ou avec le n commande (suivant). Une étape simple est un bloc (généralement une seule ligne) qui sera listé avant son exécution. Pour exécuter la fonction jusqu'à sa fin, appuyez sur c (continuer). Lorsque vous êtes en mode navigateur, vous pouvez utiliser ls(),str(),class(), ... inspecter les objets. Votre exemple ressemble à ceci:

> exampleSum <- function(x, y) {
+   x <- x+1
+   return(x+y)
+ }

> debug(exampleSum)             # set debug flag
> exampleSum(1, 2)              # run function in browser mode
debugging in: exampleSum(1, 2)
debug: {
    x <- x + 1
    return(x + y)
}
Browse[2]> n                    # next step
debug: x <- x + 1
Browse[2]> ls()                 # show objects
[1] "x" "y"
Browse[2]> x                    # show x
[1] 1
Browse[2]> c                    # run function to end
exiting from: exampleSum(1, 2)
[1] 4

> undebug(exampleSum)           # remove debug flag

Le dernier appel à undebug(<functionName>) supprime l'indicateur de débogage à partir de la fonction telle qu'il sera exécuté normalement la prochaine fois qu'il appelle.

26
répondu caracal 2010-12-29 09:43:36

vous devez d'abord charger la fonction dans L'espace de travail de R (en la copiant/la collant à R). Ensuite, vous pouvez l'exécuter en utilisant exampleSum(x = 1, y = 1). Vous pouvez vérifier qu'il est là en tapant exampleSum dans la console R. Vous pouvez également lancer le fichier script en utilisant source(). Exemple d'utilisation serait source("d:/R/my_script.R").

je pense que vous serez d'avantage immense par la lecture d'au moins une Introduction à R. Il ya aussi une pléthore de livres disponibles pour les débutants qui expliquent les bases. Équivalent des informations sont disponibles dans L'AI2R et dans des documents gratuits qui circulent sur internet. La recherche de l' R aider liste est aussi... utile.

1
répondu Roman Luštrik 2010-12-29 09:41:17