【发布时间】:2018-04-12 07:16:49
【问题描述】:
我是 R 和这个网站的新手。我试图在此站点上搜索以找到解决问题的方法,但找不到。我的问题如下:
如何计算 ID 为“1”的日期与 ID 为“0”的上一个日期之间的差异。那么 ID 为“2”的日期与 ID 为“0”的上一个日期之间的差异,等等?我想将此差异作为新列“差异”添加到我的数据表中。
此外,当计算“1”或“2”ID 与“0”之间的差异时,我希望有一个名为“Performed_Date”的列显示与 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
我认为它应该是带有 ave 函数的 for 循环的东西,但我想不出可以计算它的东西。有人可以告诉我如何计算这个吗?
【问题讨论】:
标签: r date for-loop datatable difference