QuestionQuestion

Assignment Instructions
Data visualization is a great way to support fact-based storytelling. For Assignment 3, your goal will be to pick a current news story (within the previous 12 months) and create an interactive data visualization to support that story. The choice is yours, but you will need to source the data. That will be the tricky part. Open or Public Data Assignment 3 must be based on open or public data. Ensure you include the right attribution.
Visualization
● Work through Andy Kirk’s Visual Design Process described in Module 1 in order to produce an insightful visualization of the story and data you selected.
● Your design must include interactive elements.
● You are restricted to a one-screen visualization. This may include multiple plots or a dashboard layout.
● This assignment will be about showcasing your data visualization capabilities publically.
Therefore, your assignment submission must be hosted online (see RPubs or Cloud Hosting)
● Your visualization must link to the source story and data source.

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.

## app.R ##
library(shinydashboard)
library(ggplot2)
library(dplyr)
library(plotly)

dat_all <- read.csv("all.csv")
dat_all$Country = as.character(dat_all$Country)

dat_america <- read.csv("america.csv")
dat_america <- dat_america[complete.cases(dat_america),]
dat_america$Country = as.character(dat_america$Country)
dat_africa <- read.csv("africa.csv")
dat_africa <- dat_africa[complete.cases(dat_africa),]
dat_africa$Country = as.character(dat_africa$Country)
dat_asia <- read.csv("asia.csv")
dat_asia <- dat_asia[complete.cases(dat_asia),]
dat_asia$Country = as.character(dat_asia$Country)
dat_europe <- read.csv("europe.csv")
dat_europe$Country = as.character(dat_europe$Country)

ui <- dashboardPage(
dashboardHeader(title = "Quality of Life: 2018"),
dashboardSidebar(
    sidebarMenu(
      menuItem("All Countries", tabName = "allCountries", icon = icon("globe")),
      menuItem("Asia", tabName = "asia", icon = icon("star")),
      menuItem("Europe", tabName = "europe", icon = icon("circle")),
      menuItem("America", tabName = "america", icon = icon("user")),
      menuItem("Africa", tabName = "africa", icon = icon("flag"))
    )
),
dashboardBody(
    tabItems(
      # First tab content
      tabItem(tabName = "allCountries",
             fluidRow(
                column(width = 4,
                infoBoxOutput("best_ql", width = NULL)),
                infoBoxOutput("best_health"),
                infoBoxOutput("best_safe"),
                infoBoxOutput("best_traffic"),
                infoBoxOutput("best_pollution"),
                infoBoxOutput("best_climate")
             ),
            
             fluidRow(
                column(width = 12,
                tabBox(
                  width = NULL,
                  height = 600,
                  title = "",
                  id = "tabset1",
                  tabPanel("Indexes",
                           selectInput("interval", "Parameter",
                                       ""
                           ),
                            plotlyOutput("plot1",height = 460)
                  ),
                                 
                  tabPanel("Analysis",
                           
                           fluidRow(
                            column(width = 6,
                           selectInput("interval2", "X-Axis Parameter",
                                       "", width = NULL)),
                           
                           column(width = 6,
                           selectInput("interval3", "Y-Axis Parameter",
                                       "", width = NULL))
                           ),
                           plotlyOutput("plot2",height = 460)
                           )
                ))
             )
      ),
      
      # Second tab content
      tabItem(tabName = "asia",
            
             fluidRow(
                column(width = 4,
                      infoBoxOutput("best_ql_asia", width = NULL)),
                infoBoxOutput("best_health_asia"),
                infoBoxOutput("best_safe_asia"),
                infoBoxOutput("best_traffic_asia"),
                infoBoxOutput("best_pollution_asia"),
                infoBoxOutput("best_climate_asia")
             ),
            
             fluidRow(
                column(width = 12,
                      tabBox(
                         width = NULL,
                         height = 600,
                         title = "",
                         id = "tabset3",
                         tabPanel("Indexes",
                                  selectInput("asia_interval1", "Parameter",
                                              ""
                                  ),
                                  plotlyOutput("asia_plot1",height = 460)
                         ),
                        
                         tabPanel("Analysis",
                                 
                                  fluidRow(
                                    column(width = 6,
                                           selectInput("asia_interval2", "X-Axis Parameter",
                                                       "", width = NULL)),
                                    
                                    column(width = 6,
                                           selectInput("asia_interval3", "Y-Axis Parameter",
                                                       "", width = NULL))
                                  ),
                                  plotlyOutput("asia_plot2",height = 460)
                         )
                      ))
             )
      ),
      
      tabItem(tabName = "europe",
      
             fluidRow(
                column(width = 4,
                      infoBoxOutput("best_ql_europe", width = NULL)),
                infoBoxOutput("best_health_europe"),
                infoBoxOutput("best_safe_europe"),
                infoBoxOutput("best_traffic_europe"),
                infoBoxOutput("best_pollution_europe"),
                infoBoxOutput("best_climate_europe")
             ),
            
             fluidRow(
                column(width = 12,
                      tabBox(
                         width = NULL,
                         height = 600,
                         title = "",
                         id = "tabset4",
                         tabPanel("Indexes",
                                  selectInput...

By purchasing this solution you'll be able to access the following files:
dashboard.R, Solution.pdf, Solution.csv, Solution1.csv, Solution2.csv, Solution3.csv and Solution4.csv.

$75.00
for this solution

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Programming (Dynamic, Linear, Non-linear, etc.) Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Decision:
Upload a file
Continue without uploading

SUBMIT YOUR HOMEWORK
We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats