我感谢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个日历日。
答案 0 :(得分:0)
我认为这就是你想要的:
first(sample.xts[paste0(start_date,'/')], 5)