无论年份如何,都找到最接近日期的月日

千香

我有以下日期向量(长度= 51863)

dates_sim <- seq(from=as.Date("1871-01-01", format = "%Y%m%d"), to=as.Date("2012-12-31", format = "%Y%m%d"), by="days")

还有一个日期数据框,具有125行和51863列。对于向量的每个日期,我的数据框中都有125个对应的日期。

我将举一个只有一个日期的示例:

对于日期“ 1871-01-01”,我有以下对应的日期:

[1] "2007-12-23" "1964-01-01" "1995-01-03" "1997-02-01" "1993-03-28" "1978-01-21" "1986-12-10" "1982-02-20" "1993-11-16" "1973-12-10" "1964-11-30" "1997-10-29"
[13] "1999-03-15" "1993-01-02" "1993-02-25" "1985-02-19" "2006-03-13" "1976-03-10" "1976-11-15" "1986-03-11" "1975-02-23" "1962-01-31" "1959-11-08" "1979-02-18"
[25] "2003-02-08" "1983-12-13" "2006-03-13" "1984-02-16" "1997-02-01" "1976-03-20" "2000-01-12" "1976-11-15" "1968-12-12" "1979-02-18" "1976-03-10" "1975-01-02"
[37] "1998-11-23" "1979-01-15" "1991-01-28" "1986-12-10" "1959-11-08" "1966-01-06" "1970-12-16" "1995-01-05" "1959-03-13" "1966-03-05" "1971-03-01" "1975-02-22"
[49] "1962-01-30" "1958-11-12" "1964-01-01" "2000-01-10" "1982-02-24" "2003-02-11" "1993-02-24" "1962-01-30" "1976-03-20" "1989-01-20" "1975-01-02" "2002-12-03"
[61] "2003-02-08" "1993-01-01" "1973-12-10" "1998-12-08" "1993-03-28" "1994-12-24" "1983-12-13" "1964-01-18" "1987-01-18" "1959-02-09" "1998-11-24" "1983-12-07"
[73] "2006-03-13" "1972-12-20" "2007-12-23" "1984-02-17" "1959-03-13" "1964-01-01" "1985-03-08" "1973-01-01" "2003-12-31" "1994-12-24" "1972-01-18" "1995-01-14"
[85] "1998-12-07" "1966-03-05" "2007-11-17" "1983-12-07" "1986-03-13" "1964-01-18" "1972-02-28" "1992-02-26" "1992-12-31" "1976-03-10" "1974-11-06" "1995-01-05"
[97] "2003-02-08" "1979-02-18" "1969-12-19" "1969-12-13" "1959-02-09" "1976-03-20" "1986-03-11" "1998-11-22" "1982-02-20" "1969-12-20" "1966-01-09" "1979-02-19"
[109] "1981-02-25" "1984-02-18" "1982-02-19" "1966-01-05" "1987-01-18" "1991-11-24" "1998-01-21" "1983-03-02" "1979-02-18" "1984-01-10" "1984-02-17" "1962-01-31"
[121] "2002-11-05" "1974-03-06" "1971-03-01" "2002-01-14" "2000-01-11"

在这125个日期中,无论年份如何,我都想找到最接近“ 1871-01-01”的20个日期。因此,实际上我只想找到20个日期,其中“月日”最接近“ 01-01”。

为此,我将日期转换为“一年中的天”,因此我的125个对应日期变为:

[1] "357" "001" "003" "032" "087" "021" "344" "051" "320" "344" "335" "302" "074" "002" "056" "050" "072" "070" "320" "070" "054" "031" "312" "049" "039" "347"
[27] "072" "047" "032" "080" "012" "320" "347" "049" "070" "002" "327" "015" "028" "344" "312" "006" "350" "005" "072" "064" "060" "053" "030" "316" "001" "010"
[53] "055" "042" "055" "030" "080" "020" "002" "337" "039" "001" "344" "342" "087" "358" "347" "018" "018" "040" "328" "341" "072" "355" "357" "048" "072" "001"
[79] "067" "001" "365" "358" "018" "014" "341" "064" "321" "341" "072" "018" "059" "057" "366" "070" "310" "005" "039" "049" "353" "347" "040" "080" "070" "326"
[105] "051" "354" "009" "050" "056" "049" "050" "005" "018" "328" "021" "061" "049" "010" "048" "031" "309" "065" "060" "014" "011"

我可以看一下此向量与数字01(对于01-01)之间的区别。问题是,对于12-31天,我得到的数字是“ 365”,而当我进行差值时,我得到的是“ 364”,而“ 12-31”是最接近“ 01-01”的日期之一。

