使用各种条件对列表进行子集化我有一个根据 5 分钟数据计算得出的每日移动平均线列表。 虽然我能够成功创建此列表,但我似乎无法弄清楚如何在满足某些条件时在列表中进行定位,然后在满足这些条件时创建一个包含 :Date 的新数据表。 以下代码获取与 ma_list 中每条记录对应的日期,而不仅仅是与指定条件对应的日期。 在处理列表时是否可以创建“复杂”的评估标准?如果可以,JSL 代码会是什么样子? 任何建议将不胜感激。
ma_list = [46.6, 51.6, 50.8, 52.8, 58.4, 57.6, 62.2, 62.2, 66.6, 63.8, 59.6, 55.6, 57.2, 57.8,
57.4, 59.8, 65.4, 62, 54.6, 51.8, 50, 45.2, 44.2, 42.2, 45.8, 47.8, 52.4, 55.6, 57,
44.4, 34, 20.2, 9.4, 0.4, 0, 0, 0, 0, 0, 4.4, 11, 18, 25.4, 32.4, 36.6, 38.2, 40.2,
44.6, 44, 41.4, 39, 38.4, 33, 33.8, 39.2, 40.4, 37.8, 37.6, 36.4, 31, 30,
30.3333333333333]
// Locate dates when data shifted from 0 to a positive value
// NOTE: :Date refers to existing column name in data table ma_list was extracted from.
ma_date_list = {};
For( i = 2, i <= N Items( ma_list ), i++,
If ( ma_list[i] > 0 & ma_list[i-1] == 0,
// then
ma_date_list = :Date[ma_row_list]
)
);
回复:使用各种条件对列表进行子集化Mark,
Something like the following
ma_date_list = {};
For( i = 2, i <= N Items( ma_list ), i++,
If ( ma_list[i] > 0 & ma_list[i-1] == 0 & ma_list[i-2] == 0 & ma_list[i-3] == 0,
// then
ma_date_list = :Date[ma_row_list]
)
);
回复:使用各种条件对列表进行子集化“前向和后向评估”是什么意思? JMP 脚本中一切皆有可能!
回复:使用各种条件对列表进行子集化感谢马克的建议,
我希望我们可以对矩阵进行一些复杂的前向和后向评估,但我现在发现这不太可能。 您的建议无疑有助于获得我需要的评估,同时也向我展示了将来如何处理此类事情。 谢谢。
回复:使用各种条件对列表进行子集化看看这个方法是否有帮助:
ma_list = [46.6, 51.6, 50.8, 52.8, 58.4, 57.6, 62.2, 62.2, 66.6, 63.8, 59.6, 55.6, 57.2, 57.8,
57.4, 59.8, 65.4, 62, 54.6, 51.8, 50, 45.2, 44.2, 42.2, 45.8, 47.8, 52.4, 55.6, 57,
44.4, 34, 20.2, 9.4, 0.4, 0, 0, 0, 0, 0, 4.4, 11, 18, 25.4, 32.4, 36.6, 38.2, 40.2,
44.6, 44, 41.4, 39, 38.4, 33, 33.8, 39.2, 40.4, 37.8, 37.6, 36.4, 31, 30,
30.3333333333333];
// create parallel vector lagged by 1
lagged data = ma_list[2::NRow(ma_list)];
// remove the last observation
data = ma_list[1::NRow(ma_list)-1];
// find the positive differences
positives = Loc( (lagged data - data) > 0 & (data == 0) );
// go get 'em
ma_date_list = :Date[positives];