Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
# @author Scott Dobbins
# @version
# @date 2017-07-29 20:00

### Overview ###

This Shiny app is designed to demonstrate for the user the course of various 20th century wars and give the user a feel of the scale of these historical events. It is designed to be useful to the curious passer-by and the amateur historian (or student) alike, and contains many different ways for visualizing and investigating the data. 

### Use Instructions ###

The left panel tabs allow the user to navigate between different fuctionalities within the app, and the left panel dropdown boxes allow the user to control which types of events to show (i.e. to filter the data according to their wishes--it affects not just the overview panel but all panels). 

The overview panel graphs out individual bombing events. The dropdown boxes at the bottom allow for graphing points on different map skins and with different label and border settings. When there are more events than can reasonably be graphed simultaneously (as is often the case), the graphed data represent a sub-sample of the overall data, and the number of sample points to graph can be selected at the bottom as well. 

The data inspection panel allows the user to investigate (a subset of) the bombing data on their own. Clicking the column heads allows sorting in either ascending or descending order by that particular column. 

The data panels for World War One, World War Two, the Korean War, and the Vietnam War allow further exploration of the relationships between different aspects of the bombing data. On the left side is a histogram plot that shows how the number of missions flown per unit time changed over the course of the war. On the right side is a sandbox-style plot that allows the user to plot out direct relationships between (nearly) any two variables (which are selected using the dropdown boxes at the bottom). Groupings affect both the histogram plot and the sandbox-style plot. 

The pilot panel (in future releases) links to a video describing what flying bombing missions was like during World War 2 (for reference). 

The commander panel (in future releases) shows what planing maps of each war looked like. 

The civilian panel graphs out bombing intensity according to a few metrics which may be selected at the bottom. 

### Script Contents ###

	The User Interface (UI) for the Shiny app
	Describes what the app contains and where to put everything

	The server-side implementation of the app (the "brains" behind what the app does)
	Describes all app reactivity and functionality

	Everything shared by both ui.R and server.R
	Contains (and sources) all data processing and helper functions

	The app contains a lot of labels, which are all placed here
	Contains all textual data referenced by the app

	Manual input of data required many details, all described here
	Contains all specifics for manually reading in the raw data

	Cleans the raw data into a usable form
	A script of executed steps to clean specific problems in the raw data

	The world war two weapon data was particularly dirty, 
	so it's cleaning was isolated from the general cleaning script (cleaner.R)

	Processes the cleaned data into a form that best fits the app
	A script of executed steps to drop irrelevant data and to prepare tooltips

	Writes the cleaned and processed data to disk for later fast read access

	Samples the data from each war to fit size requirements for an online app

	Contains an arsenal of helper functions used to clean and display the data
	Isolates commonly changed parameters that alter app behavior 
	into one small editable file

	Listing filepath components for accessing and saving specific files 
	was a task deserving of its own file

	Contains largely behind-the-scences tasks that are necessary 
	but not of interest to the other files (mostly completes filepath information)

	Contains functions (as of now, just one function) commonly used 
	across all the author's R projects for debugging and convenience purposes

### Used Package Citations ###

# R
    title = {R: A Language and Environment for Statistical Computing},
    author = {{R Core Team}},
    organization = {R Foundation for Statistical Computing},
    address = {Vienna, Austria},
    year = {2017},
    url = {},

# shiny
    title = {shiny: Web Application Framework for R},
    author = {Winston Chang and Joe Cheng and JJ Allaire and Yihui Xie and Jonathan McPherson},
    year = {2017},
    note = {R package version 1.0.3},
    url = {},

# shinydashboard
    title = {shinydashboard: Create Dashboards with 'Shiny'},
    author = {Winston Chang and Barbara {Borges Ribeiro}},
    year = {2017},
    note = {R package version 0.6.1},
    url = {},

# leaflet
    title = {leaflet: Create Interactive Web Maps with the JavaScript 'Leaflet' Library},
    author = {Joe Cheng and Bhaskar Karambelkar and Yihui Xie},
    year = {2017},
    note = {R package version},
    url = {},

# leaflet.extras
    title = {leaflet.extras: Extra Functionality for 'leaflet' Package},
    author = {Bhaskar Karambelkar},
    year = {2017},
    note = {R package version 0.2},
    url = {},

# ggplot2
    author = {Hadley Wickham},
    title = {ggplot2: Elegant Graphics for Data Analysis},
    publisher = {Springer-Verlag New York},
    year = {2009},
    isbn = {978-0-387-98140-6},
    url = {},

# data.table
# note: I used data.table v1.10.5, which was in development at the time of my use
    title = {data.table: Extension of `data.frame`},
    author = {Matt Dowle and Arun Srinivasan},
    year = {2017},
    note = {R package version 1.10.5},
    url = {},

# dplyr
    title = {dplyr: A Grammar of Data Manipulation},
    author = {Hadley Wickham and Romain Francois and Lionel Henry and Kirill Müller},
    year = {2017},
    note = {R package version 0.7.2},
    url = {},

# DT
    title = {DT: A Wrapper of the JavaScript Library 'DataTables'},
    author = {Yihui Xie},
    year = {2016},
    note = {R package version 0.2},
    url = {},

### Data Sources ###

World War 1
data source:
data origin URL:

World War 2
data source:
data origin URL:

data source:
data origin URL:

data source:
data origin URL:

### END ###


NYC Data Science Academy bootcamp project #1 - visualization with Shiny






No releases published


No packages published