我正在处理 tsibbledata 包中的 gafa_stock 数据框。我想找到数据框中四只股票中每只股票的最高收盘价。由于数据框有四只股票,我想得到一个有四行的表格,每行给我股票的最大值。我在这里使用说明:提取数据帧中每个组内的最大值并编写以下代码:
gafa_stock %>%
group_by(Symbol) %>%
summarise(maximum = max(Close))
gafa_stock 数据框看起来像这样
str(gafa_stock) 有这些结果
str(gafa_stock)
tsibble [5,032 x 8] (S3: tbl_ts/tbl_df/tbl/data.frame)
$ Symbol : chr [1:5032] "AAPL" "AAPL" "AAPL" "AAPL" ...
$ Date : Date[1:5032], format: "2014-01-02" "2014-01-03" "2014-01-06" ...
$ Open : num [1:5032] 79.4 79 76.8 77.8 77 ...
$ High : num [1:5032] 79.6 79.1 78.1 78 77.9 ...
$ Low : num [1:5032] 78.9 77.2 76.2 76.8 77 ...
$ Close : num [1:5032] 79 77.3 77.7 77.1 77.6 ...
$ Adj_Close: num [1:5032] 67 65.5 65.9 65.4 65.8 ...
$ Volume : num [1:5032] 5.87e+07 9.81e+07 1.03e+08 7.93e+07 6.46e+07 ...
- attr(*, "key")= tibble [4 x 2] (S3: tbl_df/tbl/data.frame)
..$ Symbol: chr [1:4] "AAPL" "AMZN" "FB" "GOOG"
..$ .rows : list<int> [1:4]
.. ..$ : int [1:1258] 1 2 3 4 5 6 7 8 9 10 ...
.. ..$ : int [1:1258] 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 ...
.. ..$ : int [1:1258] 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 ...
.. ..$ : int [1:1258] 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 ...
.. ..@ ptype: int(0)
..- attr(*, ".drop")= logi TRUE
- attr(*, "index")= chr "Date"
..- attr(*, "ordered")= logi TRUE
- attr(*, "index2")= chr "Date"
- attr(*, "interval")= interval [1:1] 1D
..@ .regular: logi TRUE
而且,我的最终结果看起来像这样
此命令创建一个包含所有 5032 行和三列的表 - 代码、日期和标记为最大值的收盘价。我究竟做错了什么?这是因为 ts 或 tsibble 数据帧的一些特殊特性吗?