根據 2 個分類列和組合資料計算移動平均值我有一個資料集,其中每個 OrderId 和 OrderDate 平均有幾十個雞蛋,用於試用(之前、之後)和 TrialWeek(1、2、3、4、5)。我想使用移動平均函數來計算每週結束時的平均值,使用前幾週的數據,然後將該數字輸入到新列中。因此,對於具有相同 Trial 和 TrialWeek 的每一行,應該會有數十個重複的平均值。
例如:
試用 == 之前 & 試用週 == 1 = 試用週 1 的平均數十次
試用 == 前 & 試用週 == 1 & 2 = 平均數十次試用週 2
試用 == 之前 & 試用週 == 1 & 2 & 3 = 平均數十個試用週 3,依此類推。
移動平均線要求我輸入計算平均值的行數,但每個 TrialWeek 的行數並不相同,因此我無法使用固定的行數來計算此值。我知道我需要編寫一個公式來執行此操作,但我不知道如何編寫公式。我正在使用 JMP Pro 16。任何幫助將不勝感激!
品質和工藝工程回复:根據 2 個分類列和組合數據計算移動平均值謝謝@txnelson !
我已經調整了代碼以計算 Trial == After 的移動平均值,所以這似乎有效。 但是我注意到代碼沒有計算 TrialWeek == 1 的移動平均值,除非我對錶進行了排序。
x = .;
curWeek = :TrialWeek;
If(
:Trial == "Before" & :TrialWeek != :TrialWeek[Row() + 1], x = Col Mean( If( :Trial == "Before" & :TrialWeek <= curWeek, :Dozens, . ) ),
:Trial == "After" & :TrialWeek != :TrialWeek[Row() + 1], x = Col Mean( If( :Trial == "After" & :TrialWeek <= curWeek, :Dozens, . ) )
);
x;
回复:根據 2 個分類列和組合數據計算移動平均值這是你想要的?

x = .;
curWeek = :TrialWeek;
If( :Trial == "Before" & :TrialWeek != :TrialWeek[Row() + 1],
x = Col Mean( If( :Trial == "Before" & :TrialWeek <= curWeek, :Dozens, . ) )
);
x;