We may earn an affiliate commission when you visit our partners.
Take this course
Jonathan Ng

Let me ask you a question

Do you want to shortcut the time it takes learn how to build interactive applications using Shiny in R?

Are you tired of spending hours shifting through the internet to find small snipets of code that you need to figure out how to put together?

Let me tell you a little known secret. 99% of the information available on R is massively out of date.

R has been around for over 20 years now and since then it has been exponentially enhanced through some really amazing libraries.

Read more

Let me ask you a question

Do you want to shortcut the time it takes learn how to build interactive applications using Shiny in R?

Are you tired of spending hours shifting through the internet to find small snipets of code that you need to figure out how to put together?

Let me tell you a little known secret. 99% of the information available on R is massively out of date.

R has been around for over 20 years now and since then it has been exponentially enhanced through some really amazing libraries.

Learning to use the best new libraries available is the difference between using version 1 of the software that was developed over 20 years ago and using version 10.

You'll be able produce impressive results with less code and less study by leveraging the work of some of the smartest people in the world.

In this course you will learn the best way to build interactive web applications with R Shiny that no one else is teaching.

My name is Jonathan Ng and I will be your instructor

I will take you step by step through the end to end process of building several different applications in minutes not hours so you can start applying these techniques to your own work immediately.

You will learn how you can

Write simplier more concise code and skip over at least half of the material usually required to learn app development with R.

Right now this is the fastest most efficient way to build data applications when compared to other platforms like Python or traditional methods of R.

You'll be able to make your content more flexible so you can also publish it to a range of different formats including web pages, books, slide decks and not just interactive dashboards.

You'll learn how Graph network analysis could revolutinise the way you work with data and see how you can easily implement graph visualisations in a dashboard.

R is an incredible tool for stock market and timeseries analysis that allows you to simultaneously analyse entire portfolios of stocks and gives you the ability to take advantage of new machine learning techniques to analyze your data. In this course you'll learn about some of the best new libraries for working with stock and timeseries data which we will imbed into an app.

Besides apps you'll also learn how to super charge your every day R code by writting your own functions and learning how to make them super dynamic with some advanced concepts such as tidy evaluation.

I'm super excited to present this course to you and look forward to seeing you on the inside.

Enroll now

What's inside

Learning objectives

  • Convert their analysis into interactive data visualizations and dashboards using r shiny, flex dashboards, plotly, igraph, visnetwork and tidyquant.
  • Understand the benefits of flex dashboards over traditional r shiny applications and shiny dashboards
  • Understand key concepts of shiny app development
  • Understand key benefits and use cases of graph network analysis using igraph and visnetwork
  • Understand key benefits of stock trading / technical analysis / algorithmic trading using r tidyquant vs metatrader excel r quantmod libraries

Syllabus

Introduction

Welcome to the course R Shiny Flex Dashboard Interactive Data Visualization. 

See how you can build a R Shiny Flex dashboard in just 5 minutes. R Shiny combined with Flex dashboards is the fastest ways to build R Shiny applications or R dashboards in general. 

Read more

How does R Shiny work? In this lecture we'll go over a high level overview of what R Shiny does and how R Shiny works. 

R Flex dashboards can be used standalone or in combination with R Shiny. R Flex dashboards are hands down the fastest way to build R Shiny applications. 

You can publish your work in many more ways than just a R Shiny Flex dashboard using R Markdown. 

Learn how to control the layout of a R flex dashboard with a few simple settings. 

By using R evaluation techniques such as tidy evaluation we can enhance our R Shiny applications making them more dynamic. 

R Tidyverse power functions available in dplyr help you get your work done more efficiently. 

R Tidyverse handles both standard evaluation and non standard evaluation (aka Tidy evaluation). Tidy evaluation is the latest recommended standard to use with the r tidyverse. 

Add R Shiny to our R flex dashboard so that we can add controls. 

Spotting errors in your R Tidyverse code

R programming data visualisation options

ggplot is the tidyverse  r programming library for creating static visualisations. It's very versatile, works well with plotly interactive visualisations and is a good way for understanding other libraries which use a similar methodology such as high charter. 

