如何"自动"根据日期时间确定值?

时间:2015-06-09 11:41:21

标签: r

鉴于数据:

      date <- seq(as.Date("2014-01-01"), as.Date("2014-12-31"), by = "days")
      a<-seq(1,365,1)
      b<- seq(1,365,1)

     df<-data.frame(date,a,b)

我想从a或b中提取/子集数据而不是通过确定日期,例如:

   subset<-subset(df, date >= "2014-02-01" & date <= "2014-04-13") # about 69 days

而是:

       subset<-subset(df, date= "today"-69 & date= "today")

每次我运行R-Script时,它会在今天和69天前生成一个子集。

1 个答案:

答案 0 :(得分:1)

使用Sys.Date()

subset(df, date >= Sys.Date()-69 & date <= Sys.Date())
[1] date a    b   
<0 rows> (or 0-length row.names)

注意:

  1. 在您的示例数据中,您当然没有过去69天的数据。
  2. 这是系统相关的,所以如果由于某种原因你曾经在一台不知道它是哪一天的电脑上运行它,它可能会给你带来麻烦。