R:不能在两个日期之间选择xts值

时间:2015-07-20 13:43:01

标签: r xts

library(PerformanceAnalytics)

获取edhec数据集

edhec['2000-12-31::2001-12-31',1] 

是我想要获得的。

到目前为止,我已经尝试过:

date_begin_test <- as.Date("2000-12-31")
date_end_test <- as.Date("2001-12-31")

我试过as.POSIXct以及普通字符串

edhec[date_begin_test::date_end_test,1]
edhec[date_begin_test/date_end_test,1]
edhec[paste("'",date_begin_test,'::',date_end_test,"'",sep=''),1]
edhec[noquote(paste("'",date_begin_test,'::',date_end_test,"'",sep='')),1]

最后一个是最令人费解的。它从头开始给我每个值,并在date_end_test停止。

3 个答案:

答案 0 :(得分:2)

你很亲密,这很有效:

edhec[paste(date_begin_test, '::', date_end_test, sep = ""), 1]

就个人而言,我会使用:

edhec[paste(date_begin_test, date_end_test, sep="::"), 1]

答案 1 :(得分:0)

或者使用它:

x.subset=seq.Date(date_begin_test+1,date_end_test+1,by="month")-1
edhec[as.character(x.subset),1]

答案 2 :(得分:0)

lubridate

略有不同的方法
require(lubridate)
edhec[index(edhec) %within% (ymd("2000-12-31") %--% ymd("2001-12-31")), 1]