Tidyverse R programming ggplot geoms allow you to specif chart types

Tidyverse r programming ggplot layering multiple charts and text

Tidyverse r programming ggplot layering multiple charts with Facets

Tidyverse r programming upgrading your ggplots to interactive HTML widgets using Plotly

Tidyverse r programming HighCharter is a wrapper library for high charts which is a beautifully implemented interactive visualisation library.

Tidyverse r programming DataTables JS is a wrapper to a popular java script control for displaying and working with interactive tables suitable for HTML dashboards

TidyQuant is a great new library that enhances the popular r library quantmod while following the r Tidyverse methodologies. Aside from using R Tidyverse standards it also offers a number of other enhancements that make it much faster and easier to use. 

Learn to create functions for our R Shiny Flex Dashboard using R Tidyverse code. 

Add our R Tidyverse Functions to a standalone flex dashboard which can easily be distributed independent of a Shiny server. 

Enhance our flex dashboard with Shiny.

Get finer control over our R Shiny Flex Dashboard with the Shiny function Event Reactive. 

In this series of videos we're going to implement a R Shiny Flexdashboard that will generate a random network graph displayed as a graph visualization and a table. To learn more about graphs see my lectures on the benefits and use cases of graphs. Graphs could potentailly revolutionise the way you work with data so taking a little bit of time to understand what they're actually good for will be well worth your effort. To cover off how to implement different graph solutions is really a full course in itself so this course will introduce a very basic example of how to use R iGraph and R visNetwork together as an example of how to integrate different types of visualisations into a R Shiny Flexdahsboard. 

Pay careful attention to how the overall solution is structured as that's really half of the lesson.  The key concepts you will learn are.

Data Prep and Visualization
In this section we will start creating some data with R iGraph and then visualizing it with R visNetwork. We will do this independent of a R Shiny application or dashboard. This will make it much easier to develop and debug your code as there will be much less code to look at any one point in time.  

Convert Scripts to Functions
By converting our R sripts to functions your code will be much better organised. You can easily reuse your code across multiple applications or swap out your code to make your application more flexible. You can parameterize your functions so that they can be reutilised in more circumstances. 

Standalone Flexdashboard
In this section we will customise a R flex dashboard layout and drop in our visualisations starting without Shiny which means the dashboard can easily be shared even without a R Shiny server. 

Shiny Interactivity
In this section we will add additional interactivity to the dashboard through Shiny controls such as input boxes which are not available to standalone flexdashboards. Controls such as input boxes can be used to trigger R code on a R Shiny server which can be used to update your visualizations using the appropriate render function. 

Shiny Concepts
In this section we will go over what is required to output a single dataset to multiple visualisations such as a graph network and a data table. We will discuss the common mistakes that are easy to make and the use of reactive functions in R Shiny.  

Each section of this course will have the code availble for the previous sections so you can jump in at any point you like. 

One thing which will massively accelerate your learning is not just following the examples but modifying them and experimenting to see what happens when you swap out pieces and adjust the parameters. So jump in and get your hands dirty. If something doesn't work, scale it back and simplify it until it does. Make use of the help files and post questions when you get stuck. 

Data Prep and Visualization

In this section we will start creating some data with iGraph and then visualizing it with visNetwork. We will do this independent of a R Shiny application or dashboard. This will make it much easier to develop and debug your R code as there will be much less R code to look at any one point in time.  

Convert R Scripts to R Functions

By converting our R scripts to R functions your R code will be much better organised. You can easily reuse your R code across multiple applications or swap out your code to make your application more flexible. You can parameterize your functions so that they can be reutilised in more circumstances.

Standalone R Flexdashboard

In this section we will customize a R flex dashboard layout and drop in our visualizations starting without R Shiny which means the dashboard can easily be shared even without a R Shiny server.

R Shiny Interactivity

In this section we will add additional interactivity to the dashboard through R Shiny controls such as input boxes which are not available to standalone R flexdashboards. Controls such as input boxes can be used to trigger R code on a R Shiny server which can be used to update your visualizations using the appropriate render function. 

