J'ai également cherché le Saint Graal du bon flux de travail pour monter un grand projet R. J'ai trouvé l'année dernière ce package appelé rsuite , et c'était certainement ce que je cherchais. Ce package R a été explicitement développé pour le déploiement de grands projets R, mais j'ai trouvé qu'il pouvait être utilisé pour des projets R de petite, moyenne et grande taille. Je vais donner des liens vers des exemples du monde réel dans une minute (ci-dessous), mais je veux d'abord expliquer le nouveau paradigme de la construction de projets R avec rsuite
.
Remarque. Je ne suis ni le créateur ni le développeur de rsuite
.
Nous avons mal fait des projets avec RStudio; l'objectif ne doit pas être la création d'un projet ou d'un package mais d'une plus grande portée. Dans rsuite, vous créez un super-projet ou un projet maître, qui contient les projets R standard et les packages R, dans toutes les combinaisons possibles.
En ayant un super-projet R, vous n'avez plus besoin d'Unix make
pour gérer les niveaux inférieurs des projets R en dessous; vous utilisez des scripts R en haut. Laisse moi te montrer. Lorsque vous créez un projet maître rsuite, vous obtenez cette structure de dossiers:
Le dossier R
est l'endroit où vous placez vos scripts de gestion de projet, ceux qui les remplaceront make
.
Le dossier packages
est le dossier rsuite
contenant tous les packages qui composent le super-projet. Vous pouvez également copier-coller un package qui n'est pas accessible depuis Internet, et rsuite le construira également.
le dossier deployment
est l'endroit où rsuite
écriront tous les binaires de package qui ont été indiqués dans les DESCRIPTION
fichiers de packages . Ainsi, cela rend, en soi, vous projetez totalement reproductible dans le temps.
rsuite
est livré avec un client pour tous les systèmes d'exploitation. Je les ai tous testés. Mais vous pouvez également l'installer en tant que addin
pour RStudio.
rsuite
vous permet également de créer une conda
installation isolée dans son propre dossier conda
. Ce n'est pas un environnement mais une installation physique Python dérivée d'Anaconda dans votre machine. Cela fonctionne avec les R SystemRequirements
, à partir desquels vous pouvez installer tous les packages Python de votre choix, à partir de n'importe quel canal conda de votre choix.
Vous pouvez également créer des référentiels locaux pour extraire les packages R lorsque vous êtes hors ligne, ou souhaitez créer le tout plus rapidement.
Si vous le souhaitez, vous pouvez également créer le projet R sous forme de fichier zip et le partager avec des collègues. Il fonctionnera, à condition que vos collègues aient la même version R installée.
Une autre option consiste à créer un conteneur de l'ensemble du projet dans Ubuntu, Debian ou CentOS. Ainsi, au lieu de partager un fichier zip avec la génération de votre projet, vous partagez le Docker
conteneur entier avec votre projet prêt à être exécuté.
J'ai beaucoup expérimenté rsuite
pour rechercher une reproductibilité totale, et éviter de dépendre des paquets que l'on installe dans l'environnement global. C'est faux car dès que vous installez une mise à jour de package, le projet, le plus souvent, cesse de fonctionner, en particulier les packages avec des appels très spécifiques à une fonction avec certains paramètres.
La première chose que j'ai commencé à expérimenter était avec les bookdown
ebooks. Je n'ai jamais eu la chance d'avoir un livre pour survivre à l'épreuve du temps plus de six mois. Donc, ce que j'ai fait, c'est convertir le projet de livre original pour suivre le rsuite
cadre. Maintenant, je n'ai pas à m'inquiéter de la mise à jour de mon environnement R global, car le projet a son propre ensemble de packages dans le deployment
dossier.
La prochaine chose que j'ai faite a été de créer des projets d'apprentissage automatique, mais de la rsuite
manière. Un projet maître, orchestrant au sommet, et tous les sous-projets et packages doivent être sous le contrôle du maître. Cela change vraiment la façon dont vous codez avec R, vous rendant plus productif.
Après cela, j'ai commencé à travailler dans un nouveau package appelé rTorch
. Cela a été possible, en grande partie, grâce à rsuite
; cela vous permet de penser et de faire les choses en grand.
Un conseil cependant. L'apprentissage rsuite
n'est pas facile. Parce que cela présente une nouvelle façon de créer des projets R, cela semble difficile. Ne vous effrayez pas aux premières tentatives, continuez à gravir la pente jusqu'à ce que vous y arriviez. Cela nécessite une connaissance approfondie de votre système d'exploitation et de votre système de fichiers.
J'espère qu'un jour RStudio
nous permettra de générer des projets orchestrants comme le rsuite
fait depuis le menu. Ça serait génial.
Liens:
Repo RSuite GitHUb
bookdown r4ds
keras et tutoriel brillant
moderndive-book-rsuite
interprétable_ml-rsuite
IntroMachineLearningWithR-rsuite
clark-intro_ml-rsuite
hyndman-bookdown-rsuite
statistique_rethinking-rsuite
fread-benchmarks-rsuite
dataviz-rsuite
tutoriel-segmentation-de-détail-h2o
tutoriel-de-désabonnement-client-telco
sclerotinia_rsuite