如何查找最接近“ 01-01”的20个日期,并考虑到12月是最接近1月的月份之一,而7月又是最接近的月份?

尼古拉

假设这x是您的“目标日期”,并且y是您要从中查找最接近日期(x定义为“关闭”)的日期向量我建议这样的事情:

daysDiff<-abs(as.POSIXlt(x)$yday-as.POSIXlt(y)$yday)
which.min(pmin(daysDiff,365-daysDiff))

当然,这不会考虑leap年。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按忽略年份的最接近日期对NSFetchedResultsController排序

来自分类Dev

如何获取PostgreSQL中特定行的最接近日期

来自分类Dev

给定日期和星期几,找到将来的最接近日期

来自分类Dev

在groupby数据框中找到给定日期的最接近日期(Python)

来自分类Dev

查找工作日缺少的条目,并用最接近日期的值填充行

来自分类Dev

R:最接近日期的匹配(效率问题)

来自分类Dev

SQL Server 查找最接近日期的班次开始(时间)

来自分类Dev

从最接近日期的对象获取标题,django 模型

来自分类Dev

如何找到最接近的<i>?

来自分类Dev

如何找到最接近的元音?

来自分类Dev

日期功能可确定给定日期和日期的最接近日期

来自分类Dev

在R中找到特定年份的最接近值

来自分类Dev

如何在不指定年份的情况下找到下一个最近的日期(月/日/时间)

来自分类Dev

获取一组记录与给定日期的最接近日期

来自分类Dev

如何显示最接近所选日期的日期

来自分类Dev

如何在没有子查询的情况下获得与最近日期行最接近的每一行日期字段的TIMEDIFF?

来自分类Dev

如何找到最接近值列表的值?

来自分类Dev

如何找到最接近按钮的动作属性?

来自分类Dev

如何找到最接近原点的坐标?

来自分类Dev

如何找到最接近内部文本的标签

来自分类Dev

VBA如何找到最接近的号码

来自分类Dev

如何找到最接近相机的物体?

来自分类Dev

如何找到最接近输入的标签?

来自分类Dev

如何在左侧找到最接近的值

来自分类Dev

带有嵌套IF语句的Excel MIN-尝试ID日期最接近日期后30天的日期

来自分类Dev

jQuery找到最接近的

来自分类Dev

找到最接近的向量

来自分类Dev

从字符串中找到最接近的日期

来自分类Dev

使用谷歌地球引擎在列表中找到最接近的日期

Related 相关文章

  1. 1

    按忽略年份的最接近日期对NSFetchedResultsController排序

  2. 2

    如何获取PostgreSQL中特定行的最接近日期

  3. 3

    给定日期和星期几,找到将来的最接近日期

  4. 4

    在groupby数据框中找到给定日期的最接近日期(Python)

  5. 5

    查找工作日缺少的条目,并用最接近日期的值填充行

  6. 6

    R:最接近日期的匹配(效率问题)

  7. 7

    SQL Server 查找最接近日期的班次开始(时间)

  8. 8

    从最接近日期的对象获取标题,django 模型

  9. 9

    如何找到最接近的<i>?

  10. 10

    如何找到最接近的元音?

  11. 11

    日期功能可确定给定日期和日期的最接近日期

  12. 12

    在R中找到特定年份的最接近值

  13. 13

    如何在不指定年份的情况下找到下一个最近的日期(月/日/时间)

  14. 14

    获取一组记录与给定日期的最接近日期

  15. 15

    如何显示最接近所选日期的日期

  16. 16

    如何在没有子查询的情况下获得与最近日期行最接近的每一行日期字段的TIMEDIFF?

  17. 17

    如何找到最接近值列表的值?

  18. 18

    如何找到最接近按钮的动作属性?

  19. 19

    如何找到最接近原点的坐标?

  20. 20

    如何找到最接近内部文本的标签

  21. 21

    VBA如何找到最接近的号码

  22. 22

    如何找到最接近相机的物体?

  23. 23

    如何找到最接近输入的标签?

  24. 24

    如何在左侧找到最接近的值

  25. 25

    带有嵌套IF语句的Excel MIN-尝试ID日期最接近日期后30天的日期

  26. 26

    jQuery找到最接近的

  27. 27

    找到最接近的向量

  28. 28

    从字符串中找到最接近的日期

  29. 29

    使用谷歌地球引擎在列表中找到最接近的日期

热门标签

归档