Code Monkey home page Code Monkey logo

ubc-mds / dsci_532_group_04_r Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 5.0 5.71 MB

The Life Expectancy Indicator Dashboard visualizes a dataset consisting of survey questions and responses about various aspects of life expectancy for countries all over the world.

Home Page: https://life-expectancy-indicator-app.herokuapp.com/

Dockerfile 1.09% R 98.91%
dashboard dash dashboard-widget ggplotly ggplot2 health life-expectancy globaldatabase dropdown radio-buttons

dsci_532_group_04_r's Introduction

Life Expectancy Indicator

Authors: Debananda Sarkar, Zhanyi Su, Junting He, Joshua Lim

App Link

Life Expectancy

App Description

The landing page of the dashboard has one global filter at the left, namely the year range. Users will be able to select a year range as desired and all sections on the landing page will get updated accordingly. A world map is presented at the top of the dashboard with a tooltip at each country to show the average life expectancy data related to the selected country. Under the world map section, there are three plots. The line graph at the left displays the average life expectancy trend over time by continents/country status with a dropdown menu and a radio button at the top. Users can select multiple continents as desired using the dropdown menu. The radio button allows users to choose to present the life expectancy trend by continents or by country status (developing vs. developed). The life expectancy trend graph in the middle would allow users to compare the average life expectancy of a specific country against its continent and the world by changing the value in the dropdown menu. The scatter-plot at the right-hand side for each country with life expectancy as a fixed y-axis and the users will be able to change the dimension in the x-axis and color. This is required to perform multi-dimensional analysis to understand factors affecting life expectancy.

The proposal document could be found here.

Dashboard Overview

dsci_532_group_04_r's People

Contributors

debanandasarkar avatar jiajie0225 avatar juntinghe avatar yikisu avatar

Watchers

 avatar

dsci_532_group_04_r's Issues

Jan 30 Saturday 3:30pm meetup

Yiki Su is inviting you to a scheduled Zoom meeting.

Topic: Yiki Su's Zoom Meeting
Time: Jan 30, 2021 03:30 PM Pacific Time (US and Canada)

Join Zoom Meeting
https://ubc.zoom.us/j/67440578559?pwd=UUZ1RzdkOFBQczhaT0pqM1dJZTVYUT09

Meeting ID: 674 4057 8559
Passcode: 958082

One tap mobile
+17789072071,,67440578559#,,,,,,0#,,958082#

Dial by your location
+1 778 907 2071 (Vancouver)
+1 647 374 4685 (Toronto)
+1 647 375 2970 (Toronto)
+1 647 375 2971 (Toronto)
+1 204 272 7920 (Manitoba)
+1 438 809 7799 (Montreal)
+1 587 328 1099 (Alberta)
+1 613 209 3054 (Ottawa)

Meeting ID: 674 4057 8559
Passcode: 958082

Join by SIP
[email protected]

Join by H.323
69.174.57.160 (Canada)
Meeting ID: 674 4057 8559
Passcode: 958082

Wednesday Feb 3 4:30pm

