Code for Quiz 9.
Replace all the instances of ‘SEE QUIZ’. These are inputs from your moodle quiz.
Replace all the instances of ‘???’. These are answers on your moodle quiz.
Run all the individual code chunks to make sure the answers in this file correspond with your quiz answers
After you check all your code chunks run then you can knit it. It won’t knit until the ??? are replaced
The quiz assumes that you have watched the videos, downloaded (to your examples folder) and worked through the exercises in exercises_slides-73-108.Rmd. Knitted file is here.
Create a bar chart that shows the average hours Americans spend on five activities by year. Use the timeline argument to create an animation that will animate through the years.
spend_time contains 10 years of data on how many hours Americans spend each day on 5 activities
read it into spend_time
spend_time <- read_csv("https://estanny.com/static/week8/spend_time.csv")
e_charts-1
Start with spend_time
Create a line chart for the activities that American spend time on.
Start with spend_time
THEN use mutate to convert year from an number to a string (year-month-day) using mutate
THEN use mutate to convert year from a character object to a date object using the ymd function from the lubridate package (part of the tidyverse, but not automatically loaded). ymd converts dates stored as characters to date objects.
THEN group_by the variable activity (to get a line for each activity)
THEN initiate an e_charts object with year on the x-axis
THEN use e_line to add a line to the variable avg_hours
THEN add a tooltip with e_tooltip
THEN use e_title to set the main title to ‘Average hours Americans spend per day on each activity’
THEN use e_legend(top = 40) to move the legend down (from the top)
ggplot(spend_time, aes(x = year, y = avg_hours, color = activity,)) +
geom_point() +
geom_mark_ellipse(aes(filter = activity == "leisure/sports",
description= "Americans spend on average more time each day on leisure/sports than the other activities"))
Modify the tidyquant example in the video
Retrieve stock price for Google, ticker: GOOG, using tq_get
df <-tq_get("GOOG", get = "stock.prices",
from = "2019-08-01", to = "2020-07-28" )
Create a plot with the df data
assign date to the x-axis
assign close to the y-axis
ADD a line with with geom_line
ADD geom_mark_ellipse
ADD geom_mark_ellipse
ADD labs
ggplot(df, aes(x = date, y = close)) +
geom_line() +
geom_mark_ellipse(aes(
filter = date == "2019-1-23",
description = "CDC Director Robert Redfield was notified by a counterpart in China that a 'mysterious respiratory illness was spreading in Wuhan [China]'"
), fill = "yellow",) +
geom_mark_ellipse(aes(
filter = date == "2020-12-2",
description = "The U.S. passed 14 million cases."
), color = "red", ) +
labs(
title = "Google",
x = NULL,
y = "Closing price per share",
caption = "Source: https://en.wikipedia.org/wiki/Timeline_of_the_COVID-19_pandemic_in_the_United_States"
)
ggsave(filename = "preview.png",
path = here::here("_posts", "2021-04-20-data-visualization"))