Description
This project is based on the R Shiny Project from Ryan Miller: https://remiller1450.github.io/s230f23/rshiny_project.html
The focus of this project is on creating interactive data exploration
application. The primary product is an R Shiny application
that allows a user to thoughtfully explore a data set. You will be
required to submit a short proposal and an interim progress update to
keep your project on track.
In addition to creating your app, you will need to: - Record a
5-10min presentation of your app’s features, being sure to highlight at
least one interesting finding it reveals about your data. - Write a 1-2
page summary of the app that includes the 1 page justification of
difficulty
\(~\)
Timeline
- Friday 18 Apr at 10pm - Ranked
choice of Projects via gradescope
- Friday 02 May at 10pm - data cleaning and sketch
visualization(s)
- Friday 09 May at 10pm - Final App, 5-10min recorded demonstration of
the app, 1-2 page summary of the app
\(~\)
Submissions
- All submissions will be to the “Midterm 4: R Shiny” assignment on
gradescope
- All submissions should consist of zip files to allow for submission
to the assignment
- You will overwrite your submission at each step. Ensure you include
the prior submissions.
App Expectations
Your finished Shiny app is expected to include:
- Data visualization
- Your app should use either
ggplot2,
plotly, or leaflet in some capacity. You may
choose to use more than one of these packages.
- User options
- A user of your app should be able to manipulate or explore your data
in at least three ways. Some possibilities include:
- selecting a specific variable for a particular visual aesthetic (x,
y, color, fill, etc.)
- choosing a scale transformation (log2, log10, scale reversal, color
palate changes, etc.)
- selecting faceting variables and/or manipulating facet
formatting
- hoverable or clickable content that displays additional information
(markers, map regions, etc.)
- different app pages or panels that a user can select to display
different content
\(~\)
Presentation Expectations
Your presentation is expected to include:
- Introduction to your data and research motivation
- A brief description of your data source and the background of your
project.
- Explanations of app features
- An overview of what your app is capable of doing and how it handles
those tasks.
- Illustration of one relevant finding
- A demonstration and discussion of at least one interesting trend or
relationship that your app helps reveal
Your target audience should be our class, so you may assume some
working knowledge of R Shiny and various types of graphics/statistics;
but you should not assume any familiarity with your data source or
research question.
\(~\)
Groups
Groups will be assigned based on responses to the Ranked Choice
Project assignment
\(~\)
Presentation
- By Friday 09 May, you must have a working version of your app that
runs on your local PC.
- You must have a recorded presentation
- You must have a 1-2 page summary
\(~\)
Assessment Details
App Code
- Code should be neatly formatted with appropriate comments
- Code should run on another PC without issues (assuming all packages
are installed and all data files are moved to the proper location)
- Any substantive data cleaning is done as a preliminary step using a
separate script, with the cleaned output (exported using
write.csv()) being used in the final app
- Code should be reasonably clean and efficient.
Aesthetics
- The app’s user interface should be professional in appearance. This
includes aesthetically pleasing labels, colors, and other design
elements
- Figures and output generated by the app should also be of
professional quality. This includes colors, labels, themes, visual
choices, etc.
Function
- Your app should include at least 3 features that the user can
manipulate
- Certain combinations of feature inputs should not be able to break
your app
- Proper choices should be made to accommodate issues related to
reactivity, challenges in graphing large amounts of data, etc.
Presentation
- Presentation should adhere to the 5-minute minimum and 10-minute
limit
- Presentation includes all three components mentioned under “general
details”
Misc
- You are expected to adhere to the proposal timeline stated earlier
in this assignment. Not submitting a proposal on time will lead to a
penalty.
Difficulty
- To account for the substantial variability of work required to
effectively utilize different data sources you will be asked to argue
for the level of difficult of your project.
- Your score in this category will be determined by the instructor,
but your written narrative will be taken into consideration when
determining that score.
- Additional details are provided in the section below
\(~\)
Level of Difficulty
One goal of this project is to afford you the opportunity to work
with a topic that you find interesting. Unfortunately, real-world
projects rarely utilize all areas of the data science workflow/life
cycle equally. For example, some projects will require you to devote 90%
of your time to data cleaning and manipulation in order produce a few
relatively simple visualizations or models. Other projects might involve
data come in a relatively clean format, and the majority of your time is
spent making highly detailed visualizations or sophisticated models.
To address these differences, you will be asked to submit a \(\leq1\)-page written argument describing
your project’s level of difficulty as part of the project summary. More
specifically, you should argue that your project had “A-level”,
“B-level”, or “C-level” difficulty, providing clear reasons and
justification for your rating.
Hallmarks of an A-level project:
- Extensive data manipulation - substantial use of several distinct
functions/methods covered in the
tidyr, dplyr,
merging and joining, stringr, and lubridate
labs.
- Professional quality visualizations - thoughtfully constructed
graphics that use customized labels, colors, and design choices
- Great functionality - options that are truly useful to an app user
for gaining novel insights into your data. These generally go beyond
simple filtering or variable selection options (though some of those are
good too!)
- Code efficiency - legible and efficient code.
- Self-study - going beyond the contents of our in-class labs and
researching methods and tools to accomplish something new. For example,
you might learn about advanced UI features, or new types of
graphs (including radar charts, treemaps, stacked area charts,
sankey diagrams, etc.)
\(~\)
Potential Projects
- Economics-Trade:
- Sports:
- Education:
- Other:
- None of these projects sound interesting to you, so you’d rather
work on something else
- If this is the case, please talk to me.