library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library("tinytex")
library("dplyr")
stock_df <- read.csv('stock_df.csv')
str(stock_df)
## 'data.frame': 5 obs. of 106 variables:
## $ company : chr "Amazon" "Apple" "Facebook" "Google" ...
## $ X2019_week1 : num 1847.8 73.4 205.2 1337 157.7
## $ X2019_week2 : num 1640.6 38.1 143.8 1057.2 102.8
## $ X2019_week3 : num 1696.2 39.2 150 1098.3 107.7
## $ X2019_week4 : num 1670.6 39.4 149 1091 107.2
## $ X2019_week5 : num 1626.2 41.6 165.7 1110.8 102.8
## $ X2019_week6 : num 1588.2 42.6 167.3 1095.1 105.7
## $ X2019_week7 : num 1607.9 42.6 162.5 1113.7 108.2
## $ X2019_week8 : num 1631.6 43.2 161.9 1110.4 111
## $ X2019_week9 : num 1671.7 43.7 162.3 1141 112.5
## $ X2019_week10: num 1620.8 43.2 169.6 1142.3 110.5
## $ X2019_week11: num 1712.4 46.5 166 1184.5 115.9
## $ X2019_week12: num 1764.8 47.8 164.3 1205.5 117.1
## $ X2019_week13: num 1780.8 47.5 166.7 1173.3 117.9
## $ X2019_week14: num 1837.3 49.2 175.7 1207.2 119.9
## $ X2019_week15: num 1843.1 49.7 179.1 1217.9 120.9
## $ X2019_week16: num 1862 51 178 1236 123
## $ X2019_week17: num 1950.6 51.1 191.5 1272.2 129.9
## $ X2019_week18: num 1962.5 52.9 195.5 1185.4 128.9
## $ X2019_week19: num 1890 49.3 188.3 1164.3 127.1
## $ X2019_week20: num 1869 47.2 185.3 1162.3 128.1
## $ X2019_week21: num 1823.3 44.7 181.1 1133.5 126.2
## $ X2019_week22: num 1775.1 43.8 177.5 1103.6 123.7
## $ X2019_week23: num 1804 47.5 173.4 1066 131.4
## $ X2019_week24: num 1869.7 48.2 181.3 1085.3 132.4
## $ X2019_week25: num 1911.3 49.7 191.1 1121.9 137
## $ X2019_week26: num 1893.6 49.5 193 1080.9 134
## $ X2019_week27: num 1942.9 51.1 196.4 1131.6 137.1
## $ X2019_week28: num 2011 50.8 204.9 1144.9 138.9
## $ X2019_week29: num 1964.5 50.6 198.4 1130.1 136.6
## $ X2019_week30: num 1943.1 51.9 199.8 1250.4 141.3
## $ X2019_week31: num 1823 51 189 1194 137
## $ X2019_week32: num 1807.6 50.2 187.9 1188 137.7
## $ X2019_week33: num 1792.6 51.6 183.7 1177.6 136.1
## $ X2019_week34: num 1749.6 50.7 177.8 1151.3 133.4
## $ X2019_week35: num 1776.3 52.2 185.7 1188.1 137.9
## $ X2019_week36: num 1833.5 53.3 187.5 1204.9 139.1
## $ X2019_week37: num 1839.3 54.7 187.2 1239.6 137.3
## $ X2019_week38: num 1794.2 54.4 189.9 1229.9 139.4
## $ X2019_week39: num 1725.4 54.7 177.1 1225.1 137.7
## $ X2019_week40: num 1739.7 56.8 180.4 1209 138.1
## $ X2019_week41: num 1731.9 59.1 184.2 1215.4 139.7
## $ X2019_week42: num 1757.5 59.1 185.9 1245.5 137.4
## $ X2019_week43: num 1761.3 61.6 187.9 1265.1 140.7
## $ X2019_week44: num 1791 64 194 1274 144
## $ X2019_week45: num 1786 65 191 1311 146
## $ X2019_week46: num 1739.5 66.4 195.1 1334.9 150
## $ X2019_week47: num 1745.7 65.4 198.8 1295.3 149.6
## $ X2019_week48: num 1800.8 66.8 201.6 1305 151.4
## $ X2019_week49: num 1751.6 67.7 201.1 1340.6 151.8
## $ X2019_week50: num 1760.9 68.8 194.1 1347.8 154.5
## $ X2019_week51: num 1786.5 69.9 206.3 1349.6 157.4
## $ X2019_week52: num 1869.8 72.4 208.1 1351.9 159
## $ X2020_week1 : num 1875 74.4 208.7 1360.7 158.6
## $ X2020_week2 : num 1883.2 77.6 218.1 1429.7 161.3
## $ X2020_week3 : num 1864.7 79.7 222.1 1480.4 167.1
## $ X2020_week4 : num 1861.6 79.6 217.9 1466.7 165
## $ X2020_week5 : num 2008.7 77.4 201.9 1434.2 170.2
## $ X2020_week6 : num 2079 80 212 1479 184
## $ X2020_week7 : num 2134.9 81.2 214.2 1520.7 185.4
## $ X2020_week8 : num 2096 78.3 210.2 1485.1 178.6
## $ X2020_week9 : num 1883.8 68.3 192.5 1339.3 162
## $ X2020_week10: num 1901.1 72.3 181.1 1298.4 161.6
## $ X2020_week11: num 1785 69.5 170.3 1219.7 158.8
## $ X2020_week12: num 1846.1 57.3 149.7 1072.3 137.4
## $ X2020_week13: num 1900.1 61.9 156.8 1110.7 149.7
## $ X2020_week14: num 1906.6 60.4 154.2 1097.9 153.8
## $ X2020_week15: num 2043 67 175 1211 165
## $ X2020_week16: num 2375 70.7 179.2 1283.2 178.6
## $ X2020_week17: num 2410.2 70.7 190.1 1279.3 174.6
## $ X2020_week18: num 2286 72.3 202.3 1320.6 174.6
## $ X2020_week19: num 2379.6 77.5 212.4 1388.4 184.7
## $ X2020_week20: num 2409.8 76.9 210.9 1373.2 183.2
## $ X2020_week21: num 2436.9 79.7 234.9 1410.4 183.5
## $ X2020_week22: num 2442.4 79.5 225.1 1428.9 183.2
## $ X2020_week23: num 2483 82.9 230.8 1438.4 187.2
## $ X2020_week24: num 2545 84.7 228.6 1413.2 187.7
## $ X2020_week25: num 2675 87.4 238.8 1431.7 195.1
## $ X2020_week26: num 2692.9 88.4 216.1 1359.9 196.3
## $ X2020_week27: num 2890 91 233 1465 206
## $ X2020_week28: num 3200 95.9 245.1 1541.7 213.7
## $ X2020_week29: num 2962 96.3 242 1515.6 202.9
## $ X2020_week30: num 3008.9 92.6 230.7 1511.9 201.3
## $ X2020_week31: num 3165 106 254 1483 205
## $ X2020_week32: num 3167 111 268 1494 212
## $ X2020_week33: num 3148 115 261 1508 209
## $ X2020_week34: num 3285 124 267 1580 213
## $ X2020_week35: num 3402 125 294 1644 229
## $ X2020_week36: num 3295 121 283 1591 214
## $ X2020_week37: num 3116 112 267 1521 204
## $ X2020_week38: num 2955 107 253 1460 200
## $ X2020_week39: num 3095 112 255 1445 208
## $ X2020_week40: num 3125 113 260 1458 206
## $ X2020_week41: num 3287 117 264 1515 216
## $ X2020_week42: num 3273 119 266 1573 220
## $ X2020_week43: num 3204 115 285 1641 216
## $ X2020_week44: num 3036 109 263 1621 202
## $ X2020_week45: num 3311 119 293 1762 224
## $ X2020_week46: num 3129 119 277 1777 217
## [list output truncated]
stock_df_long <- stock_df %>%
pivot_longer(cols = !company,
names_to = c("year", "week"),
names_sep = "_week",
names_transform = list(year = as.integer, week = as.integer),
values_to = "price")
## Warning in f(names[[col]]): NAs introduced by coercion
head(stock_df_long)
## # A tibble: 6 × 4
## company year week price
## <chr> <int> <int> <dbl>
## 1 Amazon NA 1 1848.
## 2 Amazon NA 2 1641.
## 3 Amazon NA 3 1696.
## 4 Amazon NA 4 1671.
## 5 Amazon NA 5 1626.
## 6 Amazon NA 6 1588.