从日期数据类型列中减去整数数据类型列

时间:2019-11-12 21:49:05

标签: r

我有一个数据框,其中一列是日期数据类型(告诉您购买了要提供的年-月-日-时-分-秒-秒),另一列显示了我所有出价的有效性(对于示例1-3-7-30等天)。我如何在新列中找到所有购买的报价到期的日期?

1 个答案:

答案 0 :(得分:0)

这是您想要的模拟示例:

library(dplyr)
x <- data.frame(
  date = seq.POSIXt(as.POSIXct("1970-01-01 00:00:00"),
                    as.POSIXct("1970-09-01 00:00:00"), 
                    by = "month"),
  validity = c(30,30,999,30,30,30,30,30,7))
y <- x %>% 
  mutate(expire = date + validity*60*60*24)

输出:

> y
        date validity              expire
1 1970-01-01       30 1970-01-31 00:00:00
2 1970-02-01       30 1970-03-03 00:00:00
3 1970-03-01      999 1972-11-23 23:00:00
4 1970-04-01       30 1970-05-01 00:00:00
5 1970-05-01       30 1970-05-31 00:00:00
6 1970-06-01       30 1970-07-01 00:00:00
7 1970-07-01       30 1970-07-31 00:00:00
8 1970-08-01       30 1970-08-31 00:00:00
9 1970-09-01        7 1970-09-08 00:00:00

这是您期望得到的,但是在这里我不确定您提供的999是实际天数还是缺失值。由于我们没有您的数据,因此我们假设其为POSIXct格式,如果没有,则将其转换为POSIXct并执行上述操作。