在 JMP 19 中,從功能表列中選擇說明 > 腳本索引,然後尋找專門新增至版本 19 的 JSL 函數。
添加了各種功能,但正如您在下圖中的紅色框中看到的,添加了許多 Col 功能。

在本文中,我們將介紹 JMP 19 中新增的 Col() 函數及其使用的好處,並提供一些範例資料。
Col() 函數是什麼?
Col() 函數傳回指定列的總計統計資料。
例如,如果為連續列「Column1」指定Col Mean(Column1) ,則將傳回所有單元格的「Column1」的平均值。

此外,許多 Col() 函數允許您指定 By 變數作為參數,該參數會傳回每個組的總計統計資料。
例如,如果為 JMP 樣本資料「Big Class.jmp」指定Col Mean(身高(英吋),年齡) ,則可以找到每個年齡(12 至 17 歲)的平均身高,這是第二個參數。

考慮到這一點,我們將介紹 JMP 19 中新增的新 Col() 函數。我們將透過範例解釋 Col At() 和 Col Score()。
Col At 函數
列在()函數是 Lag() 函數的增強版本,可以傳回前幾行的資料。它的使用方式與 Lag() 函數類似,允許指定 By 變數。
使用例
數據:1月1日至3日三天內每分鐘測量一個家庭的用電量
目的:找出功率變化最大的時間段,計算某一時刻的功率量與一分鐘前的功率量之差(Lag(1)),並以圖形方式進行檢查。
下方數據中,我們針對每個「日期」和「時間」測量「功率」。新建立的列「Power_Diff」用於實現此目的,並使用了Column_In()函數。
(請參閱本部落格中的附件「Example_ColAt.jmp」。)

Col At(col,索引,byVar,相對(1))傳回 byVar 群組內行位置 index 處的 col 值。
在此範例中,每天傳回上一行的功率值 (-1)。
此函數用於尋找某一天的滯後(第 n 行的功率 - 第 (n-1) 行的功率)。
傳統的 Lag() 函數無法找到組內的滯後,但Lag()函數可以。
下圖使用我們建立的計算列顯示了每天的時間差異。在 1 月 3 日,我們可以看到中午 12 點之後的時間段差異特別大。

注意:參數 Relative(1) 可用於傳回上一列值的索引號,如上所示。如果不包含此參數,則將傳回 byVar 組中的第一行和最後一行值。詳情請參閱附件資料中的「First Power」和「Last Power」欄位。
Col Score 函數
Col 分數()函數傳回指定列的排名(整數分數)。透過指定 By 變量,您可以獲得組內的排名。
使用例
數據:30名男女運動員1500公尺跑時間和投球距離
目的:確定1500公尺跑時間的性別排名,並研究這些排名與投球距離之間的關係。
(有關更多詳細信息,請參閱附件“Example_ColScore.jmp”。)

Col 分數(xCol,byVar)傳回每個 byVar 的 xCol 值的排名。在此範例中,我們根據 1500 公尺跑步時間按性別進行排名。
使用新建立的「性別排名」列,我們繪製了各性別排名的投球距離長條圖。我們發現,男性排名越高,投球距離越遠,但女性排名並沒有觀察到這種趨勢。

其他新增的 Col() 函數
除上述之外,JMP 19 還添加了以下 Col() 函數:
獨特的 N 領 :傳回列中唯一值的數量。
列插值 :傳回給定 x 位置的 y 插值。
列序列 :傳回 byVar 群組中某一行的位置(Row() 函數的增強版本)。
請參閱腳本索引以了解更多資訊。
這些 Col() 函數與稱為列作用域的功能相關。但我們下次再討論該功能。
作者:Naohiro Masukawa(JMP 日本)
Naohiro Masukawa - JMP 使用者社區