【问题标题】:Sum a sequence of dates to a dates vector in r将日期序列与 r 中的日期向量相加
【发布时间】:2021-11-25 21:20:59
【问题描述】:

您好,感谢您阅读我 我正在处理一系列日期,我想将一些天数加到一个日期序列中,但我得到了错误的输出。总和仅适用于 1 个日期,例如:

fechas <- c("2017-01-03", "2017-01-04", "2017-01-05")
as.Date(tail(fechas, 1)) %m+% days(2)

[1] "2017-01-07"

但预期的结果是:

[1] "2017-01-03", "2017-01-04", "2017-01-05", "2017-01-06", "2017-01-07"

有没有办法获得正确的结果?我什么都没找到:(

【问题讨论】:

    标签: r date lubridate


    【解决方案1】:

    您必须将结果分配回最后一个向量元素。

    library(lubridate)
    
    fechas <- c("2017-01-03", "2017-01-04", "2017-01-05")
    fechas <- as.Date(fechas)
    fechas[length(fechas)] <- fechas[length(fechas)] %m+% days(2)
    fechas
    #[1] "2017-01-03" "2017-01-04" "2017-01-07"
    

    【讨论】:

      【解决方案2】:

      或者可以使用replace

       replace(as.Date(fechas), length(fechas), as.Date(tail(fechas, 1)) %m+% days(2))
      [1] "2017-01-03" "2017-01-04" "2017-01-07"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        • 2014-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多