Algoritma is a data science education center based in Jakarta. We organize workshops and training programs to help working professionals and students gain mastery in various data science sub-fields: data visualization, machine learning, data modeling, statistical inference etc. Visit our website for all upcoming workshops.
After having learned and explored appropriate techniques on visualizing data, students are required to deploy an interactive dashboard web application using a shiny server which contain any plotting objects such as ggplot and/or leaflet that display useful insights.
Before you making the dashboard, let’s answer this question first to help you creating a dashboard with useful insight.
What is the dashboard about?
This question is self explanatory, you should know what is it about, what problem you try to solve with this dashboard, what story you try to tell to your audience.
Who is the user of your dashboard?
Knowing the user of your dashboard is very important. What division or what kind of people using this dashboard. Do you need a detail or more practical dashboard? When your user is on operational level you need a detailed dashboard but when your user is on managerial level you need simple and general dashboard that can convey the insight quickly.
Why you choose that data?
How much your understanding of that data, Is that data can solve your question? Why do you choose that variable, are they really corelated? Important to know why your choose that data so you don’t create a misleading insight which very dangerous.
When is the data collected?
Is it still relevant? For example You can’t use the data from 80s to describe how’s the traffic at current date. Since the trend is everchanging so does the answer to your question, can those very old data answer your question? Irrelevant data can create a misleading insight.
Where you put your plot, valuebox, or input etc?
Make a simple layout design, so you have a image how your end product will look like. Is it tidy enough? Easy enough for your user to understand it? Always follow 5 seconds rule. Your dashboard should provide the relevant information in about 5 seconds.
How your dashboard answer your question, hypothesis, or problem you try to solve?
Are you using a right plot? A right variable? Always start from your problem, make sure you use a right plot for right problem. For example what plot you use for see your data distribution? Are you using density plot or line plot?
In addition, students are given the freedom to use their own dataset or past datasets from previous classes. Below are the rubrics for assessment and grading, Students will get the point(s) if they :
The dashboard should contain at least 2 different input types. For example, there is a slider input and select input on the dashboard. If the dashboard only has 2 select inputs or 2 similar inputs, it will be counted as one.
All input should have an appropriate user interface. For example, a date should not use a select input but instead use the proper date input or date range input.
The dashboard should have input widgets that would give the user the ability to explore the data. Some useful input including filtering data with slider input or selecting different categories with select input. Less useful input including changing the color of the plot.
The dashboard should contain at least 3 different tabs/page that convey different information.
All plots have to be presented as interactive plots.
The dashboard should contain at least 2 different plot types. We expect you can explore different visualizations to convey different information. For example, a dashboard contains 2 different plots: a bar chart and a line plot. The number of plots itself is not limited.
All information should be presented with appropriate plots. For example, if you want to show categorical ranking, you can use bar chart or lollipop chart. You can refer to data-to-viz for guidance.
The plot should be able to react to the change given by input.
All plots should have clear information and are easy to understand. There should be at least a plot title and clear axis title. You can refer to this notes regarding this problem.
The dashboard should be deployed to shinyapps.io and contain no error after being deployed.
We don’t expect you to be a great UI designer. However, your dashboard page should be tidy and clean enough to watch. Some considerations to help you create a tidy page including:
Some considerations to help you create a tidy plot including:
The plot should have a customized tooltip that has a clear and easy to read popup text.
Bad Tooltip
Bad tooltip typically use the original column name that sometimes are hard to read. The number is still in raw value, for example the GDP per Capita for Gabon is 13206.4845. The number will be easier to read if presented as 13,206.4845 with comma separator for every 3 digits.
gdpPercap: 13206.4845
lifeExp: 56.735
Good Tooltip
Gabon (name of the country)
GDP per Capita: 13,206.48
Life Expectancy: 56.735
Color must be carefully chosen to serve a purpose and it must be clear and do not distract the reader. One of the most common pitfalls is using color for bar charts when a large number of categories are present. You can read more about issues of color usage in this book’s chapter.
The Shiny Dashboard taught in this class is just the foundation, and there are many other aspects that can be explored. and here are some of the aspects that can be explored:
shinythemes
package to change the overall look of the
dashboard.shinyWidgets
package to enrich the functionality of the
dashboard.And there are many other things to explore other than what is mentioned above.
If you achieved all those criteria you will get total 30 points for your capstone project.
NOTES
The scoring of each detail of the rubric is binary, meaning that each detail will either get full points or zero.
You are expected to submit the link from your deployed shiny to the google classroom via private comment. We will evaluate your dashboard and give feedback based on the submitted link.
NOTES
If you use confidential data, you still need to deploy your dashboard and take a screenshot of your deployed dashboard. After that, you can take down the deployed dashboard on shinyapps.io and submit your capstone project in zip.
Here are some references that you can use to complete your project work:
Here are some reference that you can use to explore more about shiny dashboarding:
Here some demo to making dashboard from algoritma:
Here some good example of Capstone DV from Algoritma Student:
Here are some reference dataset sources that you can use to work on your project:
options(shiny.maxRequestSize=200*1024^2)
saveRDS()
readRDS()
You can start to work and plan your project after the briefing end. We expect you can finish answering the first objective today so you can focus on building the shiny dashboard for the rest of the week.
Below is our estimated time to finish answering the first objective (5W+1H questions) during the briefing day.
Below is our example of answering the 5W+1H questions above. The final shiny dashboard for the following example can be seen here.
I want to show how every country around the world manages its natural resources, shown by the value of Ecological Footprint and Biocapacity of these countries.
A country experiencing Ecological Deficit is indicated by the behavior of that country that imports Biocapacity through trade, liquidation of national ecological assets or emits a lot of carbon dioxide emissions into the air. Meanwhile, countries are said to have Ecological Reserves when Biocapacity (how many natural resources are owned) exceeds Ecological Footprint (how many natural resources are used). Thus, countries that have Ecological Footprint bigger than Biocapacity have the potential to suffer from various ecological impacts such as natural disasters, land damage, loss of biodiversity, and other things that can have negative impacts on the environment and the country’s economy.
For this project, I specifically want to:
This dashboard is created as a medium of education for common people regarding usage and preservation of countries natural resources.
The dataset that is suitable for this project is the ecological data acquired from Global Footprint Network (http://data.footprintnetwork.org/). The data was updated on August 12, 2019 so it is still relevant with the current condition.
Explain how to achieve each goals or purposes stated on
What
question.
I will create a plot that shows the Ecological Footprint and Biocapacity for each region.
Create a scatterplot between human development index
dengan ecological footprint
Create a leaflet
map with relevant information for the
popup
Determine the skecth or design for the layout of the dashboard.
On this section, the plot and information for each tab/page will be listed. The final shiny dashboard of the following example can be seen here.
Menu 1:
Menu 2:
Menu 3:
The first row shows the bar chart of ecological footprint and biocapacity of each region
The second row shows the scatter plot between Human Development Index (HDI) and the Ecological Footprint
The first row shows the leaflet map with popup that shows relevant information about the economic and ecological status.
The second row shows the proportion between biocapacity and ecological footprint between countries on the same region
The third row shows bar chart of each natural resource of a country and info box regarding their ecological status
The third tab shows the raw data.
Plagiarism is strictly prohibited in this course, and we place a strong emphasis on academic integrity. This includes the use of pre-made visualizations that have been presented in class or obtained from other sources without proper attribution.
All visualizations submitted for assignments and projects must be your original work. Reusing visualizations created by others, whether from class or external sources, without acknowledgment is considered plagiarism and is a violation of our academic policies.