This new capability has me breaking out my thesaurus, scrambling for new superlatives.This new capability has me breaking out my thesaurus, scrambling for new superlatives.This new capability has me breaking out my thesaurus, scrambling for new superlatives.This new capability has me breaking out my thesaurus, scrambling for new superlatives.這種新功能讓我打破了我的同義詞庫,爭相尋找新的最高級。是的,這個系列已經完成這麼多了……
通常情況下,當我寫這樣的系列時,我會在開始發布任何內容之前寫下整個內容 - 從頭到尾。 通常情況下,我不想在寫下一篇文章時讓我的讀者懸而未決。 通常情況下,我盡量避免在截止日期前寫作的壓力。 唉,這個條目沒有什麼不正常的。 此條目是在其他條目發佈時編寫的。 我通常不會嘗試這樣的事情,但我將在這里分享的信息不僅對討論很重要,它完全改變了我今後處理這個主題的方式。 作為回顧,以下是其他條目的鏈接:
現在,讓我們把過去幾週我剛剛告訴你們的幾乎所有事情都聽一遍。
有一個循環如何聯合管理計劃發布工作。 通常,產品管理團隊直到發布日期前大約兩三個月才開始與公眾討論新版本。 因此,您可以想像當我獲准撰寫有關此新功能的文章時,我的震驚——距離 JMP 16 預定發布整整六個月。
當我參加一次會議時,開發人員向 JMP 員工展示了這一新功能,我分享了我對這一功能的興奮以及我向客戶展示它的渴望。 想像一下,當那天晚些時候,我被要求寫一篇關於它的文章時,我感到多麼驚訝。 那麼,這個讓我心潮澎湃的神奇功能到底是什麼呢? 是什麼讓我打破了我的同義詞庫,爭相尋找新的最高級? 什麼新功能將徹底改變我向人們介紹 JMP 腳本世界的方式? 嗯……而且,留在我這裡……實際上是日誌。
未來事物的預覽
JMP 16 將引入一種新日誌,目前稱為增強日誌。 但是,這有點像說智能手機是用來打電話的東西(你確實記得他們這樣做,對吧?)。 增強日誌會跟踪您與 JMP 交互時所做的大部分操作,並且(這是很棒的部分)單擊鼠標即可為其生成 JSL ! 讓我們先理解這一點。
這遠遠超出了源腳本和紅色三角形保存腳本選項的範圍。 他們並不想讓海洋沸騰,所以有些東西不會在第一個版本中被捕獲;數據導入和數據表操作是 JMP 16 的主要目標。 但它一開始就涵蓋了很多領域。 讓我向您展示這個東西已經能夠做什麼(還有六個月的開發時間)。
開啟增強日誌
首先,打開增強日誌就像進入 JMP 中的首選項一樣簡單(在JMP > 首選項對於 MacOS;文件 > 首選項對於 Windows)並將日誌樣式下拉列表更改為“增強”。點擊好的你就可以去參加比賽了! (請注意,下面的屏幕截圖來自早期版本,日誌現在在列表底部有自己的菜單項。)
現在打開日誌(窗口 > 日誌對於 MacOS;查看 > 日誌對於 Windows)。 您會看到一些與您習慣的東西看起來有些不同的東西。 我已經在屏幕截圖中清除了我的內容,以便您可以看到不同的區域。 頂部是記錄操作的地方,我稍後會介紹。 底部是 JMP 生成的 JSL 將出現的位置。

這如何融入我們的故事
我已將所有內容放入 JMP 項目中,只是為了讓一切井井有條。 當增強型日誌進入項目時,它會自動放置在底部並進入並排配置(左側是增強型日誌;右側是 JSL 輸出)。

