如何计算dplyr中两个日期之间的差异(以天为单位)?R



我需要计算R中两个日期之间的天数差。这两个日期在不同的列中,我只需要创建另一个名为DAY_difference的列。这是我的表格的一个简单结构:

date1           date2     days_diff
2021-09-12    2021-09-13      1

这是一个可能的解决方案;

date1 <- as.Date("2021-09-12")
date2 <- as.Date("2021-09-13")
datediff <- date2 - date1

如果你只是想把差异作为一个数字

as.numeric(datediff)

带有dplyr

library(dplyr)
df <- data.frame(date1 = c("2021-09-12","2021-09-13"),
date2 = c("2021-09-13","2021-10-14"))
df$date1 <- df$date1 %>%
as.Date()
df$date2 <- df$date2 %>%
as.Date()
df$datediff <- as.numeric(df$date2 - df$date1)

您不需要dplyr。尝试difftime()

date1 <- "2021-09-12"
date2 <- "2021-09-13"
days_diff <- as.numeric(difftime(date2, date1))
days_diff
# [1] 1

相关内容

最新更新