【发布时间】:2015-10-23 22:48:03
【问题描述】:
我正在尝试调查某些特定日期前后股价波动的表现。所以我希望能够在给定日期之前和之后选择 n 个点。例如,如果我有以下系列:
1989-09-25 344.23
1989-09-26 344.33
1989-09-27 345.10
1989-09-28 348.60
1989-09-29 349.15
1989-10-02 350.87
1989-10-03 354.71
1989-10-04 356.94
1989-10-05 356.97
1989-10-06 358.78
1989-10-09 359.80
我感兴趣的日期是 1989 年 9 月 29 日,范围为 4 天,该函数将返回一个矩阵或 xts 对象:
1989-09-25 344.23
1989-09-26 344.33
1989-09-27 345.10
1989-09-28 348.60
**1989-09-29 349.15**
1989-10-02 350.87
1989-10-03 354.71
1989-10-04 356.94
1989-10-05 356.97
是否有任何我可以使用的软件包或几行代码可以解决问题?
理想情况下,我将有一个日期向量,该函数将返回一个矩阵或 xts 对象,其中包含 n 列(即日期向量中的每个日期一列),每列 2 x n + 1 个观察值(所以 9 in上面的例子,即 4 * 2 + 所选日期).....
欢迎任何帮助/指针。
【问题讨论】:
-
这是矩阵还是
xts对象? -
我的数据可以以 xts 或矩阵的形式出现,不管怎样让操作更容易......
-
你通常不需要任何(额外的)包来解决这样的问题,因为日期在 R 中是可比较的。因此,它将沿着
x[x[,1] >= date1 & x[,1] <= date2] -
在你的代码中 date1 和 date2 是我展示的第二个系列的开始和结束日期......我的问题是我事先不知道这些日期是什么......股票价格仅存在于工作日,周末或节假日不存在。所以我不能将 date1/date 2 定义为我的初始日期 +/- 日期 1 或日期 2 可能是星期六、星期日或银行假日的点数....) .Basically 我想要的只是在我的初始系列中指定一个日期和我想要在此日期之前和之后的点数....如果这有任何意义