表格概述現在,除了存儲您的數據及其元數據之外,數據表還負責使用 Tables、Rows 和 Columns 菜單中的命令或它們在 JSL 中的等效消息進行數據準備。 數據表還負責啟動平台進行分析和繪圖。 有時,您只想分析或繪製存儲在數據表中的數據值的特定子集。 在這種情況下,您可以使用行狀態來控制平台在其分析中包含或在其圖表中顯示的數據值。 但您也可以創建一個新的、單獨的數據表來保存該特定值的子集。 有幾種方法可以指示要包含在子表中的行和列。 最簡單的方法是選擇所需的行或列,然後向數據表發送消息以創建子集。 但是您也可以為消息提供參數以指定行和/或列,而無需先選擇它們。 如果未選擇任何列,並且消息未指示特定列,則默認情況下,所有列都將包含在子集中。 這對行的工作方式相同。 那麼如何為子集數據表選擇行或列呢? 讓我們從行開始。 您已經看到可以將多個消息發送到數據表以選擇行,但創建子集最常用的消息可能是 Select Where 消息,該消息將布爾表達式作為其參數。 在此處顯示的示例中,Select Where 消息從 Big Class 數據表中選擇高度大於英寸且重量大於磅的行。 另一種方法是使用數據過濾器消息進行選擇。 但是,數據過濾器消息需要比 Select Where 更多的代碼。 這裡顯示的兩條消息正在做完全相同的事情。 因此,通常,如果您希望腳本根據某些邏輯條件選擇行,您將使用 Select Where。 但是,如果您想讓用戶在腳本運行後繼續瀏覽數據,您的腳本可以啟動數據過濾器,指定過濾器列,然後讓用戶以交互方式進行選擇。 現在讓我們談談選擇列,並確定選擇哪些列。 有兩條消息直接發送到列,而其他消息則發送到數據表。 您可以將 Set Selected 消息發送到列以選擇它作為子集。 並且,您可以通過向其發送 Get Selected 消息來確定該列是否已被選中。 您可以通過將 Go To 消息發送到數據表來選擇單個列,並將列名稱或編號作為其參數。 同樣,您可以將 Select Columns 消息發送到數據表以選擇單個列、所需列的列表,甚至所有列。 如果您需要確定已選擇哪些列,請將 Get Selected Columns 消息發送到數據表。 然後,您可以通過將 Clear Column Selections 消息發送到數據表來清除任何現有的選擇。 最後,如果您在列面板中對列進行了分組,則可以使用“選擇列組”或“取消選擇列組”消息來一起處理一組列。 選擇行和或列後,將 Subset 消息發送到原始數據表以創建子集。 JMP 根據您指定的數據值創建一個新數據表。 這不是必需的,但如果您已經選擇了要包含在子集中的行和/或列,則最好使用 Selected Rows 或 Selected Columns 參數並在括號中使用布爾值。 此處顯示的代碼是級聯消息的示例。 Select Where 消息被發送到數據表以選擇列 sex 中的值為 F 的行,緊隨其後的是 Subset 消息,指定子集表的兩列和表的名稱。 但是,您不必先選擇行和列。 指定要包含在子集表中的行和列的另一種方法是將 Rows 參數與行號矩陣一起使用,或者將 Columns 參數與列引用一起使用。 在這種情況下,最好使用 Selected Rows 或 Selected Columns 參數並在括號中加上布爾零,以防表具有選定的行或列。