También he estado buscando el santo grial del flujo de trabajo adecuado para armar un proyecto R grande. El año pasado encontré este paquete llamado rsuite y, ciertamente, era lo que estaba buscando. Este paquete R se desarrolló explícitamente para la implementación de proyectos R grandes, pero descubrí que se puede usar para proyectos R más pequeños, medianos y grandes. Daré enlaces a ejemplos del mundo real en un minuto (a continuación), pero primero quiero explicar el nuevo paradigma de construir proyectos de R conrsuite .
Nota. No soy el creador o desarrollador de rsuite.
Hemos estado haciendo proyectos mal con RStudio; El objetivo no debe ser la creación de un proyecto o un paquete, sino un alcance mayor. En rsuite crea un superproyecto o proyecto maestro, que contiene los proyectos R estándar y los paquetes R, en todas las combinaciones posibles.
Al tener un superproyecto R, ya no necesita Unix makepara administrar los niveles inferiores de los proyectos R debajo; usa scripts R en la parte superior. Deja que te enseñe. Cuando crea un proyecto maestro rsuite, obtiene esta estructura de carpetas:

La carpeta Res donde coloca sus scripts de gestión de proyectos, los que reemplazarán make.
La carpeta packageses la carpeta donde rsuitese encuentran todos los paquetes que componen el superproyecto. También puede copiar y pegar un paquete que no es accesible desde Internet, y rsuite también lo compilará.
la carpeta deploymentes donde rsuiteescribirá todos los binarios de paquetes que se indicaron en los DESCRIPTIONarchivos de paquetes . Entonces, esto hace que, por sí mismo, proyectes un tiempo accros totalmente reproducible.
rsuiteviene con un cliente para todos los sistemas operativos. Los he probado todos. Pero también puede instalarlo como un addinRStudio.
rsuiteTambién le permite construir una condainstalación aislada en su propia carpeta conda. Este no es un entorno sino una instalación física de Python derivada de Anaconda en su máquina. Esto funciona junto con los R SystemRequirements, desde los cuales puede instalar todos los paquetes de Python que desee, desde cualquier canal conda que desee.
También puede crear repositorios locales para extraer paquetes R cuando esté desconectado, o si desea construir todo más rápido.
Si lo desea, también puede construir el proyecto R como un archivo zip y compartirlo con sus colegas. Se ejecutará, siempre que sus colegas tengan instalada la misma versión R.
Otra opción es construir un contenedor de todo el proyecto en Ubuntu, Debian o CentOS. Entonces, en lugar de compartir un archivo zip con la compilación de su proyecto, comparte todo el Dockercontenedor con su proyecto listo para ejecutarse.
He estado experimentando mucho con rsuite buscando la reproducibilidad total y evito depender de los paquetes que uno instala en el entorno global. Esto es incorrecto porque tan pronto como instala una actualización de paquete, el proyecto, la mayoría de las veces, deja de funcionar, especialmente aquellos paquetes con llamadas muy específicas a una función con ciertos parámetros.
Lo primero que comencé a experimentar fue con los bookdownlibros electrónicos. Nunca he tenido la suerte de tener un libro para sobrevivir a la prueba del tiempo por más de seis meses. Entonces, lo que hice fue convertir el proyecto original de bookdown para seguir el rsuitemarco. Ahora, no tengo que preocuparme por actualizar mi entorno global R, porque el proyecto tiene su propio conjunto de paquetes en eldeployment carpeta.
Lo siguiente que hice fue crear proyectos de aprendizaje automático, pero en el rsuitecamino. Un proyecto maestro, orquestador en la parte superior, y todos los subproyectos y paquetes que estén bajo el control del maestro. Realmente cambia la forma en que codifica con R, haciéndolo más productivo.
Después de eso comencé a trabajar en un nuevo paquete mío llamado rTorch. Esto fue posible, en gran parte, debido a rsuite; te permite pensar e ir a lo grande.
Sin embargo, un consejo. Aprender rsuiteno es fácil. Debido a que presenta una nueva forma de crear proyectos R, se siente difícil. No te preocupes por los primeros intentos, continúa subiendo la cuesta hasta que lo hagas. Requiere un conocimiento avanzado de su sistema operativo y de su sistema de archivos.
Espero que algún día RStudionos permita generar proyectos de orquestación comorsuite hace desde el menú. Sería genial.
Enlaces:
RSuite GitHUb repo
bookdown de r4ds
Keras y tutorial brillante
moderno-libro-rsuite
interpretable_ml-rsuite
IntroducciónMachineLearningWithR-rsuite
clark-intro_ml-rsuite
hyndman-bookdown-rsuite
statistic_rethinking-rsuite
fread-benchmarks-rsuite
dataviz-rsuite
retail-segmentation-h2o-tutorial
telco-customer-churn-tutorial
sclerotinia_rsuite