[英]Subsetting data.table set by date range in R
我在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))
我希望能夠直接從as.Date
列中選擇日期范圍,而不使用yr
, mo
或da
列。 目前,我是mo
子集,有時非常笨重,尤其是在多年轉換的時候。 一種更優雅的方法可以讓我的生活變得更加輕松。
提前致謝!
為什么不:
testset[date>="2013-08-02" & date<="2013-11-01"]
也可以看看:
?`%between%`
像這樣工作:
testset[date %between% c("2013-08-02", "2013-11-01")]
你提到你是子集,但不清楚你是否在R中使用子集fn。
在R控制台中鍵入?子集以查看R中的subset()函數的詳細信息,其中'返回滿足條件的向量,矩陣或數據幀的子集'。 然后使用Troy上面發布的方法的一部分來選擇日期范圍
thisYear <- subset(testset, date > "2015-01-01" & date < "2015-12-31")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.