In this project we are going to take a look at data about the
relative strength and damage from tornadoes across the state and
across the last 65 years.
For a
C you need to create a useful,
responsive interactive visualization focusing on Illinois
- table and chart showing the total number of tornadoes (and #
and % in each magnitude, including 'unknown') for each year in
the records and the overall totals
- table and chart showing the total numbers (and # and % in
each magnitude) per month summed over all years
- table and chart showing the total numbers (and # and % in
each magnitude) per hour of the day summed over all years
- table and chart showing the total numbers (and # and % in
each magnitude) for a given distance range from Chicago summed
over all years
- table and chart showing the injuries, fatalities, loss for
each year in the records
- table and chart showing the injuries, fatalities, loss per
month summed over all years
- table and chart showing the injuries, fatalities, loss per
hour of the day summed over all years
- table and chart showing which counties were most hit by
tornadoes summed over all years
- leaflet map showing all of the tornado tracks across
Illinois
- allow the user to switch between 12 hour am/pm time to 24
our time display easily and to switch between imperial and
metric units easily
- allow the user to bring up information about the project, as
in the earlier projects
For a
B you need to add:
- ability to filter the tornadoes visible on the leaflet map
by magnitude, being able to show or hide each of the
magnitudes individually
- ability to filter the tornadoes visible on the leaflet map
by width, length, injuries, fatalities, loss, year
- allow user to see all of the tornado tracks on the map with
their color/width based on user selected magnitude, length,
width, loss, injuries, fatalities
- show data (and path on the leaflet map) for any of the 10
most powerful / destructive Illinois tornadoes (you should
pick the appropriate metric and defend it)
For
an A you need to add:
- allow user to see data (injuries, fatalities, loss, total
number of tornadoes of each magnitude) on a per county basis
for all the Illinois counties on the map
- allow a user to compare the Illinois tabular data to data
from any other state that the user chooses (from a list of all
50 states) in tabular form
- allow the user to change the map background by choosing from
5 different useful map types (note this may mean you need to
change your color scheme)
- allow a user to 'play back' or 'step through' time year by
years showing the tornadoes for that year in the tables and on
the map
Graduate
Students need to add:
- allow a user to compare the Illinois data to data from any
other state they choose in map form as well as tabular and
chart form (i.e. when the user chooses another state you
should bring up another map showing the tornado paths in that
state as well filtered by the controls in 'B')
- use the data to create a heat map for Illinois showing where
it is more or less safe to be regarding tornadoes
In all of these case
you need to make sure that your visualizations are well
constructed with good color and font choices, proper labeling,
and that they effectively reveal the truth about the data to the
user
Note that as part of
the web page part of the grade you will need to use your
interface to show your findings, so make sure that the way your
interface displays information is clear.
As with all the
projects your app will be evaluated running full screen with
touch interaction on the classroom wall.
For this project you should host your solution using
Shinyapps.io or the evl shiny server
There are two deadlines for this project. By the first deadline
you should have implemented the initial screen layout of your
application and have the basic functionality allowing the user to
perform an example of the various 'C' functionality. This will
make sure that your group is on track and that you can focus on
making a good interface and set of visualizations, not just
functional ones. Personally, I think you should have the entire C
functionality done at that point if you are going for an A on the
project as a whole. You should make this version of the interface
available on your group project page.
As part of the final turn in you should create a set of web
pages that describe your work on the project. This should
include:
- 1 page with a link to your visualization solution and a
description of how to use your application and the things you
can do with it.
- 1 page on the data you used, including where you got it,
what you did to it.
- 1 page with links to a zip file containing your well
commented source code, additionally needed data files, and any
instructions necessary to run it. These instructions should
start from the assumption that the reader has a web browser on
their computer and tell the user everything else he/she needs
to know and do to get it running using R studio.
- 1 page on what interesting things you found using your
application. This one is particularly important. Show that you
can use your application to find interesting things in the
dataset and show the screenshots to prove it. Here are some
started questions to use your interface to answer:
- are tornadoes more likely in different times of the year?
- are tornadoes more powerful in different times of the
year?
- are tornadoes more likely at different times of the day or
night?
- are tornadoes more powerful in different times of the day
or night?
- have the number of tornadoes changed over the years (keep
in mind data reporting and record keeping issues)
- 1 page on the roles of the different team members
all of
which should have plenty of screenshots with meaningful
captions. Web pages like this can be very
helpful later on in helping you build up a portfolio of your
work when you start looking for a job so please put some effort
into it.
Be sure to document any external libraries or tools that you make
use of - give credit where credit is due.
You
should also create a 2-3 minute YouTube video showing the use
of your application including narration with decent audio
quality. That video should be in a very obvious place on your
main project web page. The easiest way to do this is to use a
screen-capture tool while interacting with your application,
though you will most likely find its useful to do some editing
afterwards to tighten the video up. Its also a good idea to
have a video like this available as a backup during your
presentation just in case of gremlins. You may want to shoot this
video on the wall itself.
The web
page including screen snapshots and video need to be done by the
deadline so be sure to leave enough time to get that work done.
I will be
linking your web page to the course notes so please send andy
and saumya a nice jpg image of your visualization for
the web. This should be named
p3.<someone_in_your_groups_last_name>.jpg.
When the project is done, each person in the group should also
send Andy a private email with no one else CC'd ranking your
coworkers on the project on a scale from 1 (low) to 5 (high) in
terms of how good a coworker they were on the project. If you
never want to work with them again, give them a 1. If this person
would be a first choice for a partner on a future project then
give them a 5. If they did what was expected but nothing
particularly good or bad then give them a 3. By default your score
should be 3 unless you have a particular reason to increase or
decrease the number. If you are giving a score other than 3 you
need to say why. Please confine your responses to 1, 2, 3, 4, 5
and no 1/3ds or .5s please. Each person's score on the project
will be based on the overall score for the group modified by these
rankings.
Each group
will show their visualization to the class and describe its
features. This allows everyone to see a variety of solutions to
the problem, and a variety of implementations. Rehearse your presentation
... several times. All team members are expected to
participate equally in that presentation.
Project 3 groups:
1. Sohal, Barapatre, Revanna Shivaprabhu, Phaltankar
2. Sinha, Katwala, Thmmu
3. Struck, Janowski, Stranczek
4. Mahida, Kupiec, Lindmae
5.
Borges, Hauck, Khan,
Chandarana
6. Hanula, Kirilov, Biegaj
7. Flower, Nishimoto,
Guo, Azhari
8. Pham, Galante, Waller
9. Rojas Hernandez, Rice,
Hao, Basu
10. Al-Khatib, Samad,
Arcivar, Vig, Velazquez
Note that group numbers are changing for
project 3 and there will be new accounts on the
shiny.evl.uic.edu server.
These new accounts will be in the form p3g#
current list of packages installed on the evl shiny server:
> ip <- as.data.frame(installed.packages()[,c(1,3:4)])
> rownames(ip) <- NULL
> ip <- ip[is.na(ip$Priority),1:2,drop=FALSE]
> print(ip, row.names=FALSE)
Package Version
assertthat 0.2.0
backports 1.1.2
base64enc 0.1-3
BH 1.66.0-1
bindr 0.1
bindrcpp 0.2
broom 0.4.4
callr 2.0.3
cellranger 1.1.0
cli 1.0.0
colorspace 1.3-2
crayon 1.3.4
crosstalk 1.0.0
curl 3.1
data.table
1.10.4-3
DBI 0.8
dbplyr 1.2.1
debugme 1.1.0
devtools 1.13.5
dichromat 2.0-0
digest 0.6.15
dplyr 0.7.4
DT 0.4
dygraphs 1.1.1.4
evaluate 0.10.1
fasttime 1.0-2
forcats 0.3.0
gdata 2.18.0
geojson 0.2.0
geojsonio 0.5.0
geosphere 1.5-7
ggplot2 2.2.1
ggrepel 0.7.0
ggridges 0.4.1
ggthemes 3.4.0
git2r 0.21.0
glue 1.2.0
gridExtra 2.3
gtable 0.2.0
gtools 3.5.0
haven 1.1.1
hexbin 1.27.2
highr 0.6
hms 0.4.2
htmltools 0.3.6
htmlwidgets 1.0
httpuv 1.3.5
httr 1.3.1
jpeg 0.1-8
jqr 1.0.0
jsonlite 1.5
knitr 1.19
labeling 0.3
lazyeval 0.2.1
leaflet 1.1.0
lubridate 1.7.3
magrittr 1.5
mapproj 1.2-5
maps 3.2.0
maptools 0.9-2
markdown 0.8
measurements 1.2.0
memoise 1.1.0
mime 0.5
mnormt 1.5-5
modelr 0.1.1
munsell 0.4.3
openssl 1.0
pillar 1.0.1
pkgconfig 2.0.1
plogr 0.1-1
plotly 4.7.1
plyr 1.8.4
png 0.1-7
praise 1.0.0
protolite 1.7
psych 1.8.3.3
purrr 0.2.4
R6 2.2.2
raster 2.6-7
RColorBrewer 1.1-2
Rcpp 0.12.14
readr 1.1.1
readxl 1.0.0
rematch 1.0.1
reprex 0.1.2
reshape 0.8.7
reshape2 1.4.3
rgdal 1.2-16
rgeos 0.3-26
rlang 0.2.0
rmarkdown 1.8
rprojroot 1.3-2
rstudioapi 0.7
rvest 0.3.2
scales 0.5.0
selectr 0.4-1
shiny 1.0.5
shinyBS 0.61
shinycssloaders 0.2.0
shinydashboard 0.6.1
shinyjs
1.0.1.9000
shinythemes 1.1.1
shinyWidgets 0.4.2
sourcetools 0.1.6
sp 1.2-6
streamgraph 0.8.1
stringi 1.1.6
stringr 1.2.0
testthat 2.0.0
tibble 1.4.1
tidyr 0.8.0
tidyselect 0.2.4
tidyverse 1.2.1
txtplot 1.0-3
utf8 1.1.3
V8 1.5
viridis 0.4.1
viridisLite 0.2.0
whisker 0.3-2
withr 2.1.1
xml2 1.2.0
xtable 1.8-2
xts 0.10-2
yaml 2.1.16
zoo 1.8-1