US GDP Shiny App

Posted on Aug 3, 2016

In this blog post we introduce our US GDP shiny app. The purpose of this shiny app is to provide a tool for the general public to better understand the US economy. This app uses visualization to highlight the growth of the US economy, to understand the different growth paths among the different states, broader geo-regions, and different industry sectors. Having experienced an internet bubble and a gigantic financial crisis in the past 20 years, it is quite interesting to walk through the ups and downs of our economic development and to review the impact on different parts of our society.


Our data, downloaded from the Bureau of Economic Analysis, consists of several years of data from 1997-2015. Data is grouped in three ways: by state, by geographical region and countrywide. Data includes: GDP/GDP growth, personal income, population data, as well as the GDPs of the 20 major industry sectors on mining, constructions,..., government, etc.

The US GDP Map

To visualize the geographic distribution of GDP growth, the front page of our app displays a colored US map, showing high GDP growth (blue) and low GDP growth (red). The user can choose from the drop-down input menu among nominal/real GDP, personal income per capita, etc. A slider controls the year variable to be plotted on the screen. Depending on whether the selected drop-down menu item has the sector attribute, a new sector selector will pop-up or disappear.
Through this map tool, we can visualize the economic strength of different states with ease. For example, it is easy to see that New York state is particularly strong in finance, Texas is strong in the mining/oil industry, and California is strong in agriculture, information industry, etc. We also notice that California, even though it has the largest GDP among the states, it does not have the highest per capita GDP. This may be due to its fast population growth.
On the second page, economic data is presented in a time series format. To avoid over-plotting the data, we only allow the user to choose between either two states or two regions and the time series plot compares their trends.

real GDP time series

In the above screenshot, we display the joint plot of Texas and California real GDP. Due to its higher population, California has the upper hand throughout the duration of the data, 1997-2015.

2D Heat Map and Correlation

In the following discussion, we switch to a different angle, using our 2D heat map tool to investigate the time evolution of the GDP (growth), as well as the correlations among the different states, or the different sectors.
We illustrate this by displaying the state vs years 2D heat map below.
The reader will definitely notice a dark horizontal band across the heat map. This is a visualization of the 2008-2009 financial crisis!


The brightest segment on the heat map is North Dakota between 2007-2012. When the whole country suffered for the worst financial crisis since the great depression, North Dakota had an economic boom due to the rise of fracking.
To demonstrate that the financial crisis has left a permanent mark on our economy, we display the region vs years 2D heat map for the government sector.


One cannot help but notice that the economic growth of the government sector (including the federal as well as the local and the state governments) was crippled after the financial crisis and has shown no signs of recovery.


Another unusual example is the entertainment/movie industry.
For the entertainment industry we notice in the screenshot above that both the internet bubble and the financial crisis had severe negative impacts. This is not quite consistent with the common view that the financial crisis was more severe in magnitude than the earlier internet bubble. This is probably because people often cut their entertainment budget first when they face financial hardship.
The drop down menus below the 2D heat map allow us to choose combinations like state vs state, regions vs regions, or sectors vs sectors. When both of the X-Y variables are identical, the 2D heat map switches gear and displays the correlation matrices across different states, different regions or the different sectors. For example, we learn from the state vs state correlation matrix that most of the states' GDP growths are positively correlated. The only big exceptions to this observation are Alaska and North Dakota.


Alaska's economic dislocation from the rest of the country is probably related to its remoteness and the lack of the direct geographic contact with the mainland. North Dakota's unusual booming while the rest of the country went through an economic nightmare can be seen in the negative correlation in this particular time period (1998-2015).

Three sectors stand out in the sector vs sector correlation plot below.


The mining/oil sector has a very strong negative correlation with the other sectors' economic growth. Not as strong as the mining sector, the education and healthcare sectors have neutral or mild negative correlations with many other sectors. Both the commodity/energy sector's and healthcare sector's “out of sync” with most economic trends have been well recognized by the finance industry. In fact the finance industry has utilized the anti-correlations of energy/commodities with most other industries to establish commodity/energy funds, hedging away market risk.
The healthcare sector is known to be a 'defensive' sector, which tends to have lower drawdown when the economy is in recession. This is related to the constant demand on medical services even if the economy is in bad shape. These observations stand out in our visualization!
We finally remark that we also include two additional sections in the app, the bubbles and the bubble motion charts for a more dynamic visualization experience. The former allows us to use the animation slider to display a movie of the top N (with a user selectable N) states. For nominal or real GDP growth, we allow the user to choose two states and two sectors of interest and project GDP growth.

Our Main Conclusion

The US GDP data provides a wealth of insights about our country's recent development. The US GDP numbers are widely tracked by the world, which can be seen by the 50 million “US GDP” google search results! Beyond the superficial nominal GDP numbers often popping up on news headlines, it is not well known to the public that there are internal dynamics within different states and different industry sectors that can vary greatly from the major trends. Through building the shiny app, we hope that the general public and web enthusiasts, not only the economists or finance professionals, can appreciate the rich dynamics of the US GDP data and its influence on our day to day life.
For the younger generations who have not experienced the financial crisis first hand, this could be an educational tool.

The following link points to our shiny app,

US GDP Shiny App

We have adjusted the plot size using google chrome at its full screen mode.

The R Codes

We develop the Shiny app using the R language. Following the convention,
our codes are grouped into global.R (which handles the build-up of the environment), ui.R and finally the server.R.

For the global.R, it can be found at


For the design of the user interface, ui.R, it can be found at


To change the sliders, input depending on the user choices, we have to set up a
sequence of observers listening to the user's input,


To prepare the data set depending on the user's input, we have a section of reactive expression,


The section of codes plotting the US map and the info-boxes at the front page,

US map

info boxes

To plot the GDP time series, we have

Time Series Plot

To plot the various 2D heat maps and the correlation matrices, the codes are slightly lengthier,

2D heat maps

We have two animation sections using bubbles to plot the states with top N (user chosen) GDP values,

Top Bubble Movie

and the bubble motion charts on the sector GDPs,

Bubble Motion Animations

About Author

Aiko Liu

Aiko was born and raised in Taiwan. After college graduation, he came to U.S. and got his Ph.D. at Harvard University, specializing in geometry. After having done research at several top research universities for years, he switched gear...
View all posts by Aiko Liu >

Related Articles

Leave a Comment

Coleman82 April 1, 2017
Girls wanted, no matter where you live! - to high paid job. If you are young and daring women between 18-40 years old, you can earn $1000/week, when you get experienced you can make 3 times more. I won't spam any urls here, if you are interested, you can google it: Jevlo's jobs modeling
Data Visualization with R | My Data Blog November 30, 2016
[…] shiny for dashboards […]

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI