Mini-Project 2
Overview
Choose a dataset, import and clean it, explore it with transformations and visualizations, and communicate what you find in a rendered Quarto document. You will also present your work and describe one piece of code in detail.
Data Options
The following datasets are listed on kaggle.com. These are suggestions only. You may use another dataset (including the Zillow data from class) with instructor approval.
Work & Wellness
Environment
Requirements
Data import and cleaning
- Import the data with a reproducible script or chunk (e.g.,
readr::read_csv()); no manual edits to the raw file. - If you download data, do it in code (
dir.create(),download.file()) so the project can be re-run. - Clean variable names (e.g.,
janitor::clean_names()) and check variable types. - Investigate missing values: how many, where, and how you handled them.
- Do not leave stray objects around; start from a clean session when rendering (
rm(list = ls())is not needed in a.qmd, which renders in a fresh session).
Transformations
group_by()+summarize(), and actually use/plot the resultsselect(),mutate(),distinct(),filter()- Pivoting of some kind (
pivot_longer()orpivot_wider()) - Optional: a join (e.g.,
left_join()) with a second table such as state or region lookups
Visualizations
- At least three plots using ggplot2, each with a purpose.
- At least one plot using
geom_text()orgeom_label(). - Appropriate choices: line plots for change over time, bars for counts or aggregates
- Informative titles, axis labels, and legends (
labs()); readable scales (scales::label_comma(),label_dollar(), etc.). - Optional/encouraged: a map, a divergent bar chart, or animation
Statistics
- Use some language of basic statistics.
- State whether you are using descriptive statistics or inferential statistics, and why.
- Report summaries with context (e.g., mean/median, spread, n). If you run an inferential test, state its assumptions and check them.
- Use language proportional to the evidence. Avoid claiming causation from observational data.
Coding and Quarto
- Good, brief comments in the
.qmd, explaining why rather than narrating what. - Code chunks have labels, and figures have captions or alt text (
#| label:,#| fig-cap:,#| fig-alt:). - Use the base pipe
|>consistently. - Rendered with Quarto to a self-contained
.htmlfile. - Use
execute:options to hide warnings and messages, and decide deliberately onecho/code-fold. - Optional: inline code (
`r`) to report numbers in text, and cross-references to figures (@fig-...).
Presentation
- 5 minutes: dataset, question, one key finding.
- Describe in detail one piece of code (what it does, line by line, and why you wrote it that way).
- Optional: present as a revealjs slide deck.
Rubric
| Category | Points | Full credit |
|---|---|---|
| Data import and cleaning | 15 | Reproducible import; names and types checked; missing values investigated and handled with justification |
| Transformations | 20 | All of group_by/summarize (and used), select, mutate, distinct, filter, and pivoting present, correct, and purposeful |
| Visualizations | 20 | At least 3 clear plots, including geom_text/geom_label; labeled, readable, appropriate chart types |
| Statistics | 10 | Descriptive vs. inferential stated; summaries interpreted correctly; assumptions noted where relevant |
| Code quality and comments | 10 | Clear, consistent style; useful comments; labeled chunks; runs top to bottom |
| Quarto document and publishing | 10 | Renders without errors to a self-contained .html; organized with headings; figures captioned |
| Narrative and interpretation | 5 | Clear question and conclusions supported by the results; limitations acknowledged |
| Presentation | 10 | Clear and on time; one piece of code described in detail |
| Total | 100 |
Performance levels (per category)
| Level | Share of points | Description |
|---|---|---|
| Excellent | 90-100% | Complete, correct, and thoughtful; goes beyond the minimum |
| Proficient | 75-89% | Meets requirements with minor errors or gaps |
| Developing | 50-74% | Some requirements missing or incorrect |
| Incomplete | < 50% | Major requirements missing, or document does not render |
Submission
- Submit the rendered
.htmlfile and the.qmdsource. - Due date: tentatively Oct. 21.
Social Media