Base R Plot Series (Part = 1): Line Graph

We introduce a "back to basics" series of R plots using only base R - no ggplot, no ggplot2. Other parts of the series:

Plot me a Line Graph (and a bit more)!

Task: Create a graph by using the dataset of Apple (AAPL) weekly stock prices for 2015. The
horizontal line is the mean. The data can be found at: “http://real-chart.finance.yahoo.com/table.csv?s=
AAPL&a=00&b=1&c=2015&d=11&e=31&f=2015& g=w&ignore=.csv”
Method: R Studio, Base R
Dataset: Financial time series (in script download)

Code & Result

df_apple <- read.csv(url('http://real-chart.finance.yahoo.com/table.csv?s=AAPL&a=00&b=1&c=2015&d=11&e=31&f=2015& g=w&ignore=.csv'))
# change Date data type
df_apple$Date <- as.Date(df_apple$Date)
# add column with week numbers to data frame
df_apple <- cbind(df_apple, Week = format(df_apple$Date, format = "%W"))
# leave only the last entry for each week
df_apple <- df_apple[-which(duplicated(df_apple$Week), TRUE), ]
# add symbols for decrease and increase
pch = rep(21, length(df_apple$Close))
col = rep(8, length(df_apple$Close))
for (i in 52:1) {
  if (df_apple$Close[i] > df_apple$Close[i+1]) {
    pch[i] <- 24
    col[i] <- 2
  } else {
    pch[i] <- 25
    col[i] <- 3
  }
}
# plot the graph
plot(df_apple$Date, df_apple$Close, pch = pch, col = col, bg = col, main = "Apple Weekly Closing Price 2015", ylab = "Closing Price", xlab = "Date")
lines(df_apple$Date, df_apple$Close, lty = 5, col = 8)
legend("topright", c("Initial", "Decrease", "Increase"), pch = c(21, 25, 24), col = c(8, 3, 2))
# add horizontal line
abline(h = mean(df_apple$Close), lty = 3)

R-base-plot-lines-graph-apple-stocks-big