J'ai inclus une bibliothèque appelée buvard dans mon script R qui contient un bogue. Y a-t-il un moyen facile pour moi d'éditer la source pour essayer de déboguer le problème?Comment éditer et déboguer les sources de la bibliothèque R
Répondre
Recherchez les fonctions trace
et browser
, ce sont les outils de base de R pour le débogage. Dites que vous voulez modifier la source de la fonction foo
, puis dire
trace("foo",edit=TRUE)
ouvrira la source de foo dans l'éditeur pour vous de changer. Cependant, ceci est pour le débogage interactif; les fichiers sources des packages ne sont pas modifiés. Donc, une fois que vous avez trouvé le bogue, vous devez changer les fichiers source du paquet pour que le changement soit permanent.
salut! J'ai téléchargé un paquet et je connais la fonction que je dois éditer - je ne peux pas le trouver parmi tous les fichiers. Quelle est la bonne façon de faire cela? Pourriez-vous me pointer dans la bonne direction? – vagabond
Une telle fonctionnalité est implémentée dans la version de développement de la R (16 juillet 2010):
Une nouvelle installation a été ajouté à r-devel pour l'expérimentation par les auteurs de paquets.
L'idée est d'insérer du code modifié à partir de la source du package dans le package en cours d'exécution sans réinstaller. Donc, on peut changer, tester, changer, etc dans une boucle rapide.
Le mécanisme consiste à évaluer certains fichiers de code source, en retournant un objet d'environnement qui est un instantané du code. A partir de cet environnement , des fonctions et des méthodes peuvent être insérées dans l'environnement du package de la session en cours. L'insertion utilise le mécanisme trace() , de sorte que le code d'origine peut être restauré.
La version en une seule étape est:
insertSource("mySourceFile.R", package = "myPackage", functions = "foo")
Voir cet article pour plus de détails: Inserting and testing revised functions in a package
Votre question de est-il un moyen facile pour moi d'éditer la source essayer et déboguer le problème? a la réponse évidente: Utilisez la source, Luke!
blotter est un package sur R-Forge d'où vous pouvez obtenir blotter sources here. C'est la façon standard de regarder Open Source et éventuellement l'aider avec une correction de bogue.
Ok, comment faire? Normalement, je peux juste appeler 'bibliothèque', ce que je suppose que je ne serais pas capable de faire avec les sources. J'ai téléchargé la source, mais il y a presque 40 fichiers. Est-ce que je cours chaque source individuellement pour les inclure dans mon script? –
@Ben McCann En supposant qu'il n'y a pas de code C ou FORTRAN, vous pouvez extraire les fichiers R, 'source()' et travailler à partir de là (chaque fois que vous changez le fichier, vous devez le copier ou le coller dans R). Une fois que tout fonctionne, vous pouvez copier les fichiers dans le fichier binaire du paquet et le construire. J'ai décrit un rapide développement étape par étape du paquet R dans un article de blog ici: http://danganothererror.wordpress.com/2010/07/23/building-an-r-package-under-windows-without- cc-or-fortran-code/ –
- 1. Comment déboguer la bibliothèque JNI/C?
- 2. Existe-t-il une bibliothèque Open Source pour générer et éditer les fichiers .xls et .ppt?
- 3. Comment ouvrir et éditer les rapports TFS?
- 4. La génération Android Maven, avec les dépendances sur la bibliothèque R échoue
- 5. Comment changer l'emplacement de la bibliothèque dans R?
- 6. Meilleure bibliothèque .Net pour éditer les tags WMA?
- 7. Déboguer le projet Maven dans Eclipse avec des sources tierces
- 8. Application de journalisation de bibliothèque d'entreprise Bloquer différentes sources
- 9. Django éditer et supprimer de la fin avant
- 10. Sources de données et NSTableView
- 11. Freebsd - Sources de transmission
- 12. Zend_Auth et le profil éditer
- 13. Comment déboguer JavaFX
- 14. Comment filtrer un listview avec et éditer la boîte - Android
- 15. UITableViewCellStyleValue2 éditer les indicateurs?
- 16. Comment détecter et déboguer les entrées de cache périmées?
- 17. auditeurs d'action et les sources d'événements Swing
- 18. xcode duplique les fichiers sources de construction
- 19. OpenAL - détermine les sources maximales
- 20. Sources de données brutes
- 21. Activer Exécuter la bibliothèque libLAS C++ dans R
- 22. Visual Studio: comment déboguer une bibliothèque avec un exécutable externe?
- 23. J'ai besoin des sources Microsoft.Practices.Unity et ObjectBuilder2
- 24. Comment utiliser les sources Ant avec Eclipse?
- 25. Ajax: comment modifier correctement les sources jQuery?
- 26. Comment restaurer les sources de données pour les rapports TFS?
- 27. Comment télécharger les sources eclair avec repo
- 28. Déboguer, construire et déployer dans la mousse
- 29. Qt Creator: comment déboguer et regarder les propriétés d'un widget?
- 30. Comment faire pour déboguer les erreurs manifestes?
Copie possible de [r modifier et reconstruire le paquet] (https://stackoverflow.com/questions/34800331/r-modify-and-rebuild-package) – Scarabee