Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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 如何使用data.table获得时间序列的有效范围?_R_Data.table - Fatal编程技术网

R 如何使用data.table获得时间序列的有效范围?

R 如何使用data.table获得时间序列的有效范围?,r,data.table,R,Data.table,鉴于这些数据: DATE_ID FRACTION 20160922 0 20160929 0 20161006 0 20161013 0 20161020 0 20161027 0.07 20161103 0.22 20161110 0.5 20161117 0.8 20161124 0.95 20161201 1 20161208 1 20161215 1 20170105 1 20170112 1 20

鉴于这些数据:

DATE_ID FRACTION
20160922    0
20160929    0
20161006    0
20161013    0
20161020    0
20161027    0.07
20161103    0.22
20161110    0.5
20161117    0.8
20161124    0.95
20161201    1
20161208    1
20161215    1
20170105    1
20170112    1
20170119    1
根据定义,有效范围是具有最小分数的最大日期ID与具有最大分数的最小日期ID之间的间隔:

20161020    0
20161027    0.07
20161103    0.22
20161110    0.5
20161117    0.8
20161124    0.95
20161201    1
我只想使用data.table语法/内部结构来实现这一点。 已经尝试过以下方法:

# Retrieve the upper bound of the interval
t[t[FRACTION == 1, .I[which.min(DATE_ID)]]]

但它返回相对索引。我这里遗漏了一些明显的东西。

你可以得到上界和下界,如下所示:

库(data.table)
DT 2:2016-10-27 0.07
#> 3: 2016-11-03     0.22
#> 4: 2016-11-10     0.50
#> 5: 2016-11-17     0.80
#> 6: 2016-11-24     0.95
#> 7: 2016-12-01     1.00

这只解决了部分问题,不返回图示结果。您可以使用此边界筛选表。不起作用?