Supports safe and reproducible solutions development in R. It will help you with environment separation per project, dependency management, local packages creation and preparing deployment packs for your solutions.
R Suite was developed by WLOG Solutions company to make their development and deployment process robust. R Suite gives answers to the following challenges for any R based software solution:
To create a project use
RSuite::prj_start(name = "myproject")
This will create an R Suite project folder structure under the myproject folder in your getwd. It will also register its contents under SVN or Git if R Suite detects that getwd is under version control.
Project folder structure is the following:
After creating the project setwd to anywhere inside it
To create a package inside your project simply run:
RSuite::prj_start_package(name = "mypackage")
A package will be created under the packages subfolder of the R Suite project folder (myproject/packages/mypackage). It has a standard structure except for some commonly used functionalities added for your convenience:
As usual you can edit the package DESCRIPTION file in order to add some functionalities to your package.
Now you are ready to build your isolated project environment. First you have to collect dependencies of your project:
This will look onto dependencies of your project packages and library (or require) commands in your master scripts to detect all the 3rdparty dependencies of your project. It will also collect version requirements from the DESCRIPTION files of your project packages. After that it will detect packages (and their dependencies) in repositories provided in the PARAMETERS file of R Suite project (which satisfy version requirements) and install them into the deployment/libs subfolder. If everything goes well you are ready to build your project packages:
It will build all packages in your R Suite project and install them into deployment/libs. If it succeeds your isolated project environment is ready.
Now work on your master scripts. We are convinced that the business logic of your solution should be enclosed in packages provided by the solution. Master scripts are required for "glue logic" like reading configuration parameters, setup connections and realize data flow between levels of solution functionality stack.
After all you can prepare your solution for deployment:
This will create zip bundle containing you isolated project environment together with your master scripts and configuration template. Just extract it on your production and run your master scripts (no package installation will be required in the production environment).
For more information check R Suite's official webpage!