由於這並不是要詳細討論我是如何做事的,所以我只是將執行幾個步驟並指出一些事情。 但我將使用我們之前使用過的相同示例我的第三篇文章。 如果您一直在關注,請回顧一下並比較一下現在是多麼容易。
首先,讓我們將一些數據輸入 JMP。 我打開了 Big Class Families.jmp。 增強日誌區域有一個條目,顯示該操作是用戶單擊(在“類型”下)、它做了什麼、該操作在 JMP 中來自何處(在“來源”下)以及發生了什麼。 它還有一個很好的時間戳。 現在看看 JSL 區域。 有一個 Open(…) 命令(正確註釋!)可供您使用! 無需深入了解腳本索引!

我們繼續分析。 我用身高、體重、性別和年齡列做了一個分佈。 在增強日誌中,現在有一個條目顯示用戶命令從數據表開始並導致出現分發平台窗口。 在 JSL 區域,我已經獲得了正確格式(並註釋了!!!)的條目來重現分發平台。

現在,讓我們對體重與身高進行 Y 乘 X 擬合。 同樣的情況 – 增強日誌和 JSL 區域中有一個條目。

但是,這通常不是我們打開“Fit Y by X”的原因,不是嗎? 我們想要進行直線擬合或假設檢驗。 如果我們這樣做,則不會更新增強日誌或任何新的 JSL 代碼。

我們似乎遇到了障礙。 可是等等! 我們沒有,是嗎? 我們沒有遵循JMP 工作流程然而! 所以(按照工作流程)問題是,我們如何獲得增強日誌來捕獲我們通過擬合線來擬合 Y by X 所做的更改? 與往常一樣,按下答案按鈕即可找到答案! 對於那些想念我的人第一個博客系列,我將紅色小三角形稱為“應答按鈕”。)因為我們處於JSL博客系列,我們要去將腳本保存到...小紅色三角形菜單的一部分,我們在其中找到一個新條目,記錄。

單擊此按鈕會將一對新條目放入“增強日誌”中,用於“通過 X 擬合 Y”,並啟用擬合線選項。
所以。 嚇死了。 涼爽的。
旁注:您是否注意到它還處理粘合運算符 (;)?

現在,最後一點。 我們如何從增強日誌中獲取該 JSL? 好吧,我只是問了一個問題,所以讓我們按下增強日誌的回答按鈕。 並且,我們在那裡找到了一個保存腳本 > 到腳本窗口選項。

我們就完成了! 我可以刪除額外的 Bivariate 調用(第一個,沒有該行)並將兩個報告窗口放入 New Window() 函數中,但這裡的要點是我完成了 80%,也許 90% 的工作腳本,無需編寫任何代碼。 它甚至為你評論! (我現在正忙著……等一下……我需要喘口氣。)

這是完成的代碼,如果您想使用它(注意:我確實更改了文件路徑,以便它可以在其他版本的 JMP 上運行):
// Open Data Table: Big Class Families.jmp
Open( "$SAMPLE_DATA/Big Class Families.jmp" );
// Launch platform: Distribution
Distribution(
Continuous Distribution( Column( :height ) ),
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :sex ) ),
Nominal Distribution( Column( :age ) )
);
// Launch platform: Bivariate
Bivariate( Y( :height ), X( :weight ) );
Bivariate( Y( :height ), X( :weight ), Fit Line( {Line Color( {230, 159, 0} )} ) )
從這裡到哪裡去……再次
我們又到了博客系列的結尾了……。 我保證這一次是真的。 那麼,你對這篇文章的功課是什麼? 好吧,您可能會想袖手旁觀,等待增強日誌的到來。 我知道這很誘人,但我建議您練習一下我們在前幾集中介紹過的內容。 這是很重要的東西,你應該運用你所學到的東西。 祝你好運,編碼愉快!
感謝邁克,就這個超酷的新功能發表了一篇令人興奮且有趣的博客文章! 我一直喜歡在 JMP 16 的開發版本中使用它來完成您所做的事情 - 通過工作腳本來複製我的工作,至少完成 90% 的工作 - 無需花費數小時進行編碼。 這是一個驚人的節省時間的方法,我知道客戶一定會喜歡,無論他們以前編寫過 JSL,還是只是想通過將交互操作與日誌中生成的工作代碼示例進行比較來開始學習。