Final Project

Goal

The goal of this project is for you to demonstrate proficiency in the areas of the data science lifecycle we’ve focused on:

  • Acquire
  • Wrangle
  • Visualize
  • Communicate
  • Document

This project is intentionally open-ended. There is no limit on what tools or packages you may use, but you should demonstrate proficiency with the {tidyverse} tools that we’ve focused on in class. You should focus on data that was not accessible to you in previous stat classes.

Acquire

  • Acquire data from at least 2 sources
  • Acquire data using one of the advanced techniques discussed in class
  • Consider the who, what, when, why, and how of your datasets, with particular attention given to the ethical considerations
  • Work with a type of data that was not accessible to you as a Stat120, 230, or 250 student (eg text, spatial, network, etc.)

Wrangle

  • Demonstrate proficiency with joining data
  • Demonstrate proficiency with tidying data
  • Demonstrate proficiency using non-numeric data types
    • Geospatial data
    • Text data
    • Date/time data
    • Factors

Visualize

  • Create high-quality, customized graphics using R/ggplot

Communicate

You’ll communicate your findings through a final product produced in R:

  • Website
  • Interactive shiny app
  • Slideshow
  • etc.

Whatever product form you choose, I’ll be looking for a high degree of professionalism and polish.

Document

  • All group members have a commit history on GitHub
  • Code is well-documented and clean
  • Project is organized and I can navigate your repo

Rubric

Category Criterion Points Point Breakdown
Acquire (15 pts) Data Sources 6 6 pts: Acquired data from at least 2 distinct and appropriately chosen sources.
3-5 pts: Data from only 1 source, or multiple sources that are not clearly distinct or well-integrated.
0-2 pts: No data acquisition or insufficient/inappropriate sources.

Data Context 5 5 pts: Demonstrated thorough consideration of the “who, what, when, why, and how” for your chosen datasets, including data provenance (is it real from a verifiable source?).
3-4 pts: Consideration for most data context aspects, but some are unclear, missing, or not fully addressed.
0-2 pts: Little to no consideration of data context.

Advanced Techniques 4 4 pts: Focused on a type of data not explicitly covered or easily accessible in Stat120, 230, or 250 (e.g., text, spatial, network, date/time beyond basic use) OR utilized one of the advanced acquisition techniques discussed in class (e.g., web scraping, API calls, database queries, iterating over files in a folder).
0 pts: Neither criterion met.
Wrangle (15 pts) Joining/Combining Data 5 5 pts: Demonstrated proficiency with complex joining/combining of multiple datasets where appropriate.
2-4 pts: Basic joining, minor issues, or limited demonstration of advanced proficiency.
0-1 pts: Joining/combining attempted but incorrect, or not performed when necessary.

Tidying Data 5 5 pts: Demonstrated strong proficiency with effective and appropriate tidying data
2-4 pts: Some tidying performed but not fully effective, inefficient, or has minor flaws.
0-1 pts: Tidying issues OR did not demonstrate

Data Wrangling 5 5 pts: Demonstrated strong proficiency in using and manipulating data of multiple types (e.g., numeric, text, spatial, date/time, factor)
2-3 pts: Non-numeric data types present but their manipulation in wrangling is basic, has minor flaws, or not fully utilized.
0-1 pts: Non-numeric data types ignored or handled incorrectly.
Visualize (15 pts) High-Quality, Customized Graphics 10 10 pts: Created high-quality, professional, and customized graphics using ggplot2 that are clear, effective, and appropriate for the data and message.
6-9 pts: Graphics lack significant customization, have minor quality issues, or are not fully appropriate.
0-5 pts: Graphics are basic, unclear, incorrect, insufficient, or contain significant flaws.

Interactive Components / Shiny App 5 5 pts: Graphs contain multiple effective and well-integrated interactive components (e.g., plotly, leaflet, etc.) OR the entire product is presented as a fully functional and interactive Shiny application.
2-4 pts: Attempted interactive components or a Shiny app, but they are limited in functionality, buggy, or not fully integrated into the project’s narrative.
0-1 pts: No interactive components or Shiny app included (unless an exception for static format was pre-approved by the instructor).
Communicate (15 pts) Online Publication & Audience Pitch 3 3 pts: The final product is successfully published online (quarto pub or ShinyApps) AND is clearly pitched towards a public audience
1-2 pts: Published online but the pitch to a public audience is unclear, or there are minor issues with online publishing.
0 pts: Not published online, or major issues with pitching/accessibility.

