<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨伙計,
我只是想知道是否有任何方法可以編寫一個腳本,從數據表中的分區分析中提取拆分候選者,由 logworth 排序。 當您擬合分區模型並右鍵單擊候選部分時,可以手動完成此操作。
斯科特
我經常這樣做。這是我使用的代碼示例
(您問題的答案是“提取候選人表”部分中的 4 行!)
// 樣本數據
dt =打開( “$SAMPLE_DATA/Fitness.jmp” ) ;
名稱= dt <<獲取名稱;
// 選擇響應變量
colNames = dt <<獲取列名(細繩) ;
西北=新窗戶( “選擇 Y” , <<模態,
磅=列錶框( colNames ,最大選擇( 1 ) , <<設置選中( 5 ))
) ;
如果(nw[ “按鈕” ] ==- 1 ,扔()) ;
選擇=磅<<被選中;
如果(物品(選擇) == 0 ,
扔()
,
yCol =選擇[ 1 ]
) ;
// 使用所有其他列作為 x 變量
位置= Loc ( colNames , yCol) ;
xCols =消除( colNames ,位置[ 1 ]) ;
// 刪除名稱列
從...除去( xCols , 1 ) ;
// 啟動分區平台
拍=分割(
Y(評估( yCol) ) ,
X(評估( xCols) ) ,
) ;
// 提取候選表
代表=拍<<報告;
選項卡=代表[ “候選人” ][表格框( 1 )] ;
坎Dt =選項卡<<製作成數據表;
代表<<關閉窗口;
// 對候選表進行排序
坎Dt <<種類(經過( :對數價值) ,順序(降序) ,替換錶) ;
// 錦上添花 - 附加一個腳本以便行選擇
// 在此表中將在源表中生成列選擇
評估(解析(評估插入( "\[
candDt << 新腳本(
"選擇列",
cdt = 當前數據表();
rows = cdt << 獲取選定的行;
lstNames = Column(cdt,"Term")[rows];
數據表(“^dtName^”)<<清除列選擇;
對於 (i=1,i<=NItems(lstNames),i++,
列(數據表(“^dtName^”),lstNames ) << 設置選擇(1)
)
)
]\" ))) ;
最終結果是一個如下所示的表:

我包含了附加到此表的 Select Columns 腳本的代碼,因為我發現它特別有用。因此,例如,如果您選擇此候選表上的前三行,則運行腳本將選擇源數據表中的相應列。如果您有大量列,則很有用。
- 戴夫