建立帶有篩選器的總計表的腳本大家好
我有一個資料表,其中包含一些數字列(VAL1、VAL2)和一些字元列(CATEG1、CATEG2、CATEG3)。
我想編寫一個腳本來建立一個總計表,報告按「CATEG1,23」分組的每個數值的平均值;這很容易做到:
Data Table( "MyTable" ) <<
Summary(
Group(
:Lot,
:Name( "CATEG1" ),
:Name( "CATEG2" ),
:Name( "CATEG3" ),
),
Mean( :VAL1),
Mean( :VAL2),
Freq( "None" ),
Weight( "None" ),
)
但是,我還喜歡根據 CATEG1,2,3 過濾結果:例如,僅包含 CATEG1==「標準」的結果。
我嘗試粗暴地插入一個“where”子句,但似乎不起作用
where(:CATEG1 == "Standard")
我知道這可以輕鬆地以互動方式完成,但我想透過腳本來完成。
謝謝
電動車1976
數據探索和視覺化大規模客製化回复:使用過濾器創建匯總表的腳本通過過濾,您的意思是要刪除其他行嗎? 如果是這種情況:
使用 Big Class.jmp 作為示例表。 僅將具有 :sex 值為“M”的行保留到匯總表
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
dt_summary = dt << Summary(
Group(:age, :sex),
Mean(:height),
Mean(:weight),
Freq("None"),
Weight("None"),
Link to original data table(0)
);
wait(1);
dt_summary << Delete Rows(dt_summary << Get Rows Where(:sex != "M"));
使用表格也可能是一個不錯的選擇。 您可以使用本地數據過濾器或直接添加Where(我在這裡做什麼)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:height, :weight), Statistics(Mean)),
Row Table(Grouping Columns(:sex, :age))
),
Where(:sex == "M")
);
腳本索引有很好的建議:
刪除行:

在哪裡獲取行:

選擇地點:

回复:創建帶過濾器的匯總表的腳本兩種解決方案都適合我。
“製表”選項完全符合我的需要
非常感謝你
EV1976