Skip to main content

structure for r projects

Project description

brainfoodr

Permite instalar distintas versiones de packages de R para cada proyecto, creado evitando los conflictos entre los proyectos corriendo en una maquina.

Esta libreria esta optimizada para utilizarla con versiones de python >= 3.

Es posible ver un ejemplo de app acá.

Instalacion:

pip3 install brainfoodr

Usuarios de Windows:

Si el comando brainfoodr arroja el siguiente error:

"brainfoodr" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Es por que en windows es un cacho utilizar herramientas de desarrollo, asi que una vez que se instala la librería es necesario ejecutar el siguiente comando (para linux o mac no es necesario)

where brainfoodr > file && set /p BFR=<file && doskey brainfoodr=python %BFR% $*

Uso:

brainfoodr <comando>

comandos existentes:

Comando Descripción ejemplo
create Permite crear una nueva aplicación con sus archivos y directorios correspondientes brainfoodr create myApp
install Permite instalar los packages definidos en el archivo packages_list.txt.

Para poder ejecutar el comando es necesario situarse dentro del directorio del proyecto
brainfoodr install

Archivos creados:

Cuando se crea una aplicación con el comando brainfoodr create myApp se genera automaticamente el siguiente listado de archivos y directorios:

Archivo/Directorio Descripción
app.json Guarda información de la aplicación creada, solo se utiliza para la ejecucion de los comandos, por lo que no es necesario hacer modificaciones en este archivo
.gitignore Define la lista de archivos que NO se subirán al repositorio de bitbucket
packages_list.txt En este archivo se definen todas las librerias o packages (y su versión) que se utilizarán en el proyecto.

El formato para agregar las librerias con su respectiva versión es el mismo que se utiliza en el archivo requirements.txt de python donde se indica el paquete a instalar seguido de "==" la versión del paquete.

Ejemplo: dplyr==0.8.1

Siempre debe indicarse el nombre del paquete y la versión
Rlibraries Directorio donde se guardarán las librerias instaladas para el proyecto
Install_packages.r Este script toma todos los packages definidos en el archivo packages_list.txt y los instala en la carpeta Rlibraries.

para instalar las librerias existen 2 opciones:

- Ejecutar el comando brainfoodr install dentro del directorio del proyecto.

- Ejecutar directamente el script con el comando Rscript install_packages.r

En ambos casos instalará las librerias definidas en el packages_list.txt
main.r En este archivo se debe comenzar a escribir el script, se utiliza como archivo base para la ejecución de todo el proyecto.

De todos modos cada proyecto puede ser organizado como sea necesario... separando los scripts en varios archivos... en varios directorios... lo importante es que, todos los archivos y directorios generados estén dentro del directorio del app creada y que la ejecucion del codigo parta desde el archivo main.

Ademas en este archivo se importan automaticamente las librerias definidas en el archivo packages_list.txt

Se puede ejecutar el proyecto con el comando Rscript main.r
import_packages.r Lee el archivo packages_list.txt y hace un import automatico de las librerias definidas
utils Directorio donde se pueden crear scripts reutilizables en todo el proyecto
utils.r Contiene metodos y herramientas que pueden servir durante toda la ejecucion del proyecto
data_files Directorio para almacenar las bases de datos que se utilizarán en el proyecto (.csv, .xlsx... etc)

Logicamente, tambien se pueden crear directorios para mantener el orden de los archivos

Notas:

  • No debería generar problemas al utilizar RStudio o cualquier otro editor de codigo r

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for brainfoodr, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size brainfoodr-0.1.3-py3-none-any.whl (5.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page