Banner

 

15 - Data Visualization

Answers to exercises

1.
Given the following data on the world’s cargo carrying capacity in millions of dead weight tons (dwt) for the given years, graph the relationship as a point plot. Add a linear prediction model to the graph. What is the approximate increase in the world capacity each year?
dwt <-  c(2566, 3704, 4008, 5984, 7700, 8034, 8229, 7858, 8408, 8939)
year <- c(1970, 1980, 1990, 2000, 2006, 2007, 2008, 2009, 2010, 2011)
library(ggvis)
dwt <- c(2566, 3704, 4008, 5984, 7700, 8034, 8229, 7858, 8408, 8939)
year <- c(1970, 1980, 1990, 2000, 2006, 2007, 2008, 2009, 2010, 2011)
df1 <- data.frame(year, dwt)
df1 %>% ggvis(~year,~dwt) %>% layer_points(fill:='red') %>%
layer_model_predictions(model = 'lm') %>%
add_axis('x',title='Year', format='####') %>%
add_axis('y',title='Millions of dead weight tons', title_offset=50) %>%
scale_numeric('y',zero=T)
3.
Visualize in blue the number of items for each product scale.
library(ggvis)
library(DBI)
# connect to the database
conn <- dbConnect(RMySQL::MySQL(),"wallaby.terry.uga.edu", dbname = "ClassicModels", user = "student", password = "student")
# Query the database and create file for use with R
d <- dbGetQuery(conn,"SELECT productScale from Products;")
# Plot the number of product lines by specifying the appropriate column name
# Internal fill color is blue
d %>% ggvis(~productScale) %>% layer_bars(fill:='blue') %>%
add_axis('x',title='Product scale') %>%
add_axis('y',title='Frequency')
5.
Create a histogram with appropriate labels for the value of orders received from the Nordic countries (Denmark, Finland, Norway, Sweden).
library(ggvis)
library(DBI)
# connect to the database
conn <- dbConnect(RMySQL::MySQL(),"wallaby.terry.uga.edu", dbname = "ClassicModels", user = "student", password = "student")
# Query the database and create file for use with R
d <- dbGetQuery(conn,"SELECT country, sum(quantityOrdered*priceEach) AS orders FROM Orders, OrderDetails, Customers WHERE Orders.orderNumber = OrderDetails.orderNumber and Customers.customerNumber = Orders.customerNumber AND country IN ('Denmark','Finland', 'Norway','Sweden') GROUP BY country")
d %>% ggvis(~country,~orders) %>% layer_bars(fill:='yellow') %>% 
  add_axis('x',title='Country') %>% 
  add_axis('y',title='Orders',title_offset = 60)
7.
Show on a Google map the customers in Japan.
library(ggplot2)
library(DBI)
library(ggmap)
# connect to the database
conn <- dbConnect(RMySQL::MySQL(),"wallaby.terry.uga.edu", dbname = "ClassicModels", user = "student", password = "student")
# Query the database and create file for use with R
d <- dbGetQuery(conn,"SELECT y(officeLocation) AS lon, x(officeLocation) AS lat FROM Offices;")
map <-  get_googlemap('tokyo, japan',marker=d,zoom=5)
ggmap(map) + labs(x = 'Longitude', y = 'Latitude') + ggtitle('Japanese offices')
9.
Access http://people.terry.uga.edu/rwatson/data/manheim.txt, which contains details of the sales of three car models: X, Y, and Z.
9a.
Create a bar chart for sales of each model (X, Y, or Z)
library(ggvis)
library(readr)
url <-  'http://people.terry.uga.edu/rwatson/data/manheim.txt'
t <-  read_delim(url, delim=',')
t %>% ggvis(~model) %>% layer_bars(fill:='lightgreen')
11.
Read the table http://people.terry.uga.edu/rwatson/data/wealth.csv containing details of the wealth of various countries. Create histograms for each of the wealth measures. Use the list of valid colors to give a bit of color to your graphics.
library(ggvis)
url <-  'http://people.terry.uga.edu/rwatson/data/wealth.csv'
t <-  read_delim(url, delim=',')
t %>% ggvis(~`GDP per capita`) %>%  layer_histograms(fill:='Crimson')
t %>% ggvis(~`Wealth per capita`) %>%  layer_histograms(fill:='DarkOrange')
t %>% ggvis(~`Wealth per adult`) %>%  layer_histograms(fill:='DarkSeaGreen')

This page is part of the promotional and support material for Data Management (sixth edition) by Richard T. Watson
For questions and comments please contact the author

Date revised: 19-Oct-2016