Junting: heroku (please don't deploy before our Wed meeting)
Yiki: layout (remove the white space around the map, line up the global card and the trend graph, add a break above the slider, add the disclaimer to clarify the selected year for the scatter plot)
Joshua: map (resize to bigger, remove title and the legend title, disclaimer, have the scale of the color axis fixed)
Deb: scatterplot and reply to milestone feedbacks (add the unit information for the x axis, get per capita info for some columns)

Reflection:
(1) write down why to go with R/ggplotly
(2) we tried to change the X axis for the year label in plotly but doesn't work

Peer feedback

Hi team,
Great job with your R dashboard. My teammates and I were discussing your work and we found the whole idea behind your application, quite interesting which is well-articulated especially with the given Usage Scenario. Here is what we all liked about your application:

  • The formatting with the blocks and headings which looks nice.
  • You have done a great job with archiving files within the repo.
  • Your App Sketch gives a thorough description of all the dashboard functionalities which is great.

We thought that as a small motivation we could also bring up the following issues as the Areas of Improvement:

  • We thought that there is still room to improve the interactivity of your graphs. For example, this could help with reading the data from the line charts. Also, it looks like the interactivity link between the graphs can be enhanced (i.e. if one filters for “Europe” under “Continent”, it would be nice for the bottom graph to also filter for “Europe” instead of showing everything).
  • The X-axis filter can be more informative with units. (e.g. “Alcohol Consumption” has no units making it hard to interpret the graph).
  • There is quite a bit of blank space throughout the application page (big charts and scrolling up and down). We thought maybe the space can be better utilized.
  • We noticed that the map is not running in the application page but of course you have addressed the issue in your Reflection. So good luck with that.

All in all, you have done an amazing job so far and we all wish you the best with the final milestone.

DSCI532-group3-R

Draft reflection

Reflection

Why R version was selected:

  • We found dash core components are easier to control on R version compared to the python version.
  • The R-version of our dashboard had more changes and up to date layout based on feedback received as it was built during milestone 3. Hence, it would have been slightly more time consuming to replicate them in the python version from milestone 2.

Implemented/ Changes made based on feedback:

  • Added DocString for all the functions.

  • Added dashboard information at the bottom of the dashboard.

  • Layout of the dashboard was modified to make the grids more symmetric.

  • Improved the look and feel of the dashboard.

  • Scatterplot

    • Added appropriate units for x-axis of the scatter-plot.
    • The scatter-plot uses the entire date range and averages the x and y axis feature values.
    • Removed the disclaimers as they were not relevant anymore.
    • The tooltip text shows country and average life expectancy.
  • Interactive map

    • Resized to remove whitespaces.
    • Plot and legend title were removed as they were redundant.
    • The disclaimer on the map plot was removed as it was not relevant.
    • Fixed the scale of the color axis for fair comparison when different year range was selected.

Known issues:

  • Layout looks different for some machines with different resolution.
  • The multi-select drop down for continent in trend graph does not display all the values selected. The users have to refer to the legends to see what values are selected.

Areas of Improvement:

  • Performance enhancement using the tips from Lecture 8

Features not implemented

  • We did not include the toggle button to collapse the global filter widget. This is because our final dashboard version does not have a global filter widget which takes up the entire left side of the dashboards. Instead, the global filter section takes up the top left position of the dashboard grid.

Summary

  • Based on feedback we received so far, we feel that it is easy to use our dashboard.
  • Most of the feedback received were very helpful and made our app much more enhanced than we have planned.
  • We have received multiple feedback for the scatter-plot and graph, however they were on top of the enhancements we were doing and helped making them more polished than the initial version

Feb 6, 2:30pm meeting

Junting: heroku (please don't deploy before our Wed meeting), app reviews
Yiki: GIF on readme, proposal, repo description in About
Joshua: map (resize to bigger, remove title and the legend title, disclaimer, have the scale of the color axis fixed), docstring
Deb: scatterplot disclaimer and docstring

Reflection:
(1) write down why to go with R/ggplotly
(2) we tried to change the X axis for the year label in plotly but doesn't work

Jan 29 Friday 2:30pm

Deb: trend plots
Junting: Heroku/scatterplot
Josh: map/layout
Yiki: map/layout

Milestone 3 Feedback

Hey Group 4,

Congrats on wrapping up milestone 3! Great to see the improvements you've made to the layout. Everything is clearly divided and it's very clear which tools control which plots. I do have a few suggestions for further improvements (roughly in order of importance):

  • rather than showing continent/status in tooltips for scatterplot, show country
  • I think you mentioned that the scatterplot uses only the right side of your year slider? I think if you want to leave that slider there it'd probably be better to take an average over the included years' data as you do for the map
  • consider using fixed color scale to make changes over time more clear
  • consider using log-x plot for variables like infant deaths where countries span a large range of values (but still normal linear plot for others)
  • dropdown cuts off some continents, but probably not worth having it expand in this case, so may be unfixable
  • probably don't need the disclaimer for the map, it's clear from the title

Good luck with your final milestone!

Milestone 4 feedback

Hey Group 4,

Congrats on completing your final, and eponymous, milestone! Nice to see the improvements to the consistency of the global year slider. Good sizing and layout overall, larger map definitely helps! Ovearll I think you've done a great job cleaning up and refining your app. I think the only minor issues that remain are the dropdown issue (which is tough to resolve) and the lack of log-scale (optional or otherwise) for some features in the scatterplot. However, I don't think these points detract much from the app. Overall, it turned out great and provides a lot of information in a relatively compact way that doesn't overwhelm the user.

Great job and good luck with the rest of your courses!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.