R Shiny Concepts

In this section we will go over what is required to output a single dataset to multiple visualisations such as a graph network and a data table. We will discuss the common mistakes that are easy to make and the use of reactive functions in R Shiny.  

Applications of graph networks. Why you want to learn more about graph networks in R

Applications of graph networks specifically for customer insights. 

R & Python are the top 2 programming languages for data analytics and data science right now. There is a lot of debate over which one is better and the information tends to get a bit skewed. R & Python are each stronger at different things. This video covers my opinion on the strengths of each language so that people can make a more informed decision about which one to use for their circumstances.

Using the zoo timeseries functions to fill down missing values.

Want to efficiently deal with NA values and bulk column operations?

Data cleaning and prep is one of the most time-consuming tasks in data science. Learn some powerful tips to streamline those processes here.

Want to learn how to access and analyse email with R?

How about no code data visualisation with R?

In this video I'm going to go over a number of questions from one of students. You'll learn how you can integrate existing R scripts into dashboards, how to clean up your code, functional programming, converting from wide to long data formats to make ggplot visualisation code more efficient and more.

Q&A R Script to R Shiny Flexdashboard, ggplot, reproducibility, functional programming, rmarkdown

Why is it taking so long to render my dashboards after I've created them?

After watching this video this student was able to cut a long load time by over 50% which is a great result.

In this video we will look at how we can use PURRR Map or more specifically MAP_DF from the PURRR library along with read_csv from the readr library to load 1000 csv files into a dataframe within 3 seconds.

PURRR and READR are both part of the R Tidyverse core library and ecosystem.

Map is a powerful alternative to for loop and lapply. Map is more concise and functionally focused when compared to for loops.

Map when compared to lapply allows for us to return values as explicit data types other than lists. For example map_df will return your results in a dataframe / tibble eliminating the need to do a row_bind after calling lapply. Map_dbl or map_int will return numeric vectors which can easily be passed into addtional numeric functions. Map_chr will return a character vector which you can pass into stringr operations such as str_c, paste or paste0.

Demonstrates how you can use R Tidyverse to combine Excel files

In this video I show you how to build in an export function into your R Shiny Flexdashboards.

Learn how to filter and present tabular data through the dashboard and make it more interactive and dynamic.

Learn how and why you might want to implement a dynamic column selector for your interactive dashboards.

A lot of the time when you're doing data analysis you end up with many more columns than you can see on the screen.

Now you could basically subset the columns so you're just seeing less columns but the problem with that is that maybe you just want to see a different column at different points in time or you have different clients with different requirements.

So instead of hard-coding these values in what we can do is we can create a dynamic selection instead so that anybody can have whatever they want or whatever you let them have whenever they want to actually see it.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Focuses on R Shiny and Flex dashboards, which are valuable tools for creating interactive web applications and dashboards for data exploration and presentation
Emphasizes the use of Tidyverse packages like ggplot2, dplyr, and Tidyquant, promoting a more efficient and modern approach to data manipulation and visualization
Covers the use of R for stock market and timeseries analysis, incorporating libraries like Tidyquant for analyzing portfolios and applying machine learning techniques
Introduces graph network analysis using iGraph and visNetwork, offering a basic example of integrating different types of visualizations into R Shiny Flex dashboards
Explores advanced concepts like tidy evaluation for writing dynamic functions, which can supercharge everyday R code and make it more reusable
Uses older versions of software, which may not be compatible with the latest operating systems and hardware

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Build interactive r shiny dashboards quickly

