Import stock prices
stocks <- tq_get(c("DELL", "NVDA"),
get = "stock.prices",
from = "2024-09-04")
stocks
## # A tibble: 510 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DELL 2024-09-04 109 111. 107. 109. 8113600 107.
## 2 DELL 2024-09-05 107 108. 105. 107. 9362400 105.
## 3 DELL 2024-09-06 107. 108. 101. 102 11962600 100.
## 4 DELL 2024-09-09 107. 108. 105. 106. 18742700 104.
## 5 DELL 2024-09-10 106. 108. 105. 107. 9367400 105.
## 6 DELL 2024-09-11 107. 109. 106. 109. 9715100 107.
## 7 DELL 2024-09-12 109. 113. 109. 112. 9893500 110.
## 8 DELL 2024-09-13 112. 115. 111. 114. 7353300 112.
## 9 DELL 2024-09-16 112. 116. 112. 115. 8618900 113.
## 10 DELL 2024-09-17 118. 118. 115. 117. 9412700 115.
## # ℹ 500 more rows
Plot stock prices
stocks %>%
ggplot(aes(x = date, y = adjusted, color = symbol)) +
geom_line()

Filter Rows
stocks %>% filter(open > 105)
## # A tibble: 437 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DELL 2024-09-04 109 111. 107. 109. 8113600 107.
## 2 DELL 2024-09-05 107 108. 105. 107. 9362400 105.
## 3 DELL 2024-09-06 107. 108. 101. 102 11962600 100.
## 4 DELL 2024-09-09 107. 108. 105. 106. 18742700 104.
## 5 DELL 2024-09-10 106. 108. 105. 107. 9367400 105.
## 6 DELL 2024-09-11 107. 109. 106. 109. 9715100 107.
## 7 DELL 2024-09-12 109. 113. 109. 112. 9893500 110.
## 8 DELL 2024-09-13 112. 115. 111. 114. 7353300 112.
## 9 DELL 2024-09-16 112. 116. 112. 115. 8618900 113.
## 10 DELL 2024-09-17 118. 118. 115. 117. 9412700 115.
## # ℹ 427 more rows
Arrange Row
arrange(stocks, desc(high))
## # A tibble: 510 × 8
## symbol date open high low close volume adjusted
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NVDA 2025-08-12 183. 184. 179. 183. 145485700 183.
## 2 NVDA 2025-08-28 181. 184. 176. 180. 281787800 180.
## 3 NVDA 2025-08-13 183. 184. 179. 182. 179871700 182.
## 4 NVDA 2025-08-07 182. 184. 179. 181. 151878400 181.
## 5 NVDA 2025-08-11 182. 184. 180. 182. 138323200 182.
## 6 NVDA 2025-07-31 183. 183. 176. 178. 221685400 178.
## 7 NVDA 2025-08-08 182. 183. 180. 183. 123396700 183.
## 8 NVDA 2025-08-14 180. 183. 179. 182. 129554000 182.
## 9 NVDA 2025-08-18 181. 183. 181. 182. 132008000 182.
## 10 NVDA 2025-08-19 182. 182. 175. 176. 185229200 176.
## # ℹ 500 more rows
Select Columns
select(stocks, high, low, volume)
## # A tibble: 510 × 3
## high low volume
## <dbl> <dbl> <dbl>
## 1 111. 107. 8113600
## 2 108. 105. 9362400
## 3 108. 101. 11962600
## 4 108. 105. 18742700
## 5 108. 105. 9367400
## 6 109. 106. 9715100
## 7 113. 109. 9893500
## 8 115. 111. 7353300
## 9 116. 112. 8618900
## 10 118. 115. 9412700
## # ℹ 500 more rows
Add Columns
mutate(stocks, difference = high - low)
## # A tibble: 510 × 9
## symbol date open high low close volume adjusted difference
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DELL 2024-09-04 109 111. 107. 109. 8113600 107. 3.24
## 2 DELL 2024-09-05 107 108. 105. 107. 9362400 105. 3.17
## 3 DELL 2024-09-06 107. 108. 101. 102 11962600 100. 6.80
## 4 DELL 2024-09-09 107. 108. 105. 106. 18742700 104. 2.55
## 5 DELL 2024-09-10 106. 108. 105. 107. 9367400 105. 2.11
## 6 DELL 2024-09-11 107. 109. 106. 109. 9715100 107. 3.35
## 7 DELL 2024-09-12 109. 113. 109. 112. 9893500 110. 4.63
## 8 DELL 2024-09-13 112. 115. 111. 114. 7353300 112. 3.25
## 9 DELL 2024-09-16 112. 116. 112. 115. 8618900 113. 3.57
## 10 DELL 2024-09-17 118. 118. 115. 117. 9412700 115. 3.27
## # ℹ 500 more rows
Summarize with groups
summarize(stocks, mean(open))
## # A tibble: 1 × 1
## `mean(open)`
## <dbl>
## 1 126.