【发布时间】:2021-06-10 19:48:05
【问题描述】:
我想根据以下信息创建一个“结束”时间列
case<-c(3,3,3,57,57,57,57,9,9,9)
a<-c(12,15,20,12,14,15,17,14,16,19)
c<-c(25,25,25,21,21,21,21,24,24,24)
data<-data.frame(case,a,c)
case a c
1 3 12 25
2 3 15 25
3 3 20 25
4 57 12 21
5 57 14 21
6 57 15 21
7 57 17 21
8 9 14 24
9 9 16 24
10 9 19 24
c 列提供最后一个条目的结束时间。我需要通过减去下一个列的结束时间-1来创建一个列b。
所以最终的产品应该是这样的
case a b c
1 3 12 14 25
2 3 15 19 25
3 3 20 25 25
4 57 12 13 21
5 57 14 14 21
6 57 15 16 21
7 57 17 21 21
8 9 14 15 24
9 9 16 17 24
10 9 19 24 24
本质上,[column b row 1] 是 [column a row 2] - 1,按大小写。
我的第一步是 group_by(case),然后我将创建一个 d 的虚拟列,即 a-1,并尝试 match(),但我不确定如何引用不同的行。
b
数据
【问题讨论】:
-
倒数第二个b值应该是18吗?
标签: r