如果列为NA,如何获取日期差异

时间:2015-09-16 18:39:40

标签: r

我正在尝试计算数据框df $ started和df $ done中两个日期列之间的日期之间的差异。结果放在名为df $ diff的第三列中。一些df $ diff有NA,在这些行中我想输入当前日期和df $ started之间的差异。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

将来,请遵循问题指南。

library(lubridate)
start = as.Date(c("14.01.2015", "26.03.2015"),format = "%d.%m.%Y")
end   = as.Date(c("18.01.2015", NA),format = "%d.%m.%Y")

diff = ifelse(!is.na(end),difftime(end,start,units="days"),difftime(Sys.time(),start,units="days"))
df = data.frame(start,end,diff)

View(df)


    start   end diff
1   2015-01-14  2015-01-18  4.0000
2   2015-03-26  NA  174.7846