Join our Community Groups and get customized solutions Join Now! Watch Tutorials Youtube

Shiny App | Tutorial on Building Your R Shiny Web App

Discover how to create interactive, data-driven web applications in R with this Shiny app tutorial. Learn from the expert, Data Professor!

Key Takeaways

  • RStudio Cloud Collaboration: RStudio Cloud emerges as a pivotal cloud-based IDE, fostering seamless collaboration and accessibility for data analysis teams.
  • ggplot2 is a powerful tool for creating visually appealing graphics. It is flexible and can be used to represent data in various ways.
  • R Shiny's Interactive Power: Introduction to R Shiny, an open-source package empowering users to create interactive web applications without extensive web development knowledge.
  • Setting Up R Shiny Apps: Clear guidance on installing and structuring apps with User Interface (UI) and Server components.
  • Alternatives to ggplot2: Esquisse and R Shiny are recommended as robust alternatives for data visualization, emphasizing user-friendly interfaces.
  • Esquisse Tutorial Insights: Step-by-step guidance on installing and utilizing Esquisse, a user-friendly data visualization tool.
  • Esquisse Interface Mastery: Breakdown of the Esquisse interface and instructions for creating interactive plots.
RShiny Tutorial: Data Visualization & Build Interactive Web Apps
Table of Contents

Have you ever felt like your data analysis is trapped in a static slideshow? You churn out charts and graphs, but they gather dust in reports, failing to ignite your audience's curiosity. Buckle up, data wranglers, because RShiny is about to explode your visualization game. 

It's more than a charting library. It provides a gateway to interactive dashboards and dynamic web applications that will make your data more interesting and appealing. Instead of PowerPoint, you can use R Shiny to turn your data into a story people want to listen to.

Data analysis plays a crucial role in today's business and research world. As data becomes increasingly available, organizations adopt sophisticated tools and methodologies to extract valuable insights and make informed decisions. This blog post will discuss different parts of data analysis, from the basics to the latest methods and technology.

What is R Shiny?

RShiny is an amazing open-source package in R that empowers users to create interactive web applications without requiring extensive web development knowledge. By utilizing the capabilities of R, you can conduct thorough data analysis and create visually appealing visualizations. 

Before starting the R Shiny tutorial, this tool can be used to create dynamic dashboards, interactive reports, and tools for exploring data.

Rshiny app

Setting Up R Shiny

Before creating interactive visualizations, confirming that R Shiny has been installed is important. To get started, launch RStudio and execute the subsequent command in the console:
install.packages("shiny") # Run this command first time to install R shiny 
library(shiny) # Load The Shiny package

Structure of an R Shiny App

User Interface (UI)

The user interface (UI) component specifies the graphical features of the application, including but not limited to buttons, sliders, plots, and text inputs. The user interface design influences the visual and interactive aspects of the application as perceived by the users.

The user can generate the UI through R code or opt for advanced customization using HTML, CSS, and JavaScript.


The server component performs three main functions: processing user input, executing calculations, and generating UI output. The system is comprised of reactive expressions that are programmed in R and are designed to update automatically when their dependencies change. Additionally, the system features event handlers capable of responding to user actions.

Do you need help with the installation and coding processes, leading to frustration? The data indicates that there is positive news to report. A new library has been identified with the potential to transform the installation process significantly.

Related Posts

Alternate of the ggplot2 or data visualization packages or advanced ggplot2?

According to my analysis, the esquisse package and R Shiny app are recommended alternatives for ggplot2 and other data visualization packages in R. Esquisse offers a GUI streamlining the visualization creation process, making it an ideal choice for users who favor an interactive approach.

RShiny is a web-based framework that facilitates the creation of interactive dashboards and visualizations in a user-friendly manner. Both options provide robust functionality and versatility, enabling the creation of visually impressive outputs within an intuitive interface. Attempt to utilize these techniques to enhance your data visualization.

Installation of the Esquisse Library

Installation of the Esquisse package is a prerequisite to commencing the analysis. Please launch your RStudio or R console and execute the install. packages command. Once the installation is complete, load the package into your workspace using the library() function:
library(esquisse)# Load The Shiny package

Launching the Addin

Esquisse provides a convenient add-in that allows you to create plots interactively. You have two options to launch the addin: through the Addins menu in RStudio or directly from the R console.
esquisser() # It will open dialog box in Rstudio window
esquisser(mtcars) # If you run this command, data was directly uploaded in the library

The Addins Menu is a software application feature allowing users to access additional tools or functions that are not included. To access the Addins menu in RStudio, navigate to it. An option for Esquisse is available for your consideration. The R Console is a command-line interface for executing R code and displaying the results. 

Creating a Plot

The main interface of Esquisse is where the magic happens. To demonstrate, we'll use the mtcars dataset from the base package.

esquisse interface

1. To access the aesthetics options, locate and click on the gear icon in the top right corner.
2. Utilize the drag-and-drop functionality to specify the desired aesthetics in the corresponding aesthetics fields, thereby establishing the visual depiction of your plot.
3. The Esquisse tool employs an automated process to determine the appropriate geometry based on the data type. To modify the geometry, access the button in the upper right-hand corner.
4. This section pertains to the plotting parameters and customization.
5. The Esquisse platform offers multiple menus that enable users to tailor plot parameters, filter data, and obtain code for plot generation. Let us analyze and evaluate these available alternatives.

Labels & Titles

