Ich habe auch nach dem heiligen Gral des richtigen Workflows gesucht, um ein R-Großprojekt zusammenzustellen. Ich habe letztes Jahr dieses Paket namens rsuite gefunden , und es war sicherlich das, wonach ich gesucht habe. Dieses R-Paket wurde explizit für die Bereitstellung großer R-Projekte entwickelt, aber ich habe festgestellt, dass es für kleinere, mittlere und große R-Projekte verwendet werden kann. Ich werde in einer Minute (unten) Links zu Beispielen aus der realen Welt geben, aber zuerst möchte ich das neue Paradigma des Baus von R-Projekten erklären rsuite
.
Hinweis. Ich bin nicht der Schöpfer oder Entwickler von rsuite
.
Wir haben mit RStudio alle Projekte falsch gemacht. Das Ziel sollte nicht die Erstellung eines Projekts oder eines Pakets sein, sondern einen größeren Umfang. In rsuite erstellen Sie ein Superprojekt oder Masterprojekt, das die Standard-R-Projekte und R-Pakete in allen möglichen Kombinationen enthält.
Mit einem R-Superprojekt benötigen Sie kein Unix mehr make
, um die unteren Ebenen der darunter liegenden R-Projekte zu verwalten. Sie verwenden oben R-Skripte. Lass mich dir zeigen. Wenn Sie ein rsuite-Masterprojekt erstellen, erhalten Sie folgende Ordnerstruktur:
In dem Ordner R
legen Sie Ihre Projektverwaltungsskripte ab, die ersetzt werden make
.
Der Ordner packages
ist der Ordner, in dem rsuite
alle Pakete enthalten sind, aus denen das Superprojekt besteht. Sie können auch ein Paket kopieren und einfügen, auf das über das Internet nicht zugegriffen werden kann, und rsuite erstellt es ebenfalls.
der Ordner deployment
ist , wo rsuite
alle Paket - Binärdateien schreiben werden , die in den Paketen angegeben wurden DESCRIPTION
Dateien. Auf diese Weise projizieren Sie für sich genommen eine vollständig reproduzierbare Accros-Zeit.
rsuite
kommt mit einem Client für alle Betriebssysteme. Ich habe sie alle getestet. Sie können es aber auch als addin
RStudio installieren .
rsuite
Außerdem können Sie eine isolierte conda
Installation in einem eigenen Ordner erstellen conda
. Dies ist keine Umgebung, sondern eine physische Python-Installation, die von Anaconda auf Ihrem Computer abgeleitet wurde. Dies funktioniert zusammen mit SystemRequirements
Rs, von denen aus Sie alle gewünschten Python-Pakete von jedem gewünschten Conda-Kanal aus installieren können.
Sie können auch lokale Repositorys erstellen, um R-Pakete abzurufen, wenn Sie offline sind oder das Ganze schneller erstellen möchten.
Wenn Sie möchten, können Sie das R-Projekt auch als Zip-Datei erstellen und für Kollegen freigeben. Es wird ausgeführt, vorausgesetzt, Ihre Kollegen haben dieselbe R-Version installiert.
Eine weitere Option ist das Erstellen eines Containers des gesamten Projekts in Ubuntu, Debian oder CentOS. Anstatt eine Zip-Datei für Ihren Projektaufbau freizugeben, teilen Sie den gesamten Docker
Container mit Ihrem Projekt, das zur Ausführung bereit ist.
Ich habe viel mit der rsuite
Suche nach vollständiger Reproduzierbarkeit experimentiert und es vermieden, von den Paketen abhängig zu sein, die man in der globalen Umgebung installiert. Dies ist falsch, da das Projekt nach der Installation eines Paketupdates häufig nicht mehr funktioniert, insbesondere bei Paketen mit sehr spezifischen Aufrufen einer Funktion mit bestimmten Parametern.
Das erste, was ich anfing zu experimentieren, war mit bookdown
E-Books. Ich hatte nie das Glück, eine Buchung zu haben, um den Test der Zeit länger als sechs Monate zu überstehen. Also habe ich das ursprüngliche Bookdown-Projekt so konvertiert, dass es dem rsuite
Framework folgt . Jetzt muss ich mich nicht mehr um die Aktualisierung meiner globalen R-Umgebung kümmern, da das Projekt eigene Pakete im deployment
Ordner hat.
Das nächste, was ich tat, war das Erstellen von Projekten für maschinelles Lernen, aber im rsuite
Weg. Ein Master, ein Orchestrierungsprojekt an der Spitze und alle Unterprojekte und Pakete, die vom Master gesteuert werden sollen. Es verändert wirklich die Art und Weise, wie Sie mit R codieren, und macht Sie produktiver.
Danach fing ich an, in einem neuen Paket von mir zu arbeiten rTorch
. Dies war größtenteils möglich wegen rsuite
; es lässt dich denken und groß werden.
Ein Ratschlag. Lernen rsuite
ist nicht einfach. Da es eine neue Art der Erstellung von R-Projekten darstellt, fühlt es sich schwierig an. Bestürzung nicht bei den ersten Versuchen, klettere weiter den Hang hinauf, bis du es schaffst. Es erfordert fortgeschrittene Kenntnisse Ihres Betriebssystems und Ihres Dateisystems.
Ich gehe davon aus, dass RStudio
wir eines Tages Orchestrierungsprojekte wie rsuite
im Menü erstellen können. Es wäre großartig.
Links:
RSuite GitHUb Repo
r4ds bookdown
Keras und glänzendes Tutorial
moderndive-book-rsuite
interpretable_ml-rsuite
IntroMachineLearningWithR-rsuite
clark-intro_ml-rsuite
hyndman-bookdown-rsuite
statistische_Rethinking-Rsuite
Fread-Benchmarks-Rsuite
dataviz-rsuite
Retail-Segmentation-H2O-Tutorial
telco-customer-churn-tutorial
sclerotinia_rsuite