Submission Quality Standards 12 12 pts: No grammatical mistakes, spelling mistakes, or typos; all graphs are perfectly readable with appropriate, clear labels, titles, and legends; rendered document is clean (no unnecessary output); graphs are customized and aesthetically appropriate within the document’s theme. Extremely polished, highly customized, and demonstrates outstanding attention to detail.
5-11 pts: Minor errors or inconsistencies. Professional/well-presented but lacks significant customization or polish
0-5 pts: Does not demonstrate a notably high level of polish and professionalism
Document (10 pts) GitHub Commit History 3 3 pts: All group members have a repeated, substantial, and meaningful commit history on GitHub, clearly demonstrating collaborative contribution.
1-2 pts: Most members have commit history, but some contributions are minor/inconsistent.
0 pts: Significant lack of commit history for one or more group members.

Code Documentation & Cleanliness 3 3 pts: The underlying R code follows style guidelines; is clean, readable, and follows good coding practices.
1-2 pts: Code is partially commented/clean, or has minor readability issues.
0 pts: Code is poorly documented, messy, or difficult to follow.

Project Organization 2 2 pts: The overall project repository is exceptionally well-organized (e.g., logical folder structure, clear file names, all necessary files included and in correct locations).
1 pts: Organization is mostly logical but has minor inconsistencies, redundant files, or missing elements.
0 pts: Poorly organized, difficult to navigate, or essential files are missing/misplaced.

README Content 2 2 pts: The README.md file contains a direct link to your published project, and a concise and informative technical summary
1 pt: README.md is missing one or more required components, or components are incomplete/unclear.
0 pts: README.md is missing or contains very little information.
Project Demo (15 points)
15 (see checklist in final project prompt page)
Peer review (5 points)
5 5 pts: Completed thoughtful reviews for all groups on non-presentation day
1-4 pts: Completed some reviews, entered late, or did not demonstrate care in reviews
0 pts: did not complete reviews
Milestones (10 points) Idea Form 3 3 pts: Idea form was completed on time

Rating Form 3 3 pts: Rating form was completed on time

Sketch + Contract 4 4 pts: Project sketch + group contract was completed on time
“Gallery”
1 1 bonus point for sharing a link to your final product on the “Gallery” Ed thread










101
Excellent: 88+

Successful: 70+

Final Project Submission

You should submit your final GitHub repo to gradescope by noon on the last day of the finals period. I will start by looking at your README.md, which should contain:

  1. A link to your published project (quarto pub or shinyapps)
  2. A technical overview of what you did for your project
    • Please indicate to me what your primary accomplishments were for each of the “acquire”, “wrangle”, “visualize”, and “communicate” goals.
    • If there are any specific features that you would like me to look at when grading, please tell me if it is not already clearly indicated in your app
    • You can use the rubric for some ideas of what to mention
  3. How to navigate your repo (where is your data? where is your report file? do you have any other R scripts that you used?)

Milestones

  • Week 7 Friday: Submit final project idea form (individual or in pairs)
  • Week 8 Monday: Submit final project ranking form (everyone should submit a form, but you can indicate a partner)
  • Week 8 Wednesday: I will notify groups and create repos
  • Week 9 Wednesday: “Sketch” drafts:
    • This should be a .qmd file that:
      1. Reads in at least one dataset
      2. Makes at least one graph or summary table
      3. Lists at least 5 research questions
  • Week 10: Project progress demos and peer feedback
    • 5-10 minute slideshow presentation
    • Overview of data and research questions (these do not have to be the same as your sketch draft)
    • Approx. 4 static graphs or summary tables
    • Outline of interactive component or additional technical work to be done
  • Final project due: end of finals period

Meeting these milestones will make up part of your final grade. If you do not fill out the google forms, I may or may not assign you to a group. If you are not assigned to a group, you won’t be able to demonstrate that you’re able to work collaboratively on GitHub, which will impact your final grade.

Final Project Ideas + Rankings

