如何使用Time扩展从已加载文件中提取元素?

时间:2013-12-13 17:14:36

标签: netlogo

随着时间的延长,我加载了时间序列:

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" ]

非常感谢你的帮助。

1 个答案:

答案 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开始,而不是从零开始。)