使用各種條件對列表進行子集化我有一個根據 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];