特定の行の列の平均 - 次に新しい列に平均を入力します特定の ID を持つ行のみを含むという条件で列の平均を計算したいと思います。この場合、空白のデータのみを平均化したいと思います。出力を新しい列に入力したいと思います。結果は次のようになります。

テーブル > サマリー アプリケーションでこれを実現する方法はわかっていますが、データ テーブルでそれを実行して下に入力する方法がわかりません。ご協力ありがとうございます。
データのブレンドとクリーンアップRe: 特定の行の列平均 - 次に新しい列に平均を入力します気をつけてください - 列集約のような
Col Mean(If(:Sample ID == "Blank", :Data, .))
if 式での文字比較のため、非常に (!!!) 遅くなります。
数千行であれば問題ありませんが、数百万行のテーブルの場合は、かなりの時間がかかります。
改善策: 文字列 (:Sample ID) を数値にマップするダミー列を追加し、if 式内で数値列を使用します -> 桁違いに高速化されます。
ヒントとコツ - JMP/JSL のベスト プラクティス
Re: 特定の行の列平均 - 次に新しい列に平均を入力します私が提供したものを新しい数式列として追加するだけで、その後は JMP で簡単にスクリプトを作成できます。
それは次のようになります
Names Default To Here(1);
Current Data Table() << New Column("Blank Average", Numeric, Continuous, Formula(
Col Mean(If(:Sample ID == "Blank", :Data, .))
));Re: 特定の行の列平均 - 次に新しい列に平均を入力しますご返信ありがとうございます。計算された列の平均を新しい列に入力する必要があります。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);Re: 特定の行の列平均 - 次に新しい列に平均を入力しますサマリーを使用して、結合/更新を使用して元のテーブルに追加することができます。または、数式を使用することもできます。そのような数式の1つは次のとおりです。
Col Mean(If(:Sample ID == "Blank", :Data, .))