过滤差异时间在5天内的日期

时间:2018-11-26 08:44:15

标签: r dataframe datediff

我的数据框看起来像这样

    df <- read.table(text="
                 id       date
    1            1        2016-12-01 
    2            2        2017-01-02 
    3            4        2017-01-02 
    4            6        2017-01-02 
    5            7        2017-01-02 
    6            9        2017-01-02
    7            10       2017-08-02
", header=TRUE)

我需要过滤difftime等于或少于五天的日期。在上面的示例中,其ID应该在2-9之间

1 个答案:

答案 0 :(得分:0)

library(tidyverse)
library(lubridate)

df$date <- ymd(df$date)

df$flag <- ifelse(difftime(lead(df$date), df$date, units = c("days")) >=5,1,0)

df[is.na(df)] <- 0

这可能是您要寻找的答案。