stocks <- c("AAPL", "NFLX", "AMZN") %>%
tq_get(from = "2016-01-01", to = "2017-01-01")
stocks
## # A tibble: 756 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2016-01-04 25.7 26.3 25.5 26.3 270597600 23.7
## 2 AAPL 2016-01-05 26.4 26.5 25.6 25.7 223164000 23.1
## 3 AAPL 2016-01-06 25.1 25.6 25.0 25.2 273829600 22.6
## 4 AAPL 2016-01-07 24.7 25.0 24.1 24.1 324377600 21.7
## 5 AAPL 2016-01-08 24.6 24.8 24.2 24.2 283192000 21.8
## 6 AAPL 2016-01-11 24.7 24.8 24.3 24.6 198957600 22.2
## 7 AAPL 2016-01-12 25.1 25.2 24.7 25.0 196616800 22.5
## 8 AAPL 2016-01-13 25.1 25.3 24.3 24.3 249758400 21.9
## 9 AAPL 2016-01-14 24.5 25.1 23.9 24.9 252680400 22.4
## 10 AAPL 2016-01-15 24.0 24.4 23.8 24.3 319335600 21.8
## # ℹ 746 more rows
Apply the dplyr verbs you learned in Chapter 5
Filter rows
stocks %>%
filter(adjusted > 24)
## # A tibble: 375 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2016-03-22 26.3 26.8 26.3 26.7 129777600 24.1
## 2 AAPL 2016-03-29 26.2 26.9 26.2 26.9 124760400 24.3
## 3 AAPL 2016-03-30 27.2 27.6 27.1 27.4 182404400 24.8
## 4 AAPL 2016-03-31 27.4 27.5 27.2 27.2 103553600 24.6
## 5 AAPL 2016-04-01 27.2 27.5 27.0 27.5 103496000 24.9
## 6 AAPL 2016-04-04 27.6 28.0 27.6 27.8 149424800 25.1
## 7 AAPL 2016-04-05 27.4 27.7 27.4 27.5 106314800 24.8
## 8 AAPL 2016-04-06 27.6 27.7 27.3 27.7 105616400 25.1
## 9 AAPL 2016-04-07 27.5 27.6 27.0 27.1 127207600 24.5
## 10 AAPL 2016-04-08 27.2 27.4 27.0 27.2 94326800 24.6
## # ℹ 365 more rows
Arrange rows
stocks %>%
arrange(symbol, desc(adjusted))
## # A tibble: 756 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2016-10-25 29.5 29.6 29.3 29.6 192516000 27.0
## 2 AAPL 2016-12-27 29.1 29.5 29.1 29.3 73187600 27.0
## 3 AAPL 2016-12-21 29.2 29.4 29.2 29.3 95132800 26.9
## 4 AAPL 2016-10-24 29.3 29.4 29.2 29.4 94154800 26.9
## 5 AAPL 2016-10-14 29.5 29.5 29.3 29.4 142608800 26.9
## 6 AAPL 2016-12-20 29.2 29.4 29.2 29.2 85700000 26.9
## 7 AAPL 2016-10-17 29.3 29.5 29.2 29.4 94499600 26.9
## 8 AAPL 2016-10-18 29.5 29.6 29.4 29.4 98214000 26.9
## 9 AAPL 2016-12-28 29.4 29.5 29.0 29.2 83623600 26.8
## 10 AAPL 2016-10-12 29.3 29.5 29.2 29.3 150347200 26.8
## # ℹ 746 more rows
Select columns
stocks %>%
select(symbol, date, close, adjusted)
## # A tibble: 756 × 4
## symbol date close adjusted
## <chr> <date> <dbl> <dbl>
## 1 AAPL 2016-01-04 26.3 23.7
## 2 AAPL 2016-01-05 25.7 23.1
## 3 AAPL 2016-01-06 25.2 22.6
## 4 AAPL 2016-01-07 24.1 21.7
## 5 AAPL 2016-01-08 24.2 21.8
## 6 AAPL 2016-01-11 24.6 22.2
## 7 AAPL 2016-01-12 25.0 22.5
## 8 AAPL 2016-01-13 24.3 21.9
## 9 AAPL 2016-01-14 24.9 22.4
## 10 AAPL 2016-01-15 24.3 21.8
## # ℹ 746 more rows
Mutate — add columns
stocks %>%
mutate(
daily_change = close - open,
pct_change = (close - open) / open * 100
)
## # A tibble: 756 × 10
## symbol date open high low close volume adjusted daily_change
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AAPL 2016-01-04 25.7 26.3 25.5 26.3 270597600 23.7 0.685
## 2 AAPL 2016-01-05 26.4 26.5 25.6 25.7 223164000 23.1 -0.760
## 3 AAPL 2016-01-06 25.1 25.6 25.0 25.2 273829600 22.6 0.0350
## 4 AAPL 2016-01-07 24.7 25.0 24.1 24.1 324377600 21.7 -0.558
## 5 AAPL 2016-01-08 24.6 24.8 24.2 24.2 283192000 21.8 -0.398
## 6 AAPL 2016-01-11 24.7 24.8 24.3 24.6 198957600 22.2 -0.110
## 7 AAPL 2016-01-12 25.1 25.2 24.7 25.0 196616800 22.5 -0.148
## 8 AAPL 2016-01-13 25.1 25.3 24.3 24.3 249758400 21.9 -0.733
## 9 AAPL 2016-01-14 24.5 25.1 23.9 24.9 252680400 22.4 0.390
## 10 AAPL 2016-01-15 24.0 24.4 23.8 24.3 319335600 21.8 0.233
## # ℹ 746 more rows
## # ℹ 1 more variable: pct_change <dbl>
Summarise with groups
stocks %>%
group_by(symbol) %>%
summarise(
avg_adjusted = mean(adjusted, na.rm = TRUE),
max_adjusted = max(adjusted, na.rm = TRUE),
min_adjusted = min(adjusted, na.rm = TRUE)
) %>%
ungroup()
## # A tibble: 3 × 4
## symbol avg_adjusted max_adjusted min_adjusted
## <chr> <dbl> <dbl> <dbl>
## 1 AAPL 23.8 27.0 20.5
## 2 AMZN 35.0 42.2 24.1
## 3 NFLX 10.2 12.8 8.28