大家好,我叫 Colleen McKendry,是 JMP 的高級統計撰稿人。這意味著我負責記錄軟體中許多統計平台。在加入 JMP 之前(大約 9 年前),我從未接觸過 JMP。在我的整個職業生涯中,JMP 的學習過程絕對是一個邊學邊做的過程,直到我對它有了足夠的了解,可以撰寫相關文章。在學習 JMP 的過程中,我發現 JMP 腳本索引非常有用。當時,我也覺得它有些欠缺,所以我認為它有很大的潛力,但有些資訊不夠完整,諸如此類。
幾年前,大約從 JMP 16 開始,我和我的同事 Michael Crotty 啟動了一個項目,旨在改進 JMP Scripting Index 的統計功能。這項工作主要是為了確保資訊完整、可靠且盡可能實用。
最近,我們剛完成了對所有統計平台的首次全面審核,所以我覺得腳本指數目前處於一個非常好的階段,所以我覺得這是一個進行這次演講的好時機,讓大家更多地了解腳本指數。無論您是從未聽說過,還是已經是高級用戶,無論您處於哪個階段,我都希望您能從這次演講中有所收穫。
對於那些不知道腳本索引是什麼的人來說,它是學習 JSL(JMP 腳本語言)的重要工具,JSL 是 JMP 的原生編碼語言。每當你打開腳本視窗並開始輸入任何內容時,你就是在用 JSL 編碼。腳本索引匯集了 JSL 函數、物件和顯示框的信息,我稍後會詳細介紹。每個條目都包含簡短的描述和一個嵌入的範例腳本,這些腳本可以在索引本身內運行。
它還具有搜尋功能,提供可自訂的過濾選項,其中一些選項最近已更新,希望能提升客戶體驗。您可以在哪裡找到 JMP 腳本索引?在產品中,有多種方法可以存取腳本索引。第一種是透過「幫助」選單。如果您點擊「幫助」選單,就會出現實際的腳本索引選項,您可以使用該選項開啟它,或在實際編寫腳本時透過其他選項存取它。如果您正在腳本視窗中編寫程式碼,並且想要了解有關特定函數或對象的更多信息,您可以按住 Alt 鍵並雙擊該函數或對象,腳本索引將開啟並填充您感興趣的條目。
同樣,在腳本中,您也可以右鍵單擊函數或對象,然後會出現一個選項“幫助腳本索引”,其操作方式相同。最近,jsl.jmp.com 上推出了腳本索引的線上版本。這是我們首次在線提供腳本索引資訊。這與產品索引是一對一的。這只是為用戶存取、共享或使用腳本索引中的資訊提供了一種不同的方式。
讓我們開始吧。這是打開腳本索引後的樣子。我將要討論的腳本索引的不同區域用方框框起來,我們從左上角開始,那裡有很多導航類型的控制項。首先,這裡有一個小小的切換按鈕,如果你想改變佈局,這個按鈕可以改變腳本索引的視圖。然後是導航按鈕,可以前後移動。如果你正在進行任何類型的搜索,或四處點擊,你可以使用這些按鈕來前後移動,而無需重新輸入任何內容。
接下來,我們有一個包含所有類別的下拉列表,這些列表是左側選擇列表中的所有類別。我們有“函數”、“物件”、“Python”和“顯示框”,如果您選擇其中一個,它將只顯示此清單中的函數或物件。在「函數」類別中,這些是 JMP 提供的內建函數。這些函數將更多地基於程式碼,因此您將在日誌中而不是在使用者介面中看到函數的結果。例如,數值函數、矩陣函數、字元函數以及任何類型的機率函數。這些都會包含在內。
另一方面,物件則完全基於使用者介面 (UI)。它們是 JMP 的動態部分,可以透過訊息接收指令來執行某些操作。這些內容會在使用者介面 (UI) 中顯示,例如資料表、資料列、平台、結果窗口,而此類別中的項目與這些內容相關。例如,更改資料列、向結果視窗新增選項等等。
Python 類別包含與 Python 整合特別相關的功能,但我不會在本次演講中討論這些功能。最後,我們來談談顯示框。這些不同類型的矩形框用於在 JMP 中構成報表或新視窗。報表中不同顯示框之間的關係以顯示樹表示。此類別中的所有項目僅與填滿顯示框、新增選項(例如啟動視窗)有關,因此包括單選框選項、複選框等。
接下來,我們將討論這兩個選擇列表,左側列表包含類別名稱,右側列表包含項目名稱。這兩個清單以層級結構相互關聯,因此右側的項目包含在左側選定的類別名稱中。我們可以在這張圖中看到左側選擇了「控製圖產生器」。右側的所有項目名稱都與一個「控製圖產生器」物件相關。因此,您在右側清單中選擇的任何項目名稱都會填入腳本索引中的其餘資訊。
這就是我們現在要講的內容。腳本索引視窗的其餘部分包含所有信息,例如您正在尋找的有用內容。我們看到頂部有一個項目名稱,然後是語法或原型。這只是條目編碼的基本程式碼結構,包括該條目中包含的所有選項。
還有一個簡短的描述,基本上只是告訴你這個條目的作用,有時還會告訴你它適用於哪個平台。然後你可以看到一個嵌入的腳本視窗和一個嵌入的日誌窗口,其中已經填充了一個範例,因此你可以在 Scripting Index 中執行這個範例,它會執行程式碼並給出輸出,無論是在日誌中還是在 UI 中。這讓你可以看到一些範例程式碼,而無需自己實際編寫任何程式碼。
如果您在範例區域中看到一個小下拉圖標,則表示該條目有多個範例。您可以點擊該圖示查看不同的範例,看看是否還有其他您感興趣的內容。最後,我們還有一些其他幫助選項。 「另請參閱」也會彈出一個下拉式選單,其中列出了此範例腳本中使用的任何其他腳本索引條目。在本例中,是變數。我知道變數是腳本索引中的另一個條目,所以點擊它就會顯示出來,然後我可以導航到腳本索引中的變數條目,並獲取更多相關資訊。
我們還有一個「主題幫助」按鈕,點擊後您可以查看您正在查看的領域的線上文件。在本例中,如果您點擊該按鈕,將會跳到「控製圖產生器」的線上文件。此外,我們還提供了篩選功能和搜尋欄,方便您在腳本索引中搜尋您感興趣的任何類型的術語或短語。此下拉清單中提供了一些選項,可協助您縮小搜尋範圍,或更精準地找到您想要的內容。
預設情況下,當您搜尋某些內容時,它會搜尋腳本索引中的所有內容。它會搜尋所有名稱、原型、描述和範例。如果您想變更此設置,可以在底部部分選擇僅搜尋範例,或者如果您對此感興趣,可以選擇僅搜尋類別和項目名稱。
這些選項的頂部是單選部分,因此您一次只能選擇其中一個。這只是為了幫助您根據這些條件縮小搜尋範圍。另外值得注意的是,當您進行搜尋時,結果不會按任何重要的順序進行排序或顯示,而是按字母順序顯示。
現在我要做一個簡單的示範。我要離開了。去 JMP。正如我所提到的,您可以透過“幫助”選單存取“腳本索引”,就像這樣,或者如果您有腳本,比如說我打開了這個腳本,我正在編寫一些關於“回應篩選”的內容。我可以按下 Alt 鍵並雙擊“響應篩選”。我們可以看到「腳本索引」打開了,搜尋欄位中填充了我雙擊的內容,因此我們得到了各種與「回應篩選」相關的結果,我可以從中獲取更多資訊。
我要退出並從頭開始。這是我提到的切換按鈕,它只是切換視圖。然後是導航控件。由於之前有搜尋記錄,我可以返回我的「回覆篩選」結果,而無需輸入,或者我可以返回到我清除它的時候。
這些是類別。我可以只查看函數、物件、Python 或顯示框。我在 PowerPoint 中沒有提到這一點,但還有一個版本按鈕。您也可以根據條目新增的 JMP 版本來縮小此清單的範圍。如果您想只查看 JMP 18 之後新增的條目,如果您想查找一些新內容,可以這樣做。
現在我們有了選擇清單。在左側,如果能找到的話,我會回到控制圖產生器。就是這樣。您可以看到,在右側,所有這些都與控製圖生成器物件相關。當我點擊這些物件時,腳本索引會動態更新,其中包含我點擊的特定項目名稱的資訊。
這是控製圖產生器的入口,它也在 PowerPoint 中展示過,所以這是自動填入的腳本。我可以使用此運行範例來運行它,它會幫我運行控製圖生成器腳本。我可以看一下。也許我可以嘗試與描述進行比較,看看能否找到一些內容。我有這個下拉式選單,這意味著控製圖生成器有多個範例。在本例中,有多個控製圖產生器範例。
我可以向下滾動到這裡,點擊“稀有事件圖”,然後運行該範例。這樣就會顯示 G 圖。這是那個小小的「另請參閱」。正如我所說,此範例腳本中使用了許多其他腳本索引條目。例如,如果我想了解更多關於如何指定 Sigma 的信息,我可以點擊它。我直接轉到 Sigma 條目,可以閱讀它指定標準差的內容。我可以閱讀預設值,並在那裡獲得更多知識。然後,我可以使用“後退”按鈕返回我最初查看的範例。如果我點擊這個「主題幫助」按鈕,控制圖產生器的文件就會載入。請將其最小化。
我只想舉幾個其他類別的例子。如果只看函數,為了演示,我會舉一些非常簡單的例子。對於數值,我們這裡只有一個簡單的絕對值函數可以運行。你可以在底部看到,這就是日誌中的輸出。 [聽不清楚 00:15:41] 稍微往上一點。
我還應該指出,這些範例中嵌入的腳本是完全可編輯的,因此我可以進入並根據需要添加新行。我也可以運行該腳本並獲得結果。無論您點擊到哪裡,您編輯、新增或刪除的任何內容都會保留在此腳本視窗中。您可以前往此處,也可以前往不同的類別名稱。如果您返回數值和絕對值,它仍然會在那裡。所有這些都會保留到您關閉“腳本索引”視窗或當我開始編輯時(您可能已經註意到出現了一個額外的按鈕),因此我也可以點擊它,這會將範例重置為預設值,從而刪除我編輯的所有內容。
現在舉一個顯示框的例子,就像我說的,這是關於填充 JMP 視窗或向現有 JMP 視窗添加新內容。這是一個創建帶有複選框的新視窗的基本範例,您可以在這裡看到。您也可以新增到現有視窗。這是一個框架框,基本上,框架框是 JMP 視窗中的大矩形。在這個腳本中,我可以運行它的第一部分,這是一個雙變量腳本,所以這只是一個普通的 JMP 雙變量報告。
然後,使用一些額外的程式碼,我可以運行它,它會在二元報告頂部添加一個多邊形。這與腳本索引沒有特別的關係,但我想提一下,我確實想展示如何存取顯示樹,因為我在 PowerPoint 中提到過它。您可以右鍵單擊此披露圖標,轉到“編輯”,“顯示樹結構”。這些基本上都是顯示框項目,因此,所有這些都會在腳本索引中有所條目,您可以弄清楚邊框框如何與框架框配合使用,可以添加什麼,或者如何向圖表添加標記,或者如何獲取有關圖表中標記的信息,所有這些細節。我只是想快速展示一下。擺脫所有這些。
在演示中,我最不想做的事情就是進行幾次搜索,以顯示哪些選項可能有助於縮小搜索範圍。我啟用了所有預設設置,並假設我想返回控製圖,因此我感興趣的是搜尋控製圖。出現的第一個結果實際上是與位於擬合模型中某處的控制決策圖進行比較。這不是我感興趣的,我想要的是控制圖。這是因為搜尋僅查找單獨的術語,因此它包含控制和圖表,但不一定同時包含,因此我可以使用包含短語選項來確保所有搜尋結果都包含控製圖作為短語,即整個短語。這有助於確保我擁有感興趣的範例。我可以清除它,將其恢復為預設值。
我認為使用搜尋列對新用戶來說非常有用,但如果你想學習大量腳本知識,搜尋列就沒必要了。如果我是 JMP 的新用戶,想要進行變異數分析,我們知道 JMP 並不總是像標準文獻那樣處理。我在 JMP 工作,我了解 JMP。我知道可以在 Oneway 平台找到變異數分析。對於新用戶來說,僅憑用戶介面可能很難找到變異數分析。
我可以在搜尋欄中搜尋“變異數分析”,然後可以看到第一個結果會顯示或隱藏變異數分析報告。這看起來很有前景。我可以運行它。我可以看到,它與單因素分析相關。我甚至可以重新啟動它,看看啟動視窗是什麼樣子,這樣就能清楚地了解如果我想了解如何進行變異數分析,我需要在使用者介面中自己做些什麼。
如果我想要更多例子,我可以繼續往下找。然後,當我找到第三個結果時,我會發現這實際上是關於多元變異數分析的。我對此並不一定感興趣。我只想要嚴格的變異數分析,因此為了縮小範圍並確保我的其他搜尋結果不包含任何變異數分析條目,我可以使用「全詞匹配」。這樣可以排除這個結果和其他幾個結果,所以現在我搜尋的是單獨的變異數分析,而不是包含在另一個詞中。這對於你正在搜尋的內容可能很有用。
回到預設值。現在,就我上一個搜尋範例而言,假設你對程式設計感興趣。你不一定是新用戶,但你想知道如何自己寫一些程式碼,特別是,出於某種原因,你有一些矩陣,你想自己做奇異值分解。你會問:“我該如何在 JSL 中做到這一點?”
您可以搜尋“奇異值分解”。我們看到我們得到了一些結果,但前幾個結果看起來像是在平台內執行奇異值分解,而不一定是透過您自己的程式碼實現的。搜尋欄也會根據這些篩選類別進行顯示。您可以將其變更為僅顯示函數,因此現在 JMP 中就有了四個函數,可以讓您在 JSL 中進行自己的奇異值分解。您可以瀏覽這些函數,確定哪一個最適合您,然後繼續進行 SVD 計算。
演示就到這裡。我只想快速回到演示。全螢幕演示。最後,我想介紹我最喜歡的幾種使用腳本索引的方法,並再次強調,我堅信它不僅適用於高級腳本編寫人員,而且對新用戶也非常有用。首先,我在演示中提到過,就是使用搜尋功能。它非常適合搜尋JMP所稱的「變異數分析與單因子分析」之類的內容。
它有助於查找某種統計技術所支援的平台。如果您對某種技術感興趣,但不確定它具體適用於哪個平台,那麼您可以使用腳本索引來快速找到答案。您也可以直接使用腳本索引來尋找特定平台的範例或資料表。顯然,它對於學習基本的腳本編寫非常有幫助。除此之外,我覺得即使是現在,每當我編寫任何腳本時,我都會打開腳本索引作為參考。
對我來說,它特別有用的一次是在我創建插件的時候。在我們的插件中,我們有一些自訂啟動視窗和其他對話框,並且我們在現有的 JMP 報告之上添加了一些東西。因此,腳本索引中的顯示框類別對於學習如何在啟動視窗中新增選項(例如複選框之類的功能),以及如何為現有的 JMP 報告添加不同的內容絕對非常有用。
最後,我認為這是無需離開產品即可獲取一些基本文件的好方法。如果您正在工作,可能不想打開瀏覽器搜尋我們的文檔,這樣您就可以留在產品中,獲取一些希望對您有幫助的基本資訊。如果沒有幫助,您可以使用 TopicHelp 按鈕直接前往文件中您可以獲得更多資訊的頁面或區域。
對我來說就是這樣,這已被錄製下來,但當你觀看時我會在聊天中,所以如果你有任何問題,請隨時發送到那裡。