R 用ID减去一列中的日期
我是R和这个网站的新手。我试图在这个网站上搜索,以找到我的问题的解决方案,但我找不到它。我的问题如下:R 用ID减去一列中的日期,r,date,for-loop,datatable,difference,R,Date,For Loop,Datatable,Difference,我是R和这个网站的新手。我试图在这个网站上搜索,以找到我的问题的解决方案,但我找不到它。我的问题如下: Registration Date ID CBI TBI A118 7-3-2017 0 NA NA A118 8-3-2017 0 NA NA A118 9-3-2017 1 5 10 A118 10-3-2017 0 NA NA A1
Registration Date ID CBI TBI
A118 7-3-2017 0 NA NA
A118 8-3-2017 0 NA NA
A118 9-3-2017 1 5 10
A118 10-3-2017 0 NA NA
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
Registration Date ID CBI TBI Difference Performed_Date
A118 7-3-2017 0 NA NA 1 9-3-2017
A118 8-3-2017 0 NA NA 1 11-3-2017
A118 9-3-2017 1 5 10 2 12-3-2017
A118 10-3-2017 0 NA NA 1 14-3-2017
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
如何计算ID为“1”的日期与ID为“0”的前一个日期之间的差值。然后计算ID为“2”的日期与ID为“0”的前一个日期之间的差值,依此类推?我想将此差异作为新列“差异”添加到我的datatable中
此外,我希望有一个名为“Performed_Date”的列,当计算“1”或“2”ID与“0”ID之间的差异时,显示与ID(1、2等)相对应的日期
此外,如果ID(例如ID“2”和ID“3”)之间没有“0”ID,则应计算最高ID(本例中为“3”)与上一个ID为“0”的日期之间的差值
我的数据表如下所示:
Registration Date ID CBI TBI
A118 7-3-2017 0 NA NA
A118 8-3-2017 0 NA NA
A118 9-3-2017 1 5 10
A118 10-3-2017 0 NA NA
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
Registration Date ID CBI TBI Difference Performed_Date
A118 7-3-2017 0 NA NA 1 9-3-2017
A118 8-3-2017 0 NA NA 1 11-3-2017
A118 9-3-2017 1 5 10 2 12-3-2017
A118 10-3-2017 0 NA NA 1 14-3-2017
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
我的预期输出如下:
Registration Date ID CBI TBI
A118 7-3-2017 0 NA NA
A118 8-3-2017 0 NA NA
A118 9-3-2017 1 5 10
A118 10-3-2017 0 NA NA
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
Registration Date ID CBI TBI Difference Performed_Date
A118 7-3-2017 0 NA NA 1 9-3-2017
A118 8-3-2017 0 NA NA 1 11-3-2017
A118 9-3-2017 1 5 10 2 12-3-2017
A118 10-3-2017 0 NA NA 1 14-3-2017
A118 11-3-2017 2 8 16
A118 12-3-2017 3 9 18
A118 13-3-2017 0 NA NA
A118 14-3-2017 4 5 10
我认为它应该是一个ave函数的for循环,但我想不出可以计算它的东西。有人能告诉我怎么计算吗 好了
数据:
非常感谢,它正是我想要的:)