随着时间的延长,我加载了时间序列:
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" ]
最佳答案
我认为至少有一种方法是将时间序列转换为列表的列表
set tslist time:get-range ts time:create 2000-01-01 time:create 2050-01-01 "all"
其中该范围内的第一个和第二个日期分别早于和晚于时间序列中的任何 TIMESTAMP,因为这将返回所有值。 (我猜第二个日期可以是等于或晚于该系列中第二个 TIMESTAMP 的任何日期,因为您只需要前两个。)
然后您可以将 ts[1, 1] 称为“item 0 item 0 tslist”,将 ts[1,2] 称为“item 1 item 0 tslist”,依此类推。我假设伪代码中的索引从 1 开始,而不是从 0 开始。)
关于netlogo - 如何从加载的带有时间扩展的文件中提取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572218/