<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我想通過腳本創建分箱列,而不是手動執行(列 -> 實用程序 -> 創建分箱公式),但我無法弄清楚如何執行此操作。
1)我可以知道有沒有辦法編寫“Make Binning Formula”腳本? 是的,有人可以建議我如何做到這一點嗎?
2)我想問的另一個問題是,在手動執行“Make Binning Formula”時,每個選定的參數都有自己獨特的寬度(參見下圖)。 如何檢索不同參數的寬度值? 我目前使用示例數據庫中的“膽固醇”數據作為參考。

我非常感謝你們中任何人的幫助。 謝謝。
問候,
瓦爾
伊俊譚0 ,如果您更清楚地描述您想要做什麼,也許會對我們有所幫助。
您是否正在尋找一種方法,讓腳本用戶能夠訪問“創建分箱公式”窗口,但在完成後仍保持控制?
或者,您可能正在尋找一種通過 JSL 來對連續變量進行分箱的方法,其方式類似於從製作分箱公式中獲得的結果。
了解您的最終目標將使我們更好地了解如何為您指明方向。
-傑夫
瓦爾,
創建分箱公式創建一個新列,設置其值標籤。如果您選擇“使用範圍標籤”,新列的值標籤將如下所示:
{18 <= "18 — 26" < 26, 26 <= "26 — 34" < 34, 34 <= "34 — 42" < 42, 42 <=
"42 — 50" < 50, 50 <= "50 — 58" < 58, 58 <= "58 — 66" < 66, 66 <= "66 — 74" < 74,
74 <= "74 — 82" < 82, 82 <= "82 — 90" < 90, 90 <= "90 — 98" < 98, 98 <=
"98 — 106" < 106, 106 <= "106 — 114" < 114, 114 <= "114 — 122" < 122, 122 <=
"122 — 130" < 130, 130 <= "130 — 138" < 138, 138 <= "138 — 146" < 146, 146 <=
"146 — 154" < 154, 154 <= "154 — 162" < 162, 162 <= "162 — 170" < 170, 170 <=
"170 — 178" < 178, 178 <= "178 — 186" < 186, 186 <= "186 — 194" < 194, 194 <=
“194 — 202” < 202}
然後可以解析該列表並提取下邊界和上邊界。
這是我針對自己的數據表使用的腳本,Make Binning Formula 創建了一個名為 NPN1 Binning 的列
名稱默認為此處( 1 ) ;
dt =當前數據表() ;
// 獲取值標籤,並將它們解析為列表
標籤=查爾( dt : npn1 分箱<<獲得財產( “價值標籤” ) ) ;
標籤=子字符串(標籤, 14 ,長度(標籤) - 14 ) ;
標籤=解析(標籤) ;
// 創建一個新表來保存值
德特邦德=新表( 《邊界》 ,新專欄( 《下界》 ) ,新專欄( 《上界》 ) ) ;
德特邦德<<添加行( N 項(標籤) ) ;
// 遍歷列表並剝離上下邊界
為了(我= 1 ,我<= N 行(德特邦德) ,我++,
德特邦德:下界[我] =數量(單詞( 1 ,查爾(標籤[我] ) , “<” ) ) ;
德特邦德:上邊界[我] =數量(單詞( 3 ,查爾(標籤[我] ) , “<” ) ) ;
) ;
有一個選項可以根據連續數據自動創建分箱列。它位於“Cols”>“Utilities”>“Make Binning Formula”下。它非常簡單,並提供許多選項,然後可用於創建新的 Binned 列,其中包含與您的輸入和選擇相匹配的公式。從這裡您可以輕鬆創建一個模式窗口,該窗口會彈出提示您完成下一個實例。
嗨吉姆,謝謝你的信息。 我研究了“Interactive Binning”JMP 插件,它真的很有趣。 然而,它似乎也相當手動。 單擊“製作分箱公式”後,有什麼方法可以直接從彈出窗口中獲取每個選定列的寬度(如上圖所示)?
謝謝,
瓦爾
我認為 Jeff Perkinson 編寫的“Interactive Binning”JMP 插件要么是您問題的答案,要么至少是一個很好的起點。該插件可在文件交換下找到。