随着时间的延长,我加载了时间序列:
let ts time:ts-load "File.csv"
{{time:LogoTimeSeries TIMESTAMP,Date-2
2010-08-01 05:37:00.000,2010-08-01 18:21
2010-08-02 05:39:00.000,2010-08-02 18:19
2010-08-03 05:40:00.000,2010-08-03 18:18
2010-08-04 05:41:00.000,2010-08-04 18:17
如何在“ts”中提取第一列ts [i,1]和第二列ts [i,2]的每个元素以使用以下代码:
set start-date time:create "2013/01/01 00:00"
for i = 2 : length(ts) [
ifelse time:is-between start-date ts[i,1] ts[i,2] [....] [....]
set start-date time:plus start-date 1.0 "minutes" ]
非常感谢你的帮助。
答案 0 :(得分:2)
我认为至少有一种方法是使用
将时间序列转换为列表set tslist time:get-range ts time:create 2000-01-01 time:create 2050-01-01 "all"
其中,该范围中的第一个和第二个日期比您的时间序列中的任何TIMESTAMP更早和更晚,因为那将返回所有值。 (我想第二个日期可能只是等于或晚于系列中第二个TIMESTAMP的任何日期,因为你只需要前两个。)
然后你可以将ts [1,1]称为“项目0项目0 tslist”,将ts [1,2]称为“项目1项目0 tslist”,依此类推。我假设伪代码中的索引从1开始,而不是从零开始。)