【问题标题】:Indexing dataframe by date interval按日期间隔索引数据帧
【发布时间】:2012-12-04 08:53:47
【问题描述】:

我有一个数据框,其中有一列包含 数百个日期格式的日期,例如:

as.Date(c("2011-08-13","2011-09-13","2010-06-12","2012-09-13","2010-09-13","2012-05-26","2012-07-20"))

现在我只想选择 15.03


我对接受的答案稍作修改,如下:

a <- as.Date(c("2011-08-13","2011-09-13","2010-06-12","2012-09-13","2010-09-13","2012-05-26","2012-07-20"))
lower <- as.Date("03-15",format="%m-%d")
upper <- as.Date("08-15",format="%m-%d")
a[format(a,"%m-%d") < format(upper,"%m-%d") & format(a,"%m-%d") > format(lower,"%m-%d")]
[1] "2011-08-13" "2010-06-12" "2012-05-26" "2012-07-20"

【问题讨论】:

  • 查看zooxts 获取此类数据。
  • %j 格式说明符用于 strftime,它以数字形式给出一年中的日期。唯一的问题是你必须以不同的方式处理闰年

标签: r date indexing


【解决方案1】:

base中,想法是使用函数format

a <- as.Date(c("2011-08-13","2011-09-13","2010-06-12","2012-09-13","2010-09-13","2012-05-26","2012-07-20"))
lower <- as.Date("2012-03-15")
upper <- as.Date("2012-08-15")
a[format(a,"%m-%d") < format(upper,"%m-%d") & format(a,"%m-%d") > format(lower,"%m-%d")]
[1] "2011-08-13" "2010-06-12" "2012-05-26" "2012-07-20"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 2020-12-04
    • 2020-08-30
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2017-06-23
    • 2015-01-27
    相关资源
    最近更新 更多