【发布时间】:2019-06-12 09:25:08
【问题描述】:
我的数据框如下所示:
dataframe <- read.table(text="
id send paid
1 2013-01-25 NA
2 2013-02-21 2013-02-23
2 2013-02-21 2013-02-25
2 2013-02-21 2013-02-28
3 2013-03-01 2013-03-02
3 2013-03-01 2013-03-03
4 2013-06-23 2013-05-03
", header=TRUE)
我想做的是在dplyr 中为每个id 创建新的列结果,这将计算上面的行,其中发送实际id 和paid 日期在此id 之上的日期之间的差异是不到 120 天。
换句话说,上面没有id 1 的行,因此结果将为0,id 2 的result 应该为0,因为上面的值为NA。 id 3 的结果将是 3,因为 2013-03-01 和 (2013-02-23, 2013-02-25, 2013-02-28) 之间的差异小于 120 天。 id 4 的结果应为 4,因为 2013-06-23 之间的日期差小于 120 天(2013-03-03、2013-03-02、2013-02-28、2013-02-25)。
result <- read.table(text="
id send paid result
1 2013-01-25 NA 0
2 2013-02-21 2013-02-23 0
2 2013-02-21 2013-02-25 0
2 2013-02-21 2013-02-28 0
3 2013-03-01 2013-03-02 3
3 2013-03-01 2013-03-03 3
4 2013-06-23 2013-05-03 4
", header=TRUE)
【问题讨论】:
-
到目前为止你尝试了什么?