Ho anche cercato il santo graal del giusto flusso di lavoro per mettere insieme un grande progetto R. L'anno scorso ho trovato questo pacchetto chiamato rsuite e, certamente, era quello che cercavo. Questo pacchetto R è stato sviluppato esplicitamente per la distribuzione di progetti R di grandi dimensioni, ma ho scoperto che può essere utilizzato per progetti R di piccole, medie e grandi dimensioni. Darò collegamenti ad esempi del mondo reale in un minuto (sotto), ma prima voglio spiegare il nuovo paradigma di costruzione di progetti R conrsuite
.
Nota. Non sono il creatore o lo sviluppatore di rsuite
.
Abbiamo fatto progetti tutti sbagliati con RStudio; l'obiettivo non dovrebbe essere la creazione di un progetto o di un pacchetto ma di un ambito più ampio. In rsuite crei un super-progetto o un progetto principale, che contiene i progetti R standard e i pacchetti R, in tutte le combinazioni possibili.
Avendo un super-progetto R non è più necessario Unix make
per gestire i livelli inferiori dei progetti R sottostanti; usi gli script R in alto. Lascia che ti mostri. Quando si crea un progetto master rsuite, si ottiene questa struttura di cartelle:
La cartella R
è dove metti i tuoi script di gestione del progetto, quelli che sostituiranno make
.
La cartella packages
è la cartella in cui sono contenuti rsuite
tutti i pacchetti che compongono il super-progetto. Puoi anche copiare e incollare un pacchetto che non è accessibile da Internet, e anche rsuite lo costruirà.
la cartella deployment
è dove rsuite
scriveranno tutti i file binari dei pacchetti indicati nei DESCRIPTION
file dei pacchetti . Quindi, questo rende di per sé proiettare tempi di riproduzione totalmente riproducibili.
rsuite
viene fornito con un client per tutti i sistemi operativi. Li ho testati tutti. Ma puoi anche installarlo come addin
per RStudio.
rsuite
consente inoltre di creare un'installazione isolata conda
nella propria cartella conda
. Questo non è un ambiente ma un'installazione fisica di Python derivata da Anaconda nella tua macchina. Funziona insieme a R SystemRequirements
, da cui è possibile installare tutti i pacchetti Python desiderati, da qualsiasi canale conda desiderato.
Puoi anche creare repository locali per estrarre i pacchetti R quando sei offline o vuoi costruire il tutto più velocemente.
Se lo desideri, puoi anche creare il progetto R come file zip e condividerlo con i colleghi. Funzionerà, a condizione che i tuoi colleghi abbiano la stessa versione R installata.
Un'altra opzione è la creazione di un contenitore dell'intero progetto in Ubuntu, Debian o CentOS. Quindi, invece di condividere un file zip con la build del progetto, condividi l'intero Docker
container con il tuo progetto pronto per l'esecuzione.
Ho sperimentato molto nel rsuite
cercare la piena riproducibilità ed evitare a seconda dei pacchetti che si installano nell'ambiente globale. Questo è sbagliato perché non appena si installa un aggiornamento del pacchetto, il progetto, il più delle volte, smette di funzionare, specialmente quei pacchetti con chiamate molto specifiche a una funzione con determinati parametri.
La prima cosa che ho iniziato a sperimentare è stata con gli bookdown
ebook. Non ho mai avuto la fortuna di avere un libro esaurito per sopravvivere alla prova del tempo più di sei mesi. Quindi, quello che ho fatto è stato convertire il progetto di bookdown originale per seguire il rsuite
framework. Ora, non devo preoccuparmi di aggiornare il mio ambiente R globale, perché il progetto ha il suo set di pacchetti nella deployment
cartella.
La prossima cosa che ho fatto è stata la creazione di progetti di machine learning ma tra l' rsuite
altro. Un master, orchestrando il progetto nella parte superiore e tutti i sottoprogetti e pacchetti che saranno sotto il controllo del master. Cambia davvero il modo in cui codifichi con R, rendendoti più produttivo.
Successivamente ho iniziato a lavorare in un mio nuovo pacchetto chiamato rTorch
. Ciò è stato possibile, in gran parte, a causa di rsuite
; ti fa pensare e andare alla grande.
Un consiglio però. L'apprendimento rsuite
non è facile. Poiché presenta un nuovo modo di creare progetti R, è difficile. Non sgomentare ai primi tentativi, continua a salire sul pendio fino a quando non ce la fai. Richiede una conoscenza avanzata del sistema operativo e del file system.
Mi aspetto che un giorno RStudio
ci consenta di generare progetti di orchestrazione come rsuite
fa dal menu. Sarebbe fantastico.
link:
Repository RSuite GitHUb
bookdown r4ds
keras e tutorial lucido
moderndive-book-rsuite
interpretable_ml-rsuite
IntroMachineLearningWithR-rsuite
clark-intro_ml-rsuite
Hyndman-bookdown-rsuite
statistical_rethinking-rsuite
fread-benchmark-rsuite
DataViz-rsuite
retail-segmentazione-H2O dimostrativi
telco-cliente-churn dimostrativi
sclerotinia_rsuite