如何根据带有天数的列计算日期?

时间:2021-04-28 08:32:18

标签: r dataframe date

考虑具有以下格式的数据集:

<头>
开始日期 NbOfDays 结束日期
2018-09-23 08:00:00 65 不适用
2019-10-08 08:00:00 30 2019-11-08 08:00:00

如何根据 EndDate 变量计算缺失值时的 NbOfDays

预期输出

<头>
开始日期 NbOfDays 结束日期
2018-09-23 08:00:00 65 2018-11-28 08:00:00
2019-10-08 08:00:00 30 2019-11-08 08:00:00

2 个答案:

答案 0 :(得分:0)

library(tidyverse)
library(lubridate)

df
            StartDate NbOfDays             EndDate
1 2018-09-23 08:00:00       65 2018-11-28 08:00:00
2 2019-10-08 08:00:00       30 2018-11-28 08:00:00

df %>% 

  mutate(StartDate = ymd_hms(StartDate)) %>%
  mutate(EndDate = StartDate + days(NbOfDays))

            StartDate NbOfDays             EndDate
1 2018-09-23 08:00:00       65 2018-11-27 08:00:00
2 2019-10-08 08:00:00       30 2019-11-07 08:00:00

答案 1 :(得分:0)

base 中,您可以通过乘以 24 小时 60 分 60 秒来添加天数。

as.POSIXct("2018-09-23 08:00:00", "UTC") + 65 * 24*60*60
#[1] "2018-11-27 08:00:00 UTC"

看起来你必须增加 1 天才能达到你想要的结果。