The Gapminder application
Now that we've got the basics, let's build a full application. Before we proceed, note that we will need to install a few packages—tidyverse, gapminder, leaflet, and ggmap. Each can be installed from CRAN (the official R package repository) using the code phrases install.packages("tidyverse"), install.packages("gapminder"), and so on. We will not install ggmap this way, though. At the time of writing, there is a bug in the CRAN version. We'll install the dev version instead, as shown in the following code:
install.packages("devtools")
library(devtools)
devtools::install_github("dkahle/ggmap")
The application is pretty simple to get us started, but it illustrates several important methods and principles in Shiny. It features tabbed output, which allows the user to select different inputs or groups, which are each kept on a separate tab. It features the standard Shiny layout—the sidebar layout—with inputs at the left and outputs in the main section. The three tabs give a textual summary, a line graph showing life expectancy over time, and a map with circles scaled to the life expectancy in each country. The application looks like the following screenshot: