R:两个日期之间不能 select xts 值

R : Can't select xts values between two dates

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.

处停止

你很接近,这个有效:

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

就个人而言,我会使用:

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

或者使用这个:

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

lubridate

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