According to learners, this course is a highly practical and efficient way to build interactive dashboards using R Shiny and Flex Dashboards. Students report being able to get productive straight away and build applications quickly, often within an hour. Reviewers praise the concise, to-the-point content and the focus on modern R approaches, stating it helps them avoid outdated code. It's considered very easy to follow and provides actionable information ready to use in their work and projects. The integration of tools like Tidyverse, plotly, igraph, and visNetwork in context is also highlighted as beneficial.
Shows how to use popular R packages.
"Covers topics like Tidyverse, plotly, igraph and visNetwork in context which is highly beneficial."
"I especially liked the section on Tidyquant for stock data. It was easy to understand."
"The tidyverse integration is very helpful for cleaning data before visualization."
Instructor explains concepts clearly.
"Very easy to follow course..."
"Jonathan's teaching approach is very easy to follow..."
"It's well organized and easy to follow."
"The course was fantastic. Clear explanations and great examples."
"Practical course with easy to follow examples."
"The instructor is great."
Material is focused and without fluff.
"Concise, practical and covers how to get productive straight away."
"This course goes to the point..."
"The course is really well designed, and covers the material in a concise way..."
"Concise and to the point."
"This course is a must for anyone who wants to build interactive dashboards in R. It's concise, to the point..."
Focuses on current, relevant techniques.
"use a more up to date approach using flex dashboards."
"Excellent and highly actionable information on how to build modern reporting tools in R."
"If you're tired of trying to piece together documentation and outdated code, this is the course for you."
"content is up to date and focuses on modern approaches that are relevant today."
"The methods are modern and efficient."
"especially liked the focus on modern R approaches."
Apply course learnings directly to your work.
"Practical code which is ready to use in my work."
"I was able to use the learnings immediately to enhance my own personal and work related projects."
"I was able to use the code in the course to build my own web applications and have started deploying them to my clients."
"You'll get useful, practical examples that you can use in your own projects."
"Extremely practical and actionable."
"I was able to apply the concepts immediately to my projects."
Learn to build dashboards rapidly.
"Concise, practical and covers how to get productive straight away."
"I was able to build my first dashboard applications within an hour of starting the course."
"This course provided me with an effective, fast and efficient way to learn how to build interactive web applications in R."
"This course goes to the point and shows you how to build dashboards fast with modern tools."
"learned how to build interactive dashboards in no time."
"I learned how to build a dashboard in under an hour thanks to this course."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in R Shiny Flex Dashboard Interactive Data Visualization with these activities:
Review R Fundamentals
Reinforce your understanding of R programming fundamentals to better grasp the advanced concepts used in Shiny and Flexdashboard development.
Browse courses on R Programming
Show steps
  • Review basic R syntax and data structures.
  • Practice writing simple R functions.
  • Familiarize yourself with data manipulation using dplyr.
Read 'R Graphics Cookbook'
Enhance your data visualization skills by learning how to create effective and informative graphs using R.
Show steps
  • Obtain a copy of 'R Graphics Cookbook'.
  • Browse the recipes and find examples relevant to dashboard design.
  • Implement the recipes in your own Shiny Flexdashboards.
Read 'Mastering Shiny'
Deepen your understanding of Shiny concepts and best practices by studying a comprehensive guide.
Show steps
  • Obtain a copy of 'Mastering Shiny'.
  • Work through the examples and exercises in the book.
  • Experiment with different Shiny features and techniques.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Replicate Example Dashboards
Improve your coding skills by recreating existing Shiny Flexdashboards from online examples or tutorials.
Show steps
  • Find example Shiny Flexdashboards online.
  • Analyze the code and structure of the dashboard.
  • Recreate the dashboard from scratch, referring to the original code as needed.
Write a Blog Post on Flexdashboard Benefits
Solidify your understanding of Flexdashboards by explaining their advantages over traditional Shiny applications in a blog post.
Show steps
  • Research the benefits of Flexdashboards.
  • Outline the structure of your blog post.
  • Write the blog post, including code examples and visualizations.
  • Publish your blog post on a platform like Medium or your personal website.
Build a Personal Finance Dashboard
Apply your knowledge by creating a real-world dashboard that visualizes your personal financial data.
Show steps
  • Gather your financial data from various sources.
  • Design the layout and functionality of your dashboard.
  • Implement the dashboard using R Shiny and Flexdashboard.
  • Deploy your dashboard to a web server or ShinyApps.io.
