我的数据框看起来像这样
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之间
答案 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
这可能是您要寻找的答案。