按R中的日期范围设置的子集数据表

按R中的日期范围设置的子集数据表,r,data.table,subset,date-range,slice,R,Data.table,Subset,Date Range,Slice,我在data.table中有一个很大的数据集,我想按日期范围将其子集。我的数据集如下所示: testset <- data.table(date=as.Date(c("2013-07-02","2013-08-03","2013-09-04", "2013-10-05","2013-11-06")), yr = c(2013,2013,2013,2013,2013),

我在data.table中有一个很大的数据集,我想按日期范围将其子集。我的数据集如下所示:

testset <- data.table(date=as.Date(c("2013-07-02","2013-08-03","2013-09-04",
                                     "2013-10-05","2013-11-06")), 
                      yr = c(2013,2013,2013,2013,2013), 
                      mo = c(07,08,09,10,11),
                      da = c(02,03,04,05,06), 
                      plant = LETTERS[1:5], 
                      product = as.factor(letters[26:22]), 
                      rating = runif(25))
testset为什么不:

testset[date>="2013-08-02" & date<="2013-11-01"]
testset[date>=“2013-08-02”&date另见:

?`%between%`
工作原理如下:

testset[date %between% c("2013-08-02", "2013-11-01")]

您提到您正在进行子集设置,但不清楚您是否正在使用R中的子集fn

在R控制台中键入?subset以查看R中subset()函数的详细信息,该函数“返回满足条件的向量、矩阵或数据帧的子集”。然后使用Troy在上面发布的部分方法选择日期范围

thisYear <- subset(testset, date > "2015-01-01" & date < "2015-12-31")
本年度“2015-01-01”和日期“2015-12-31”)

good point@scottyaz-向其他人澄清%between%是data.table包的一部分。包加载时请参见?between。因此,如果您选择DT路线,那么这不是一个太大的错误。您好,我得到了以下错误:在Ops.factor(日期,“2015-01-01”):“>”对于factors来说没有意义