某些行的列平均值 - 然後將平均值填入新列中我想計算一個列的平均值,條件是它只包含具有特定 ID 的行。在本例中,我只想對空白資料進行平均。我希望輸出填充到一個新列。結果將如下所示:

我知道如何使用“表”>“摘要”應用程式來實現此目的,但我不知道如何在我的數據表中執行此操作+將其填充下來。謝謝您的幫忙!
資料混合與清理回覆:某些行的列平均值 - 然後在新列中填入平均值請小心 - Col 聚合,例如
Col Mean(If(:Sample ID == "Blank", :Data, .))
由於 if 表達式中的字元比較,速度非常(!!!)慢。
對於幾千行來說這是可以的,但是對於具有數百萬行的表來說,這將花費很多時間。
更好:新增一個虛擬列,將字元列 (:Sample ID) 對應到數值,並在 if 表達式中使用數字列 -> 速度提高幾個數量級!
提示和技巧 - JMP/JSL 的最佳實踐
回覆:某些行的列平均值 - 然後在新列中填入平均值您只需添加我為您提供的內容作為新的公式列,然後 JMP 就可以輕鬆地為您編寫腳本。
它看起來像這樣
Names Default To Here(1);
Current Data Table() << New Column("Blank Average", Numeric, Continuous, Formula(
Col Mean(If(:Sample ID == "Blank", :Data, .))
));回覆:某些行的列平均值 - 然後在新列中填入平均值感謝您的回覆。我需要將計算出的列平均值填入新列。這是一個我一直在使用 chatgpt 的腳本,但它並沒有達到目的。
// Assuming your data table is already open
dt = Current Data Table();
// Calculate the mean of the "Data" column where "Sample ID" is "Blank"
meanValue = Col Mean(If(:Sample ID == "Blank", :Data, Missing()));
// Create a new column for the Blank Average
dt << New Column("Blank Average", Numeric, Continuous);
// Populate the "Blank Average" column with the calculated mean for all rows
dt << Set Values(:Blank Average, meanValue);回覆:某些行的列平均值 - 然後在新列中填入平均值您可以使用 Summary 並使用 Join/Update 將其新增至原始表。或者你可以使用公式。其中一個公式是
Col Mean(If(:Sample ID == "Blank", :Data, .))