By Friday of Week 7, submit a project idea via the google form linked on the schedule. This does not need to be a fully-baked and polished idea. Here are some examples of project ideas that have worked well in the past:

  • I’d like to do more with text analysis
  • I am interested in exploring the relationships between mental health disorders and other factors such as treatments, substance abuse, societal factors, and other patient information. I was thinking of starting with this dataset found here: (URL), and maybe merging further datasets when found.
  • I’m familiar with a twitter account that used to track when the NYT would have a new word included in an article for the first time. I’d be interested in either getting data directly from the NYT or twitter and exploring that somehow.
  • We want to explore D1 NCAA sports data, specifically comparisons between womens and mens sports. We’re interested in performance, coverage, funding, recruitment, etc.
  • I really like the idea of using an interactive map that the user can change.

Everybody should fill out the form individually, but you can prepare the idea with someone you’d like to work with and submit the same proposal. Just make sure to indicate that you plan to work together.

I will post a new form on Monday of Week 8 that compiles all of the ideas and give you time in class to “rank” final project ideas and share partner/group preferences.

Both forms contribute to your final grade (~5%). Please make sure to fill them out on time.

Sketch draft

In Week 9, you’ll submit a “sketch draft” to me on gradescope. This should include a .qmd and rendered .pdf with the following:

  • reads in at least one dataset
  • includes 5 possible research questions
  • includes at least one EDA graph
  • outline of what you plan to do for the remainder of your project

I will give you feedback about whether your dataset(s) meets the expectations for the project and some feedback on your research questions.

This sketch will make up ~5% of your final grade.

Project progress demos

You should prepare a 6 minute presentation of your progress so far on the final projects. This presentation will make up 15% of your final project grade. Please focus on:

  • The data you’ve gathered/will gather
  • Your research questions

Your presentation should include:

    • Are the sources trustworthy?
    • Is the data real/accurate?
    • Did you need to use any scraping/APIs/etc. to access the data?
    • What are the variables? What are the cases?
    • What is the level of detail/aggregation?
    • Does the data contain non-standard formats discussed in class? (text, spatial, time, etc.)
    • Why are these questions fun/interesting/important to answer?
    • Is it clear that they are answerable with the data you have?
    • These should provide more context to your data (e.g. distributions or comparisons)
    • and/or begin to answer your research questions
    • Should be polished and easy to read/understand
    • If you have done a substantial amount of data gathering/cleaning work and would prefer to discuss that, it’s OK to include only 1-2 static graphs or tables.
    • Are you adding interactivity?
    • Do you have additional data gathering to do?

Each group has a 10 minute slot for the presentation (~6 minutes) questions (~2 minutes) and transitions (~2 minutes). I will cut presentations off at 8 minutes, leaving less time for questions and feedback.

I will circulate a peer feedback google form before the presentations. You will give each other feedback on what each project has done well, and what are some potential areas to focus on before the final version is submitted. The point is not to present a finished product, but to gather ideas and feedback before moving into the final stage of the project.

You are welcome to provide feedback to all of the groups, but are only required to complete the form for the groups presenting on your non-presentation day. I also expect everybody to ask at least one question during the Q&A period over the two days. These aspects of participation will be a part of your final project grade.

Project Demos schedule

If your group would like to switch with another group, just let me know. If your group needs to present on the other day but you do not have a group to switch with, let me know ASAP.

Please upload your slides to this folder before your presentation!

Monday Wednesday
11:15 national-parks birds-national-parks
11:25 sports-performance health-insurance
11:35 people-and-sleep sports-group
11:45 nfl-data social-media
11:55 storms-and-birds olympics
12:05 premier-league census-data

(if you don’t remember what group name you are, see the assignment spreadsheet)

FAQs

Can I work with someone?

Yes! You will work in teams of 2-3 for this project. I will be forming groups, but you can sign up as an individual or a pair.

What if I’m assigned a group member who does not do their fair share of the work?

If this becomes an issue early in the project period, I may remove individuals from group projects. If you are removed from a group, it means that you are responsible for submitting a complete project on your own. Since you will not be able to demonstrate key aspects of the project goals which require working in groups, your final grade will also be impacted.

I will also ask everyone to complete a reflection form at the end of the project period. If a group member stops participating after the group presentations, their final grade will be impacted.