The Labels & Titles menu facilitates the configuration of plot attributes such as title, subtitle, caption, axis labels, and aesthetics labels. Utilize the provided menu to incorporate informative and descriptive labels to improve comprehension of your visual representations.

R Shiny tutorial and example 

Plot Options

The Plot Options menu provides various parameters to alter the visual and functional aspects of the plot. The available selections within the menu are contingent upon the specific plot type being utilized. Please explore various configurations to attain the intended visual outcome.


The Plot Options menu offers a range of parameters that can be adjusted to modify the plot's visual and functional characteristics. The menu options are dependent on the plot type in use. Please analyze different configurations to achieve the desired visible result.


The interactive widgets in the Filter menu facilitate data filtering for the plot. This powerful feature facilitates the dynamic exploration of data subsets and refinement of visualizations based on specific criteria. 


The Code menu provides access to the code utilized for generating the plot and the code implemented for filtering the data if any filters were applied. The user is presented with two alternatives: copying the code to the clipboard or inserting it directly into the current script. Enabling reproducibility and facilitating additional customization of visualizations is achievable through this approach.


Esquisse offers multiple export options for the generated plot. To access the export options, click the button in the plot area's top-right corner. The plot can be saved in multiple formats, including PNG, PDF, and SVG. The "More options" feature enables users to tailor additional parameters for plot export.

Addin Options

Esquisse is launched in a dialogue window by default when using RStudio. The user is granted the option to select their desired presentation format. Esquisse can be launched through the browser or Viewer pane by executing the commands.
esquisser(viewer = "browser")

    Esquisse R Shiny


    The Esquisse platform has multilingual support for Macedonian ("mk"), English (default), French ("fr"), and Albanian ("sq"). The set_i18n() function can be utilized to enable a particular language. To utilize French as the designated language, execute the following code:

    For more details, you can check here Explore Now Download       


    This tutorial demonstrates the methodology of constructing interactive data visualizations using the Esquisse package within RStudio. Our study focused on using R Shiny for web application development and the user-centric interface facilitated by Esquisse. By integrating various analytical tools, it is possible to generate visually appealing representations that captivate the viewers and animate the data.

    Frequently Asked Questions (FAQs)

    Can you use ggplot in rshiny?

    The ggplot package is compatible with the Shiny framework. The integration of ggplot2 package in R enables the creation of interactive plots and charts within Shiny applications.

    What is the difference between R and R Shiny?

    R is a programming language utilized for statistical analysis and visualization. At the same time, R Shiny is a web-based framework developed on top of R. R Shiny facilitates the development of interactive web applications and dashboards through R programming language, simplifying the dissemination and demonstration of analytical findings.

    How to plot ggplot2 in R?

    To generate a plot using ggplot2 in R, it is necessary to adhere to the following procedures:

    • To install the ggplot2 package, execute the command "install.packages("ggplot2")".
    • Load the ggplot2 package into the R session by executing the command library(ggplot2).
    • Ensure that your data is formatted appropriately.
    • Initialize the plot using the ggplot() function, indicating the data and aesthetics.
    • Utilize geometric functions such as geom_point() and geom_line() to incorporate additional layers into the plot.
    • Apply plot customization techniques such as labeling, titling, and adjusting axes to enhance the visual representation.
    What alternative visualization libraries are available besides ggplot?

    Various R packages for data visualization exist, including base R graphics, lattice, plotly, and ggvis, as alternatives to ggplot. Different packages possess unique strengths and features, enabling users to select the most suitable option based on their requirements.

    Which package is more suitable for data visualization: ggplot or ggplot2?

    It is recommended to utilize ggplot2 for data visualization. The package ggplot2 is often colloquially known as ggplot. The ggplot package has been deprecated and replaced by its successor, ggplot2. It is recommended to utilize ggplot2 package for generating visualizations in R.

    Can you provide more context or information about ggplot2() in R?

    The ggplot2() function is utilized in R to initiate a ggplot object, which is the basis for generating visualizations with the ggplot2 package. The initial step involves defining the fundamental framework of the plot, which encompasses the mapping of data and aesthetics.

    What is the meaning of the acronym ggplot?

    The acronym "ggplot" is derived from "Grammar of Graphics plot." The ggplot2 package is founded on a grammar-based methodology for generating visualizations from data, aesthetics, and layers.

    What are the limitations or drawbacks of using ggplot?

    The learning curve for ggplot2 may be steeper than base R graphics, which could be a drawback. Users unfamiliar with ggplot2 may need time and effort to understand the package's syntax and concepts. Upon achieving mastery, ggplot2 provides a versatile and robust framework for visualizing data.

    What is the level of difficulty associated with learning ggplot?

    The acquisition of proficiency in ggplot2 may necessitate a certain degree of preliminary exertion, particularly for novices. Once the fundamental principles are comprehended, and the syntax is familiarized, ggplot2 offers a systematic and intuitive method for generating intricate and visually captivating graphics.

    Do you need help with a data analysis project? Let me assist you! With a PhD and ten years of experience, I specialize in solving data analysis challenges using R and other advanced tools. Reach out to me for personalized solutions tailored to your needs.

    About the Author

    Ph.D. Scholar | Certified Data Analyst | Blogger | Completed 5000+ data projects | Passionate about unravelling insights through data.

    Post a Comment

    RStudiodataLab Chatbot
    Have A Question?We will reply within minutes
    Hello, how can we help you?
    Start chat...
    Cookie Consent
    We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
    It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.