在 JSL 腳本中計算行子集的 Col Mean ()?JMP 社群您好,
JSL 中計算定義變數的列平均值(或其他統計資料)的正確語法是什麼子集行數? 在資料表中,我可以只使用公式“Col Mean (:Data Column, :Grouping Column)”,但在 JSL 腳本中,這似乎不是正確的用法。
值得注意的是,我正在考慮透過使用「For every row」結構來使用暴力,但這在評估 200 多列和 1000 行時似乎效率很低。
感謝您的協助。
TS
回覆:在 JSL 腳本中計算行子集的 Col Mean ()?我相信最簡單、最有效的方法就是使用
表格==>總結
這將非常快速地創建一個數據表,您可以從中獲取 JSL 的統計信息,或者如果您需要將統計信息放回原始數據表中,只需進行簡單的匹配更新即可。處理 200 列和 1000 行根本不是問題。下面是一個簡單的範例,將說明如何執行此操作。
names default to here(1);
dt=Open("$SAMPLE_DATA/semiconductor capability.jmp");
colNamesLIst = dt << get column names(continuous);
dtStats = dt << Summary(invisible,
Group( :SITE ),
Mean( colNamesList ),
Freq( "None" ),
Weight( "None" ),
Link to original data table(0)
);
dt << Update(
With( dtStats ),
Match Columns( :SITE = :SITE )
);
close( dtStats, nosave );回覆:在 JSL 腳本中計算行子集的 Col Mean ()?JMP 社群您好,
這是我使用“For Each Row”結構得出的結果:
Names Default to Here (1);
dt = Current Data Table ();
ALL_MEAN = Col Mean (:DATA);
MAX_MEAN = -1000;
For Each Row (
if (MAX_MEAN < Col Mean(:DATA, :GROUP,:SGROUP), MAX_MEAN = Col Mean(:DATA, :GROUP,:SGROUP))
);
Show (ALL_MEAN);
Show (MAX_MEAN);
有什麼想法可以提高效率嗎?
謝謝,
TS