In this modern technological era, various apps are available for all of us –from tracking our fitness level, sleep to giving us the latest information about the stock markets. Apps like Robinhood, Google Fit and Workit seem so amazingly useful because they use real-time data and statistics. As R is a frontrunner in the field of statistical computing and programming, developers need a system to use its power to build apps. Learn more about R Programming.
This is where R Shiny comes to save the day. In this, R Shiny tutorial, you will come to know the basics.
What is R Shiny?
Shiny is an R package that was developed for building interactive web applications in R. Using this, you can create web applications utilizing native HTML and CSS code along with R Shiny code. You can build standalone web apps on a website that will make data visualization easy. These applications made through R Shiny can seamlessly display R objects such as tables and plots.
Let us look at some of the features of R Shiny:
- These applications are live and are accessible to users like spreadsheets. The outputs may alter in real-time if the users change the input.
- Developers with little knowledge of web tools can also build apps using R Shiny.
- You get in-built widgets to display tables, outputs of R objects and plots.
- You can add live visualizations and reports to the web application using this package.
- The default user interface is built using Bootstrap.
- It comes with a WebSocket package that enables fast communication between the web server and R.
Read: Decision Tree in R
Components of an R Shiny app
A Shiny app has two primary components – a user interface object and a server function. These are the arguments passed on to the shinyApp method. This method creates an application object using the arguments.
Also read: KNN Algorithm in R
Let us understand the basic parts of an R Shiny app in detail:
User interface function
This function defines the appearance of the web application. It makes the application interactive by obtaining input from the user and displaying it on the screen. HTML and CSS tags can be used for making the application look better. So, while building the ui.R file you create an HTML file with R functions.
If you type fluidPage() in the R console, you will see that the method returns a tag <div class=”container-fluid”></div>.
The different input functions are:
- selectInput() – This method is used for creating a dropdown HTML that has various choices to select.
- numericInput() – This method creates an input area for writing text or numbers.
- radioButtons() – This provides radio buttons for the user to select an input.
The various layout features available in Bootstrap are implemented by R Shiny. The components are:
These are methods that group elements together into a single panel. These include:
the next biggest thing
These organize the panels for a particular layout. These include:
These methods are used for displaying R output components images, tables and plots. They are:
- tableOutput() – This method is used for displaying an R table
- plotOutput() – This method is used for displaying an R plot object
After you have created the appearance of the application and the ways to take input values from the user, it is time to set up the server. The server functions help you to write the server-side code for the Shiny app. You can create functions that map the user inputs to the corresponding outputs. This function is called by the web browser when the application is loaded.
It takes an input and output parameter, and return values are ignored. An optional session parameter is also taken by this method.
R Shiny tutorial: How to get started with R Shiny?
Steps to start working with the R Shiny package are as follows:
- Go to the R console and type in the command – install.packages(“shiny”)
- The package comes with 11 built-in application examples for you to understand how Shiny works
You can start with the Hello Shiny example to understand the basic structure. Type this code to run Hello Shiny:
The steps to create a new Shiny app are:
- Open RStudio and go to the File option
- Select New Project in a directory and click on the “Shiny Web” Application
- You will get a histogram and a slider to test the changes in output with respect to the input
- You will get two scripts ui.R and server.R for coding and customizing the application
Tips for Shiny app development
- Test the app in the browser to see how it looks before sending it for production
- Run the entire script while debugging the app
- Be careful about common error such as commas
If you are curious to learn about data science, check out our PG Diploma in Data Science which is created for working professionals and offers 10+ case studies & projects, practical hands-on workshops, mentorship with industry experts, 1-on-1 with industry mentors, 400+ hours of learning and job assistance with top firms.