stocks <- tq_get(c("NVDA","AAPL"),
get = "stock.prices",
from = "2016-01-01",
to = "2017-01-01")
stocks
## # A tibble: 504 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-01-04 8.07 8.14 8.01 8.09 35807600 7.90
## 2 NVDA 2016-01-05 8.24 8.36 8.12 8.22 49027200 8.03
## 3 NVDA 2016-01-06 8.09 8.12 7.79 7.88 44934400 7.70
## 4 NVDA 2016-01-07 7.68 7.74 7.47 7.57 64530400 7.39
## 5 NVDA 2016-01-08 7.67 7.68 7.39 7.41 39847200 7.23
## 6 NVDA 2016-01-11 7.42 7.47 7.29 7.42 40937200 7.25
## 7 NVDA 2016-01-12 7.55 7.66 7.49 7.54 46935600 7.37
## 8 NVDA 2016-01-13 7.60 7.65 7.31 7.32 48167200 7.14
## 9 NVDA 2016-01-14 7.16 7.25 6.96 7.17 60023600 7.00
## 10 NVDA 2016-01-15 6.88 6.96 6.66 6.78 84145200 6.62
## # … with 494 more rows
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()
#Apply the dplyr verbs you learned in Chapter 5 ##############################################
##Filter Rows
stocks %>% filter(adjusted >7)
## # A tibble: 485 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-01-04 8.07 8.14 8.01 8.09 35807600 7.90
## 2 NVDA 2016-01-05 8.24 8.36 8.12 8.22 49027200 8.03
## 3 NVDA 2016-01-06 8.09 8.12 7.79 7.88 44934400 7.70
## 4 NVDA 2016-01-07 7.68 7.74 7.47 7.57 64530400 7.39
## 5 NVDA 2016-01-08 7.67 7.68 7.39 7.41 39847200 7.23
## 6 NVDA 2016-01-11 7.42 7.47 7.29 7.42 40937200 7.25
## 7 NVDA 2016-01-12 7.55 7.66 7.49 7.54 46935600 7.37
## 8 NVDA 2016-01-13 7.60 7.65 7.31 7.32 48167200 7.14
## 9 NVDA 2016-01-14 7.16 7.25 6.96 7.17 60023600 7.00
## 10 NVDA 2016-01-26 7.12 7.20 7.05 7.18 22794400 7.01
## # … with 475 more rows
##Arrange Rows
arrange(stocks, high, low, close)
## # A tibble: 504 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-02-11 6.20 6.39 6.20 6.32 34014400 6.18
## 2 NVDA 2016-02-12 6.42 6.44 6.19 6.43 34081600 6.28
## 3 NVDA 2016-02-08 6.51 6.54 6.21 6.30 60885200 6.16
## 4 NVDA 2016-02-10 6.41 6.60 6.32 6.36 33580000 6.21
## 5 NVDA 2016-02-09 6.23 6.64 6.2 6.37 42537200 6.22
## 6 NVDA 2016-02-16 6.52 6.76 6.50 6.75 48535200 6.59
## 7 NVDA 2016-01-20 6.70 6.96 6.61 6.87 48118000 6.71
## 8 NVDA 2016-01-15 6.88 6.96 6.66 6.78 84145200 6.62
## 9 NVDA 2016-02-17 6.83 6.98 6.80 6.92 77146800 6.75
## 10 NVDA 2016-01-21 6.94 7.06 6.80 6.95 48145600 6.79
## # … with 494 more rows
##Select Columns
select(stocks, open, close, adjusted)
## # A tibble: 504 × 3
## open close adjusted
## <dbl> <dbl> <dbl>
## 1 8.07 8.09 7.90
## 2 8.24 8.22 8.03
## 3 8.09 7.88 7.70
## 4 7.68 7.57 7.39
## 5 7.67 7.41 7.23
## 6 7.42 7.42 7.25
## 7 7.55 7.54 7.37
## 8 7.60 7.32 7.14
## 9 7.16 7.17 7.00
## 10 6.88 6.78 6.62
## # … with 494 more rows
select(stocks, date, high, low)
## # A tibble: 504 × 3
## date high low
## <date> <dbl> <dbl>
## 1 2016-01-04 8.14 8.01
## 2 2016-01-05 8.36 8.12
## 3 2016-01-06 8.12 7.79
## 4 2016-01-07 7.74 7.47
## 5 2016-01-08 7.68 7.39
## 6 2016-01-11 7.47 7.29
## 7 2016-01-12 7.66 7.49
## 8 2016-01-13 7.65 7.31
## 9 2016-01-14 7.25 6.96
## 10 2016-01-15 6.96 6.66
## # … with 494 more rows
select(stocks, date, open, high, low, close, adjusted, ends_with("NVDA"))
## # A tibble: 504 × 6
## date open high low close adjusted
## <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2016-01-04 8.07 8.14 8.01 8.09 7.90
## 2 2016-01-05 8.24 8.36 8.12 8.22 8.03
## 3 2016-01-06 8.09 8.12 7.79 7.88 7.70
## 4 2016-01-07 7.68 7.74 7.47 7.57 7.39
## 5 2016-01-08 7.67 7.68 7.39 7.41 7.23
## 6 2016-01-11 7.42 7.47 7.29 7.42 7.25
## 7 2016-01-12 7.55 7.66 7.49 7.54 7.37
## 8 2016-01-13 7.60 7.65 7.31 7.32 7.14
## 9 2016-01-14 7.16 7.25 6.96 7.17 7.00
## 10 2016-01-15 6.88 6.96 6.66 6.78 6.62
## # … with 494 more rows
select(stocks, date, open, high, low, close, adjusted, ends_with("AAPL"))
## # A tibble: 504 × 6
## date open high low close adjusted
## <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2016-01-04 8.07 8.14 8.01 8.09 7.90
## 2 2016-01-05 8.24 8.36 8.12 8.22 8.03
## 3 2016-01-06 8.09 8.12 7.79 7.88 7.70
## 4 2016-01-07 7.68 7.74 7.47 7.57 7.39
## 5 2016-01-08 7.67 7.68 7.39 7.41 7.23
## 6 2016-01-11 7.42 7.47 7.29 7.42 7.25
## 7 2016-01-12 7.55 7.66 7.49 7.54 7.37
## 8 2016-01-13 7.60 7.65 7.31 7.32 7.14
## 9 2016-01-14 7.16 7.25 6.96 7.17 7.00
## 10 2016-01-15 6.88 6.96 6.66 6.78 6.62
## # … with 494 more rows
##Summarize with groups
stocks
## # A tibble: 504 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-01-04 8.07 8.14 8.01 8.09 35807600 7.90
## 2 NVDA 2016-01-05 8.24 8.36 8.12 8.22 49027200 8.03
## 3 NVDA 2016-01-06 8.09 8.12 7.79 7.88 44934400 7.70
## 4 NVDA 2016-01-07 7.68 7.74 7.47 7.57 64530400 7.39
## 5 NVDA 2016-01-08 7.67 7.68 7.39 7.41 39847200 7.23
## 6 NVDA 2016-01-11 7.42 7.47 7.29 7.42 40937200 7.25
## 7 NVDA 2016-01-12 7.55 7.66 7.49 7.54 46935600 7.37
## 8 NVDA 2016-01-13 7.60 7.65 7.31 7.32 48167200 7.14
## 9 NVDA 2016-01-14 7.16 7.25 6.96 7.17 60023600 7.00
## 10 NVDA 2016-01-15 6.88 6.96 6.66 6.78 84145200 6.62
## # … with 494 more rows
####average adjusted stock price
summarise(stocks, adjusted = mean(adjusted, na.rm = TRUE))
## # A tibble: 1 × 1
## adjusted
## <dbl>
## 1 18.7
stocks
## # A tibble: 504 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-01-04 8.07 8.14 8.01 8.09 35807600 7.90
## 2 NVDA 2016-01-05 8.24 8.36 8.12 8.22 49027200 8.03
## 3 NVDA 2016-01-06 8.09 8.12 7.79 7.88 44934400 7.70
## 4 NVDA 2016-01-07 7.68 7.74 7.47 7.57 64530400 7.39
## 5 NVDA 2016-01-08 7.67 7.68 7.39 7.41 39847200 7.23
## 6 NVDA 2016-01-11 7.42 7.47 7.29 7.42 40937200 7.25
## 7 NVDA 2016-01-12 7.55 7.66 7.49 7.54 46935600 7.37
## 8 NVDA 2016-01-13 7.60 7.65 7.31 7.32 48167200 7.14
## 9 NVDA 2016-01-14 7.16 7.25 6.96 7.17 60023600 7.00
## 10 NVDA 2016-01-15 6.88 6.96 6.66 6.78 84145200 6.62
## # … with 494 more rows
#Group by stock
group_by(stocks)
## # A tibble: 504 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2016-01-04 8.07 8.14 8.01 8.09 35807600 7.90
## 2 NVDA 2016-01-05 8.24 8.36 8.12 8.22 49027200 8.03
## 3 NVDA 2016-01-06 8.09 8.12 7.79 7.88 44934400 7.70
## 4 NVDA 2016-01-07 7.68 7.74 7.47 7.57 64530400 7.39
## 5 NVDA 2016-01-08 7.67 7.68 7.39 7.41 39847200 7.23
## 6 NVDA 2016-01-11 7.42 7.47 7.29 7.42 40937200 7.25
## 7 NVDA 2016-01-12 7.55 7.66 7.49 7.54 46935600 7.37
## 8 NVDA 2016-01-13 7.60 7.65 7.31 7.32 48167200 7.14
## 9 NVDA 2016-01-14 7.16 7.25 6.96 7.17 60023600 7.00
## 10 NVDA 2016-01-15 6.88 6.96 6.66 6.78 84145200 6.62
## # … with 494 more rows
##Calculate average adjusted stock price
summarise(stocks, adjusted = mean(adjusted, na.rm = TRUE)) %>%
### Sort it
arrange(adjusted)
## # A tibble: 1 × 1
## adjusted
## <dbl>
## 1 18.7
Grouping multiple Variables
stocks %>%
group_by(symbol) %>%
summarise((count = n())) %>%
ungroup()
## # A tibble: 2 × 2
## symbol `(count = n())`
## <chr> <int>
## 1 AAPL 252
## 2 NVDA 252