Code for Quiz 9.
2.Quiz questions
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
first convert year to a string “201X-12-31” using the function paste
paste will paste each year to 12 and 31 (separated by -)
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 Facebook, ticker: FB, using tq_get * from 2019-08-01 to 2020-07-28 * assign output to df
df <-tq_get("FB", 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
filter on a date to mark. Pick a date after looking at the line plot. Include the date in your Rmd code chunk.
include a description of something that happened on that date from the pandemic timeline. Include the description in your Rmd code chunk
fill the ellipse yellow
ADD geom_mark_ellipse
filter on the date that had the minimum close price. Include the date in your Rmd code chunk.
include a description of something that happened on that date from the pandemic timeline. Include the description in your Rmd code chunk
color the ellipse red
ADD labs set the title to Facebook * set x to NULL * set y to “Closing price per share” * set caption to “Source: https://en.wikipedia.org/wiki/Timeline_of_the_COVID-19_pandemic_in_the_United_States”
ggplot(df, aes(x = date, y = close)) +
geom_line() +
geom_mark_ellipse(aes(
filter = date == "2019-12-31",
description = "The first recorded U.S. case of the new virus is reported"
), fill = "yellow",) +
geom_mark_ellipse(aes(
filter = date == "2020-06-30",
description = "U.S. has 126,140 total deaths, 2.59 million confirmed cases, and 30 million tests completed."
), color = "red", ) +
labs(
title = "Facebook",
x = NULL,
y = "Closing price per share",
caption = "Source: https://en.wikipedia.org/wiki/Timeline_of_the_COVID-19_pandemic_in_the_United_States"
)
Save the previous plot to preview.png and add to the yaml chunk at the top
ggsave(filename = "preview.png",
path = here::here("_posts", "2021-04-12-data-visualization"))