編寫分區平台腳本從統計的角度來看,分區平台非常擅長以正確的方式拆分參數,但是在給定數據集的領域知識的情況下不合適。 現在,我不能指望JMP擁有領域知識,但我想編寫分區平台的腳本,以便我可以為用戶提供JMP選擇的候選人,以便他們可以選擇一個有意義的,因為他們的領域知識並且接近從統計的角度來看,從列表的頂部進行拆分。 我正在努力的是如何在用戶做出選擇後重建樹。 在各種分割後我嘗試了幾次迭代查看腳本,我似乎無法掌握結構。 有沒有人想到這個?
謝謝
射線
Re:編寫分區平台腳本我可以想像,可以編寫一個在後台使用“分區”但保持其報告隱藏的UI。這可能是也可能不是很多工作,具體取決於您想要的功能以及您希望支持的工作流程。
通常,在嘗試“接管”為交互式使用而設計的平台時,有些事情是可能的,有些則不是。
不確定它是否有幫助但是,如果你可以訓練用戶按下“更新”按鈕,你可以做這樣的事情:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
par = dt << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
parRep = Report(par);
parRep[ListBox(4)] << prepend(ButtonBox("Update", updateScript));
updateScript =
Expr(
Beep();
setClipboard("");
par << copyScript;
treeSoFar = Parse(getClipboard());
treeSoFar;
);
'updateScript'可以在JSL中採取任何可能的操作(這裡只是重複現有的報告)。
Re:編寫分區平台腳本ian_jmp,
感謝您回答我的問題。問題是我需要
每次用戶選擇拆分時擦除並重新創建樹。我是什麼
做就是破解候選人表,然後彈出一個窗口顯示
每個頂級nn候選人的框和趨勢圖。用戶比
選擇他們最喜歡的那個。最好的是JMP會讓我
在選擇中輸入並“單擊”特定於拆分的選項。
不幸的是 - 根據JMP的支持 - 這是不可能的。它正在補充
有助於在候選人中進行選擇的額外能力
驅動重建樹的需要。如果可以的話,這將是最好的
完全接管平台,這樣用戶就不必使用任何一個了
分割/剪枝,紅色三角形下拉按鈕。
Re:編寫分區平台腳本這是一個來自樹的腳本,其中進行了兩個特定(非最佳)拆分:
劃分(
Y(:Oxy),
X(:年齡,:體重,:運行時,:RunPulse,:RstPulse,:MaxPulse),
信息缺失(1),
初始拆分(:年齡> = 45,{},{:RstPulse> = 60}),
SendToReport(
Dispatch({},“Partition Report”,FrameBox,{Frame Size(480,56)}),
Dispatch({},“Candidates”,OutlineBox,{Close(0)})
)
);
看起來所有先前的拆分都只列在代碼的Initial Splits部分中。第一次拆分將在變量上:Age為我的例子。然後對於> = 45組,沒有進一步拆分(空括號)。對於年齡<45歲,該分支被拆分為:RstPulse。如果下一個拆分在:RstPulse葉子上,那麼它將是{:RstPulse> = 60,{newvar> = value}}。
我希望這有幫助。
Re:編寫分區平台腳本您可能希望使用域知識來“鎖定列”。以下是“幫助>腳本編制索引”中的示例:
Names Default To Here( 1 );
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) <<
Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << Lock Columns( 1, :age, :size );
(obj << report)[CheckboxBox( 1 )] << Select;
Wait( .5 );
obj << Lock Columns( 0 );
Wait( .5 );
obj << Lock Columns( 1 );
通常,如果您需要解決問題,腳本索引是一個很好的起點。