0

我感谢 akrun 提供下面的代码。它为我的问题提供了部分解决方案。

library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')

start_date <- '2007-01-02'
end_date <- '2007-01-05' 
col_names <- c('Open', 'High')

下面的代码获取预先指定范围内start_date的值。end_date

sample.xts[paste(start_date, end_date, sep="/"), col_names]

例如,我真正需要的是介于start_date + 5和之间的值end_date + 5

 sample.xts[paste(as.Date(start_date) + 5, as.Date(end_date) + 5, sep="/"), col_names]

问题是我有交易日,因此不仅不包括周末,还包括假期等。例如,在某些情况下,+5 只产生 3 个值,因为其他 2 个是周末。因此,我想将上述任意日历日设为as.Date. 我需要该表中接下来的 5 个值,而不是接下来的 5 个日历日。

4

1 回答 1

0

我认为这就是你想要的:

first(sample.xts[paste0(start_date,'/')], 5)
于 2015-10-20T15:48:56.087 回答