Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用ID减去一列中的日期_R_Date_For Loop_Datatable_Difference - Fatal编程技术网

R 用ID减去一列中的日期

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

我是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
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循环,但我想不出可以计算它的东西。有人能告诉我怎么计算吗

好了

数据:


非常感谢,它正是我想要的:)