Skip to content

R Shiny template for easy implementation of any R script with Shiny modern GUI.

License

Notifications You must be signed in to change notification settings

RRobert92/R_Shiny_Batch_processing_template

Repository files navigation

Open-Source R Shiny Batch processing template

GitHub release (latest by date) GitHub top language GitHub GitHub Release Date GitHub contributors Status

Shiny Batch processing template is an open-source template that allows for easy implementation of batch processing on multiple files with R scripts with modern GUI. Benefits of applying this template with your workflow:

  1. Online access

  2. Simple and intuitive to use with implemented UI. Only require installation of the R software environment and optional Rstudio.

  3. It is designed from the ground up to incrementally scale up based on evolving use cases.

  4. Allows working on projects reproducible and compare data.

  5. Allows to uniform and completely automate analysis.

Table of Contents

Quick start

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. You can see the real life use example of this template with in an online-version under the Shinyapp.io.

Fork the repository and run the Shiny_template.Rproj

To use the template with your file format you need modifying the following files:

* Utility/Upload_Data.R <- select file format for upload and specified what to upload from the file
* Utility/Load_Data.R <- Load data for each batch round from the file format
* Utility/Check_Data.R <- Check file structure of the uploaded file to eliminate potential error during the analysis

To add any R script you need modified the following files:

* bin/tool/... <- Add your function that is needed for the analysis
* bin/Packages/Analysis/... <- Add a R script that run on loaded data with "Load_Data.R" with the function from "bin/tool/..."
* Global.R <- Source tool and packages added above
* Utility/Setting_Buttons.R <- Create new button and it reactivity for your tool. This button will be used in server.R for selecting which R script should be run 
* Server.R <- Enable newly created button under ObserveEvent(input$'Submit'){}
* Utility/Save_Data.R <- Add which data from the .Globalenviroment should be saved as a .xlsx file in the Data/... folder. This is used in Export_Data.R to collect all files and zip-them for the export.
* Utility/Report.R <- Add auto-generating plot at the end of the analysis.

Dependency for Shiny template

R v3.5.3 or newer
Rstudio v1.2 or newer
Java SE 11 (LTS)

R library
- shiny
- shinycssloaders
- shinyWidgets
- shinyBS
- shinyalert
- colourpicker
- readxl
- plyr
- tidyverse
- ggplot2
- egg
- base
- xlsx
- zip

Installation

install.packages("remotes")
remotes::install_github("RRobert92/R_Shiny_Batch_processing_templates")

Contributing

Contributions, collaborators and/or constructive criticism are welcome! Please see our Contributing Guide "Soon available" for more details.

Copyright

This project is distributed under the General Public License (GPL) version 3.0 - see the LICENSE.md file for details.