Contribute to a Shiny Package
Deepen your understanding of Shiny and contribute to the community by contributing to an open-source Shiny package.
Show steps
  • Identify a Shiny package that you find interesting or useful.
  • Explore the package's codebase and documentation.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.

Career center

Learners who complete R Shiny Flex Dashboard Interactive Data Visualization will develop knowledge and skills that may be useful to these careers:
Data Visualization Specialist
A Data Visualization Specialist crafts compelling visual representations of data to facilitate understanding and decision-making. This role involves using tools like R, R Shiny, Flex Dashboards, and other interactive libraries to create engaging dashboards and visualisations. This course helps build the skills to create and embed interactive data visualisations into dashboards, which is a core task for a data visualization specialist. Furthermore, the course's focus on generating diverse outputs for the visualizations, such as web pages and slide decks, aligns well with the responsibilities of this role. A data visualization specialist should take this course in particular due to how it uses R Tidyverse and advanced techniques to simplify app development.
Business Intelligence Analyst
A Business Intelligence Analyst leverages data to provide insights and recommendations that drive business strategy. This role requires the ability to visualize data and present it in a way that is comprehensible to stakeholders. This course helps you create interactive dashboards with R Shiny and Flex Dashboards, skills that are directly applicable to business intelligence analysis. The course’s exploration of using Tidyquant for stock market analysis, and using that analysis in an interactive application, is of strong interest to a business intelligence analyst. Business intelligence analysts should take this course in particular to learn how to use R Shiny with Flexdashboards to quickly create modern data visualizations.
Financial Analyst
A Financial Analyst examines financial data to guide investment decisions and strategic planning. This role requires a high degree of skill in analysis and in presenting data. This course can build capacity in using R for timeseries analysis and for building interactive dashboards with R Shiny, Flex Dashboards and Tidyquant, which is especially relevant for financial data. The skills taught in this course will also allow a financial analyst to present their findings in web pages, books and slide decks, adding to the versatility of the role. A financial analyst should take this course because it teaches the use of R Tidyquant for stock analysis, which is a core responsibility for a financial analyst.
Data Analyst
A Data Analyst interprets data sets and turns them into actionable insights, using a variety of software and techniques to understand data. This role has a particular need for interactive dashboards. This course directly trains students on how to use R Shiny and Flex Dashboards to create these dashboards, and it provides expertise in R Tidyverse for data preparation and manipulation, a skill that is core for a data analyst. The course's emphasis on converting R scripts into functions also helps improve the efficiency and reusability of a data analyst's work. A data analyst should take this course in particular because it contains direct instruction in how to create and publish interactive data visualizations.
Market Research Analyst
A Market Research Analyst analyzes market trends and consumer behavior, often using data visualization to present their findings. The ability to create interactive dashboards is highly beneficial for this role, allowing insights to be explored dynamically. This course offers instruction on how to create interactive dashboards using R Shiny and Flex Dashboards. The course also covers the use of R Tidyverse for data analysis and visualization, so it fits well with the needs of a market research analyst. This course should be taken in particular because it empowers the analyst to publish material to a range of formats, not just dashboards.
Quantitative Analyst
A Quantitative Analyst applies mathematical and statistical methods to analyze financial markets and create trading strategies. This role often requires interactive visualization tools to explore complex data patterns. This course helps build skills in R, specifically for time series data, and using R Shiny and Flex Dashboards to present data interactively. The course's emphasis on using the Tidyquant library is directly applicable to financial analysis. While an advanced degree is usually required, a quantitative analyst may find that this course helps them keep up to date with modern techniques of data visualization. Therefore, a quantitative analyst may find this course helpful to improve their skill set.
Research Scientist
A Research Scientist conducts studies and experiments across a range of disciplines. Being able to present data visually in a dynamic and interactive way can lead to better communication of research findings. This course can be useful because it teaches the use of R for data visualization and for building interactive dashboards with R Shiny and Flex Dashboards. The course's approach to the use of interactive graph network applications also fits well with the needs of research scientists. This course may be helpful because it teaches the use of R to build interactive applications.
UX Designer
A UX Designer focuses on enhancing user satisfaction by improving the usability and accessibility of products. While not a primary focus, the ability to rapidly prototype interactive dashboards and visualizations can aid in user research and presentation. This course may be useful because it teaches how to build dashboards and web applications quickly using R Shiny and Flex Dashboards, while also providing instruction on the visualization of complex graph network data. A UX Designer should take this course, especially if they want to create prototypes of data driven applications.
Statistician
A Statistician applies statistical theories and methods to collect, analyze, and interpret quantitative data. Creating insightful data visualisations is a strong asset for a statistician. This course may be useful because it teaches how to create interactive dashboards and visualizations using R Shiny and Flex Dashboards, as well as implementing graph network visualizations. The use of R Tidyverse, a central part of modern statistical work, is also discussed. A statistician should take this course in particular if they want to make their work more readily interpretable.
Data Journalist
A Data Journalist uses data analysis and visualization to create compelling stories and reports. The ability to create interactive dashboards is invaluable for this role, as it allows readers to explore data for themselves. This course may be useful because it provides strong instruction in creating interactive dashboards with R Shiny and Flex Dashboards, and the capacity to publish in a range of formats including web pages and slide decks, further enhancing the work of a data journalist. A data journalist should take this course in particular to create better data driven stories.
Software Developer
A Software Developer designs, develops, and maintains software systems. While this course is not directly focused on software development, developers working with data-heavy applications may find the skills in creating interactive data dashboards to be highly beneficial. This course may help because it teaches how to use R Shiny and Flex Dashboards to rapidly create interactive web applications, which may be of use to a software developer. This course may be a useful way to broaden a software developer's skillset.
Academic Researcher
An Academic Researcher develops new knowledge across a wide variety of areas, often involving data analysis and visualization. While not all academic fields use R, this course may be useful to a researcher by teaching them how to build interactive dashboards using R Shiny and Flex Dashboards, and to present complex graph data visually, all of which may be useful for research projects. This course also teaches the use of R Tidyverse, a fundamental library for data manipulation. An academic researcher may find this course helpful when presenting or exploring data.
Operations Analyst
An Operations Analyst helps to improve the efficiency of an organization. This role often uses data analysis and presentation to provide insights. This course may be useful because it teaches the use of R, R Shiny, and Flex Dashboards to build interactive dashboards that can be used to monitor operations, track key metrics, and provide updates to decision makers. The course’s discussion of the use of tidy evaluation may be helpful for a professional operations analyst. An operations analyst may find this course helpful if they want to use data visualizations in their work.
Project Manager
A Project Manager plans, executes, and closes projects, and this role often requires the use of data visualizations to track project progress and present findings. This course may be useful because it teaches how to build dashboards and interactive data visualizations using R Shiny and Flex Dashboards. The course also provides instruction on publishing to a range of formats including web pages and slide decks. A project manager may find this course helpful to be better able to report on project progress.
Actuary
An Actuary assesses financial risk and uncertainty. While not directly related, the skills taught in this course, in particular building interactive dashboards with R Shiny and Flex dashboards, may be useful for creating tools to present and explore data, particularly for risk modelling purposes. This course also discusses the use of the Tidyquant library which is useful for time series analysis relevant to an actuary's work. An actuary may find the skills taught in this course helpful when presenting data to stakeholders.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in R Shiny Flex Dashboard Interactive Data Visualization.
Provides a comprehensive guide to building production-ready Shiny applications. It covers advanced topics such as reactivity, performance optimization, and testing. It valuable resource for anyone looking to take their Shiny skills to the next level and build more complex and robust dashboards. This book is commonly used as a reference by both academic researchers and industry professionals.
Provides a recipe-based approach to creating various types of graphs and visualizations in R. It covers a wide range of topics, from basic plots to more advanced techniques. It is particularly useful for learning how to customize ggplot2 plots and create visually appealing dashboards. This book is helpful in providing background knowledge and is more valuable as additional reading than it is as a current reference.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser