In this exercise you will learn to plot data using the ggplot2 package. To answer the questions below, use Chapter 4.3 Categorical vs. Quantitative Data Visualization with R.

# Load packages
library(tidyquant)
## Loading required package: lubridate
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
## 
##     date
## Loading required package: PerformanceAnalytics
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend
## Loading required package: quantmod
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Version 0.4-0 included new data defaults. See ?getSymbols.
## ══ Need to Learn tidyquant? ═════════════════════════════════════════════════════════════════════════
## Business Science offers a 1-hour course - Learning Lab #9: Performance Analysis & Portfolio Optimization with tidyquant!
## </> Learn more at: https://university.business-science.io/p/learning-labs-pro </>
library(tidyverse)
## ── Attaching packages ──────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.2.1     ✓ purrr   0.3.3
## ✓ tibble  2.1.3     ✓ dplyr   0.8.4
## ✓ tidyr   1.0.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.4.0
## ── Conflicts ─────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x lubridate::as.difftime() masks base::as.difftime()
## x lubridate::date()        masks base::date()
## x dplyr::filter()          masks stats::filter()
## x dplyr::first()           masks xts::first()
## x lubridate::intersect()   masks base::intersect()
## x dplyr::lag()             masks stats::lag()
## x dplyr::last()            masks xts::last()
## x lubridate::setdiff()     masks base::setdiff()
## x lubridate::union()       masks base::union()
# Import stock prices
stock_prices <- tq_get(c("AAPL", "MSFT"), get  = "stock.prices", from = "2020-01-01")

Q1 Select Apple stock prices and save it under plotdata.

Hint: See the code in 4.2.2 Line plot.

library(dplyr)
plotdata <- filter(stock_prices, 
                   symbol == "AAPL")
plotdata
## # A tibble: 33 x 8
##    symbol date        open  high   low close   volume adjusted
##    <chr>  <date>     <dbl> <dbl> <dbl> <dbl>    <dbl>    <dbl>
##  1 AAPL   2020-01-02  296.  301.  295.  300. 33870100     300.
##  2 AAPL   2020-01-03  297.  301.  296.  297. 36580700     297.
##  3 AAPL   2020-01-06  294.  300.  293.  300. 29596800     299.
##  4 AAPL   2020-01-07  300.  301.  297.  298. 27218000     298.
##  5 AAPL   2020-01-08  297.  304.  297.  303. 33019800     302.
##  6 AAPL   2020-01-09  307.  310.  306.  310. 42527100     309.
##  7 AAPL   2020-01-10  311.  313.  308.  310. 35161200     310.
##  8 AAPL   2020-01-13  312.  317.  311.  317. 30383000     316.
##  9 AAPL   2020-01-14  317.  318.  312.  313. 40488600     312.
## 10 AAPL   2020-01-15  312.  316.  310.  311. 30480900     311.
## # … with 23 more rows

Q2 Create a simple line plot with date on the x-axis and closing price on the y-axis.

Hint: See the code in 4.2.2 Line plot.

ggplot(plotdata, 
       aes(x = date, 
           y = close)) +
  geom_line() 

Q3 Add the color (cornflowerblue) to the line plot.

Hint: See the code in 4.2.2 Line plot.

ggplot(plotdata, 
       aes(x = date, 
           y = close)) +
  geom_line(color= "cornflowerblue") 

Q4 Make the line thicker in the line plot.

Hint: See the code in 4.2.2 Line plot.

ggplot(plotdata, 
       aes(x = date, 
           y = close)) +
  geom_line(size= 3, color= "cornflowerblue")

Q5 Label the y-axis as “Closing Price”.

Hint: See the code in 4.2.2 Line plot.

ggplot(plotdata, 
       aes(x = date, 
           y = close)) +
  geom_line(size= 3, color= "cornflowerblue") +
labs( y = " Closing Price")

Q6 Remove the label of the x-axis.

Hint: See the code in 4.2.2 Line plot.

ggplot(plotdata, 
       aes(x = date, 
           y = close)) +
  geom_line(size= 3, color= "cornflowerblue") +
labs( y = " Closing Price" , 
      x = "")

Q7 Create the line plot for both Apple and Microsoft.

Hint: Google search something like “ggplot2 two lines”.

ggplot(stock_prices, 
       aes(x = date, 
           y = close,
           col= symbol)) +
  geom_line()

Q8 Hide the messages, but display the code and its results on the webpage.

Hint: Use message, echo and results in the chunk options. Refer to the RMarkdown Reference Guide.

Q9 Display the title and your name correctly at the top of the webpage.

Q10 Use the correct slug.