歡迎大家!我叫 Nathan Clark,在 IDEXX 實驗室工作。我使用 JMP 已經 22 年了,這次我將就「表格」選單做個演講。我發現「表格」選單是 JMP 最棒的功能之一,它賦予了你強大的操控、調整和處理資料的能力,從而可以促進許多其他附加分析。如果你能熟練「表格」選單,那麼你將比那些不得不使用一些老式方法(例如複製貼上來移動資料)的人員水平高出好幾個檔次。
今天我想和大家聊聊我如何使用「表格」選單,以及這些年來大家在使用過程中遇到的一些小陷阱,以及一些使用技巧和訣竅。好了,我們開始吧。我們將打開大家最喜歡的大類,並附上我做的一些修改。首先,我們將從「表格」選單頂部的「摘要」開始。
正如您所料,摘要用於統計匯總。打開它後,您會在這裡看到許多選項。如果您選擇一個反應變量,例如身高,您可以計算平均值和標準差。對於表格選單上的所有內容,都會彈出預覽。這真是太棒了。在這裡添加預覽功能真是太棒了,因為這樣您就可以快速瀏覽表格中的內容。
現在,您會看到我有一個匯總資料。它有 42 行,包含一個平均值和一個身高。這裡沒有考慮其他任何數據。它代表所有數據的總平均值和總標準差。如果我想將其拆分出來,只需將其拖到分組部分即可。現在我有了男性和女性的平均值和身高。
這就是摘要的主要目的。點擊「確定」後,會顯示摘要,然後您可以繼續在此處新增熱點列中的統計資料。如果您發現自己忘記了某些內容,並且想添加體重平均值,可以點擊“確定”,系統會自動添加。
這真的很酷。我常用這個。我會在這裡做個標記,把這些東西鎖定。這意味著我無法編輯。如果我嘗試輸入另一個數字,我會在這裡收到通知,所以我用它來獲取我的摘要和統計信息,但我更多地用它來做一些稍微不同的事情。我們要關閉它了。我要重新打開它,並指出其他一些事情。
您剛才看到我提到了鎖定這些列。如果您取消選取此框,這些列將不會被鎖定,但也不會連結到數據,這將方便我們稍後看到的一些內容。
講完本節內容後,我還要指出「表格」選單中常出現的兩個框框。保持對話方塊開啟。即使我點擊“確定”,這個框也會保持開啟。這樣,你就可以快速地嘗試各種不同的想法。然後,如果你將腳本儲存到來源表中,那麼你建立的表不僅會包含腳本及其建立方式,而且相同的腳本還會儲存在該表的原始表的這個區域中。我認為這是上一個版本中出現的一個非常棒的功能。
現在,我更深入地了解我使用匯總功能的原因,它能深入理解數據,並將其細分為不同的人口統計。例如,如果我在這裡只查看性別,並將其放入分組中,我不會對統計數據進行任何處理。我仍然會得到一個表格。該表格將包含細分資料和行數。如果我點擊“確定”,就會看到一個表格。由於它是連結的,當我點擊這些內容時,它會選中我感興趣的所有內容。
這是一個很好的方法,可以讓你開始探索你的數據,以便將數據劃分為子集(我們稍後會討論),同時也能理解數據的其他方面。我們會回到這裡,更深入地探討這個問題。如果我按姓名搜索,你會看到性別以及與之相關的姓名都被拆分了。正如你所注意到的,這 N 行中的一些實際上是一行。
我將在這裡總結這一點,但對於我們接下來要討論的許多其他平台來說,這一點也非常重要,尤其是當資料出現問題需要排除故障時。這就是「唯一性」的概念。
對於任何你處理的表,你都應該能夠識別哪些列在不同的排列組合中可以達到不同的唯一性等級。如果我把這兩項都去掉,我們就從這一點開始討論。如果我們使用名稱,我們認為它通常是一個相當獨特的標識符,那麼我們可以在這裡按名稱分組。
我們看到,如果我們滾動瀏覽,就會發現大多數都是一。下面,我們看到 Robert 和 Pat,他們都有兩行關聯。僅憑姓名本身不足以在這個資料集中保持唯一性,所以我們需要添加更多列。也許如果我們加入性別,就能找到這種感覺。
我們仍然有 N 行數據,等於 1,我們得到了唯一性。但在這裡,仍然有兩個 Robert,一個男性,有兩行與他關聯。這意味著我們還需要增加另一列才能達到所需的唯一性等級。我會新增 age。現在我們可以看到,我們的資料已經完全具有唯一性,一列資料貫穿始終。
預覽是查看這一點的絕佳方式。如果您有更多數據,預覽中可以很好地顯示,您可以隨時點擊「確定」或使用「保持對話方塊」繼續查看。處理資料時,了解資料的獨特之處非常重要,有時如果資料本身不獨特,則需要添加列來使其獨特,因為這在我們嘗試其他一些方法時會發揮作用。
說到這,我們將直接進入「子集」平台。它的作用是讓我們能夠按照提示對資料進行子集處理。您可以處理所有行,包括選定的行。您可以按行進行篩選。這樣,您還可以將其連結到原始資料表,不過我在這裡會做一些我認為更快、更容易的事情。 JMP 也會根據表格中的實際情況為您提供協助。與往常一樣,預覽功能也會為您提供協助。
如果我在這裡,我實際上可以點擊“M”,右鍵單擊選擇“匹配單元格”。我所有的“M”都被選中了。然後,如果我進入“表格和子集”,我可以看到它自動……假設我想處理選定的行。我可以處理所有列,也可以處理選定的列(現在,「性別」是選定的列),或者我將其保留為所有列。
複製和隱藏公式是為了保持簡潔。只有真正需要計算公式時,才會計算。點擊“確定”後,您將獲得一個子集。此子集與資料無關。您可以在此處點擊。這是獨立的表格。
如果您確實想要一個連結子集,是的,您可以轉到此處的「子集」。我們將進行調用,單擊它,然後單擊“確定”。現在它已連結到數據。但是,這比我真正想做的要多點擊幾次。我通常右鍵單擊,選擇“匹配單元格”,然後找到我想要的選項。透過這種方式,有很多方法。您會看到下面顯示我們選擇了 23 行。如果我右鍵單擊此處,我可以轉到“資料視圖”。您會立即獲得一個連結子集。
這不提供僅顯示選定列的選項。此資料視圖始終會顯示所有列,但我經常使用它。如果我遇到這種情況,例如我在這裡選定了一個資料集,頂部一行,底部一行,並且我想並排查看它們,資料視圖就會顯示它們,這樣我就可以立即查看並識別正在發生的事情。
我很喜歡這個功能,常用。不過,大家需要注意的是,當你使用資料視圖時,由於它與資料集關聯,如果我在這個資料視圖中做出更改,更改也會反映出來。你看,我這裡高亮顯示了Tim。如果我把“M”改成小寫字母“M”,更改就會反映在表格本身中。如果你正在使用這些功能,請務必注意,因為如果你把它當作一個獨立的子集,你實際上可能會更改主資料。
你可以利用這一點。如果我需要把表格外所有混合出現的 M 都改成小寫 M,我只需把第一個 M 改成小寫 M,然後右鍵點擊,填充到表格末尾,現在它們就全都變成小寫 M 了。這在修復大量資料或以不同方式擴充資料方面非常有用。在使用數據和處理數據時,這一點需要注意。當你處理數據並進行各種操作時,這是一個非常棒的功能。
排序功能名副其實。它功能強大卻簡單易用,是個非常棒的平台。您可以進行排序。例如,我們在這裡按名稱排序,您會看到它立即預設按升序排列。如果您點擊它,您可以強制按降序排列。您可以在這裡添加其他內容,它會自動排序,您也可以按升序或降序排列,因此您可以根據需要對任意數量的列執行此操作。點擊「確定」後,JMP 將建立一個新列。
我發現這真的很有用,尤其是在處理大數據集時,我想我知道如何排序。如果外觀很重要,它看起來會符合我的期望。我也不想弄亂數據,然後費力地回到原來的表。這給了我一個完全獨立的表。
很多時候,我會這樣做,我會看著這張表,然後問自己:「這是我想要看到的嗎?這是我的最終結局嗎?」然後我會關閉它。如果這是我想要的,我會直接回到排序選單。我會重新調用,然後替換這張表。透過這樣做,我現在已經對主表進行了排序,這有助於將我的表數量保持在最低限度。
有這個選項真是太好了。我經常這樣做來製作表格。然後我會返回並替換表格,以確保我對主表的操作符合我的要求,尤其是當我有大量資料和列的時候,我不想讓資料看起來雜亂無章,難以瀏覽。
接下來,我們要學習堆疊。堆疊是一個非常酷的功能。我這裡有一個特殊的表格,我們先來試試。堆疊,顧名思義,它的本質就是堆疊。它會把列堆疊起來。如果我進入表格,然後切換到堆疊,我就可以把這三個列堆疊在一起。
我們只需在此處單擊“確定”即可進行展示。現在它顯示「我是」標籤,讀取 1、2 和 3,然後顯示其原始列或原始值中的關聯數據,這很棒。
當我有大量水平資料需要垂直排列時,我經常會使用這個功能。 Stack 可以完成所有這些工作,無論表格如何組織,它都能做到,我認為這真的很好。它能維護表格內的正確關係。不過,這些數據有點特殊,它利用了我經常使用的一個功能。當你有不同分組的數據,需要堆疊但又要以特定方式組織時,就會用到它。
在本例中,我有 3 個波長的資料:405、357 和 680,每個波長都有一個與之關聯的讀取。我不僅需要堆疊讀取,還需要維護它們與正確波長的關聯。 JMP 的堆疊功能可以做到這一點。我們進入堆疊菜單。
我們要把這六列資料全部堆疊起來,然後 JMP 會把它們好好地組織在一起。你可以在預覽中看到我們目前所做的工作,JMP 並沒有很好地將它們組織在一起。他們按照我剛才展示的方式操作。它把所有資料堆疊在兩列中,而這並不是我們處理這些資料所需要的。
我們接下來要勾選下面這個框,也就是多序列堆疊。這太棒了。您已經看到了 JMP 所做的一些更改,並將其顯示出來。它預設以兩個序列的形式顯示。這就是我們想要的,因為我們需要一列代表波長,然後一列代表與這些波長相關的資料值。這就是兩個序列的由來。如果我們有三組三個序列,那麼就需要三個序列來獲得這些資訊。
我現在有點自信地談論這個多序列堆疊,但十有八九,我做堆疊的時候,點錯了按鈕,資料看起來就不是我想要的。多嘗試一下,慢慢習慣。比記住怎麼做更重要的是,要清楚你的數據應該是什麼樣的,這樣你就可以多嘗試,確保在出現問題時可以進行調整。
其中一個選項通常位於此處的“連續”按鈕。 「連續」按鈕告訴 JMP 列在此視窗中(不是在資料表中,而是在此視窗中)的組織方式。這是我在瀏覽這些數據時經常會忘記的一點。因為我們有波長 1、波長 2、波長 3,然後是 3 個讀數,它們彼此相鄰,對於兩個序列來說,它們彼此相鄰。這就是連續數據。
您可以在預覽中看到,JMP 會自動將其修復,使其看起來更正常一些。如果它的順序是波長 1、讀數 1、波長 2、讀數 2、波長 2、讀數 3,像這樣……實際上,我會刪除這些順序,然後按照波長 1、讀數 1,然後是 2、2、3、3。現在您可以看到,選中連續的複選框後,資料看起來不太好,所以我想取消選取該複選框。這些資料在此視窗中的組織方式以及是否使用此按鈕相互關聯,以便取得所需的資料。
點選“確定”。現在您可以看到這些數據看起來相當不錯。您可以像我們之前對樣本1那樣進行抽樣檢查,我們有9.83和141。看起來不錯。您還需要抽樣檢查其他幾個數據。完成這些之後,我們不一定需要它。我們將重新命名這個波長,並刪除此列。我們可以將其重新命名為Reed或Read,並在列首加A,然後右鍵單擊即可刪除此列。現在,您的堆疊資料已經正確組織。
有了堆棧,這真是太棒了。我想指出菜單中的幾點,如果你願意的話,你可以利用它們來發揮你的優勢。你可以在開始之前重命名這裡的資料和標籤。你可以選擇刪除這裡的所有列,或者保留所有列,或者進行選擇,此外,它還會告訴你在瀏覽時要把資料和標籤列放在哪裡,以使資料看起來像你想要的那樣。
接下來,我們將討論拆分。拆分與堆疊相反。它是最強大但也最難上手的平台之一。我們將在這裡向您展示原因,以及如何關注您可能想要看到的內容。簡單來說,這些欄位代表什麼。拆分列或您想要拆分出的列,實際上包含您想要保留在儲存格中的回應資料。在本例中,我們將執行讀取操作。
「拆分依據」是指讀取結果被拆分的列,在本例中是波長。它讓我們在預覽中看到數據。這裡有選項,保留全部或刪除全部,具體取決於表中的資料量。點擊“確定”,我們可以看到 JMP 的表現相當不錯,357 的值為 0.83,405 的值為 9,141 的值為 141。看起來 JMP 完全滿足了我們的要求。 JMP 做得真棒。
我想說的是,這忘記了一個非常重要的訊息,這使得拆分看起來很容易,但是一旦你獲得稍微複雜的數據,它就會成為一個問題,因為用戶將開始看到他們不想看到的數據,並且他們會在嘗試正確拆分時感到非常沮喪。
這又回到了我在總結中提到的,關於獨特性,理解是什麼讓你的數據如此獨特,從而得到不同的回應。現在,在這種情況下,樣本顯然是一個獨特的選擇,因為這些都按樣本分組。 JMP 神奇地,我不會說神奇地,JMP 用其內部演算法正確地理解了我想要的結果,基於它的組織方式。
但假設情況並非如此。我只需在這裡插入一個包含一些隨機數字的快速列,並根據這些隨機數字進行排序,以完全打亂它們的組織方式。現在,如果我再次進入拆分,點擊調用,我可以看到這些內容在這裡,但我可以自動看到寬 JMP 包含這些信息,例如 99.63,但它看起來像是 128,它在這裡。
顯然,有些事情與目前的進展並不一致。這就是令人沮喪的地方。有時人們需要做很多工作才能理解其中的原因。這就是分組功能發揮作用的地方。根據拆分後要查看的內容,將所有必要的欄位進行分組,以建立唯一性。
在這種情況下,如果我按樣本分組,突然間一切都恢復正常了,因為 JMP 現在可以明確地知道表中的這些讀數需要按樣本分組,因為它們本質上是相互關聯的。如果是一個大類,那麼它應該是姓名、年齡和性別,就像我們之前為了唯一性而尋找的那樣。
您的數據會因其複雜程度而有所不同,但請務必記住要達到那種程度的唯一性。我還沒發現在拆分時可以進行過度分組。如果您知道涉及的列,即使它可能與您的分組過於冗餘,也可以隨意添加它,因為過度分組並保持唯一性比分組不足而導致缺失資料要好。
在進行拆分時,要注意行數,以此來判斷拆分是否成功。如果我從 300 行開始,資料相對均衡,每個樣本有三個波長,那麼當我進行分割時,應該會得到大約 100 行。如果您發現行數很奇怪,可能是因為 JMP 已經盡了最大努力,但還是沒有找到創建所需內容所需的精確組織方式。
這表示你可能沒有成功地將某些資料分組。你需要注意這一點,並利用這一點來判斷你的資料是否正確,這樣你就不必抽查10,000行資料了。你可以抽查兩三行數據,直到你感覺滿意為止,然後再繼續下一步。如果你能做到這些,拆分就會成為你的第二天性,並在你的日常JMP工作中發揮出巨大的作用。
轉置,為了節省時間,我只會簡單聊聊,部分原因是因為我不太常用。我遇到過一些同事經常使用它。轉置的基本功能是,你可以把原本組織有序的數據,直接翻轉過來。這在某種程度上還是有用的。我不太常用。我覺得在某些情況下,我很幸運,我的數據總體上組織得還不錯。
但我想向你們展示這個對話框,因為這裡唯一性和分組功能與這個標籤和這個依據有關。這很有幫助,這樣當你嘗試轉置特定的呼叫問題時,就可以告訴 JMP 你需要如何組織資料。同樣,了解數據的獨特組織方式可以讓你在這個平台上擁有更大的優勢。
接下來介紹 Join。 Join 是另一個非常棒的功能,而且功能極其強大。我們將討論其中的一些部分,然後給出範例。打開 Join 後,它首先會顯示:這是我要開始的表。這是我要連接的表。我在這裡選擇要連接的表,然後它會從這裡開始。我們會看到一些列,這裡還有一些選項,具體來說,就是我想要如何進行連接。
我們實際上要回到我們現有的修改過的大類。我還有另一個表,它是一個擴展大類。基本上,我有更多的姓名、年齡、性別,但這裡有心率和BMI。我想把這些資訊連結起來。我要回到我原來的表,然後進行連接。這是我的大類。我想把它和我的擴充大類連結起來。預設情況下,它透過匹配列進行連接,我認為99.9%的連接都是透過匹配列完成的。然後你告訴JMP你想要匹配什麼。
這又回到了不同層級的唯一性,或者說您希望透過唯一性中的哪一層進行連接的問題。但您可以在兩列中選取名稱,然後點擊「匹配,年齡」。它們不必顯示相同的內容。您是在告訴 JMP 需要匹配的名稱是什麼。這與它們的物理名稱無關。
在預覽中,你會注意到它做了一些有點奇怪且可能令人討厭的事情。這裡,它實際上現在會給你一個列。它是 2025 discovery mod big class 的名稱。你會在其他欄位中反覆看到這個列名。現在,所有列名都變得又大又長。這在連接完成後仔細檢查資料很有用,但修復起來可能很麻煩。
JMP 有專門針對此問題的功能,稱為「合併同名欄位」。合併同名列時,我取消勾選“匹配標記”,你會看到它會將同名列合併成一致的形式。即使名稱和名稱在技術上因大小寫而不同,JMP 也能做到這一點,但 JMP 會將它們合併在一起,因為它識別出它們是相同的。勾選「合併同名欄位」時,「符合標記」也會啟用。這讓你可以在資料處理過程中在表格之間進行配對。
在下面,所以我經常會合併同名列和匹配標記。我還經常會做一件事,尤其是在第一次連接時,我會把主表和寬度表中不匹配的資料也包括進去。我會點擊“確定”,我會告訴你為什麼我喜歡這樣做,因為這是一種很好的方法,可以反覆檢查以確保我的數據組織得當。
你會看到這個匹配標誌列,我們在這裡展開它,它同時顯示了主表和寬度。如果我們同時查看這兩個表,並向下捲動到此處,它代表了原始表和第二個表中都存在的一條訊息。你可以看到,我們有原始的身高和體重,但我們也有心率和BMI。
如果您有主要訊息,請在此處全部選取。這些資訊存在於第一個表中,但在第二個表中沒有匹配項。您可以看到,它包含身高、體重,但 BMI 中沒有心率。
寬度正好相反。它出現在第二個表中,但第一個表中缺少一些內容。我喜歡用這種方式查看數據,因為它可以讓我仔細檢查,確保缺少的內容正是我預期會缺少的。
在這個例子中,我有 112 個名字。但第一個表中只有 42 個。我不可能做到 100% 匹配。由於這裡有些東西沒有匹配,所以設定一些寬度是完全可以接受的,而且完全合理。同樣,其中一些名字可能不在我們附加指標的擴展列表中。
至少在整體概念上,這裡的主座標和寬度是沒問題的。然後,將兩者對齊,這樣你就可以抽查一下預期結果了。當你在實際生活中更多地使用數據時,我覺得這非常有用,比如你正在進行一項實驗,在一台機器上運行某個程序,然後你還有一個運行表或其他東西,用來記錄相關的內容,比如運行 ID 之類的。
如果你們同時進行這種匹配,那就意味著非常具體和不同的事情。例如你有從機器上獲取的數據,但你的運行表上沒有相應的信息,或者你的運行表上有某次運行的信息,但你沒有從機器上獲取數據。在出現錯誤或類似情況時,這可能是合理的,但也可能代表你在機器上輸入ID進行運行時出現了抄錄錯誤,或者其他類似情況。
能夠對更大的數據集進行這些連接,並能夠立即看到數據匹配和不匹配的地方,這對於快速分解和識別來說絕對是一個遊戲規則的改變。
再次強調,這裡查看行數也是另一個指標,42 行,如果一切都完美匹配,我應該只有 42 行。但我實際的行數要多得多,部分原因是我了解這個表裡是否有寬度,然後是主表。利用這一點也有助於你識別是否有問題,或哪些地方需要進一步深入研究。
最後,需要注意的是,在進行此連接時,可能會出現同名列,但實際上它所代表的資訊有所不同的情況。如果我深入研究這個問題,為了方便起見,我們只處理年齡,並將年齡設為 89。無論出於何種原因,表 89 代表的是年齡信息,所以所有信息都是一樣的。
如果您仔細閱讀並仔細閱讀此連接,我不明白為什麼在執行呼叫時,預覽功能會有所不同。不過我會點選「確定」。您會看到,在某些情況下,年齡資訊被覆蓋了。實際上,它並沒有被覆蓋。這是一件好事。我想知道這是新問題,還是僅在其他情況下已修復。
這是我以前見過的情況,我會根據情況進行覆蓋。 JMP 一直在改進這一點,在某些情況下尤其明顯。但如果你不注意這一點,我們會再次進行仔細檢查。
這似乎解決了一些問題,但還是需要注意,雖然我不知道我的兩個數據都去哪了。這是一個次要問題,我會在旁邊處理。最需要注意的是,年齡可能會被那裡的另一個表覆蓋。當機器資料帶有完整時間戳記時,我經常會看到這種情況,但就像運行表日期實際上只是運行日期一樣,你的一些資料可能會被覆蓋。
這是你必須非常小心的事情,因為在後續的許多步驟中,你都不希望看到這種情況發生。最終的結果是,你可能希望在數據中看到某些信息,但現在卻什麼也沒有了,因為它們被覆蓋了;或者在這種情況下,你希望看到個人年齡,但現在突然間每個人都變成了八十多歲的老人。
這不利於效率和工作流程,尤其是當你需要回溯七步才能找出問題所在時。提前知道這一點會讓你更有把握。在這種情況下,最簡單的解決方法是,如果你知道這是一個風險,只需更新列名或完全刪除,這取決於它是否重要。
我現在意識到為什麼會發生這種情況,因為我剛剛更新了這一項。這是因為當我執行召回操作時,它仍然按年齡匹配,而我修改了年齡。我們實際上要刪除它。現在您可以看到,部分覆蓋操作發生在您的兩個表中。這就是最終導致問題的原因。簡單的解決方法是更改名稱。我們都回到加入和召回操作。現在您會看到其中一些缺少年齡,但其他一些有。然後,其他的會有 age_ ,以表示年齡沒有被覆蓋。
這就是解決辦法。這件事曾經讓我措手不及,很多時候都是無意間犯的。現在我不再犯同樣的錯誤了。我只是能更快地發現並糾正它。如果你犯了同樣的錯誤,不要責怪自己。習慣需要時間,到最後,你很少會停止犯錯。你只是在錯誤發生時,能更好地糾正它們而已。
接下來是更新。更新是一款非凡的工具。說實話,它剛出現的時候,我對它又愛又恨,而且是我對它又愛又恨,因為它與更新所做的假設有關。如果你不注意這些假設,它們可能會讓你吃虧。具體來說,就像我們之前討論的覆蓋問題一樣。我要把這個頁面放回這裡,然後我們真的要…
顯然,我在做所有事情時都這樣做了,但就是這樣。回到我們擁有所有其他年齡層的地方。更新實際上是一個連接,但它不會建立表。我們轉到更新,同樣的基本設定。現在我們要與擴充的大類別進行連線。我們將按姓名、年齡和性別進行配對。
在這個階段,你也可以從預覽中稍微看出這一點,JMP 做了一些假設。它只進行內聯,這意味著它不包含任何來自兩個表的缺失值。它只匹配主表中的內容。
其次,它預設會合併同名列。如果你還沒準備好,這可能會給你帶來麻煩。這正是我早期適應更新工作方式時遇到的問題,我尷尬地在數據中花了很長時間才找到它,然後我不得不回頭修復它。
了解了這一點後,JMP 會提供一些額外的功能,讓操作更輕鬆。如果您有大量數據,或者擔心某些數據可能會被覆蓋,您可以控制更新表中哪些列被添加。如果我選擇只添加,例如心率或 BMI,並確保這些額外的列不會被添加,以免它們不屬於連接操作的一部分,從而避免潛在的覆蓋風險。
同樣,在這裡,我們正在將列新增到主表中。我可以不選擇任何列,並且硬停止按鈕會阻止覆蓋操作。或者,您也可以在這兩種情況下都允許選擇,以控制覆蓋操作。當您學習如何使用更新功能時,它確實是一件很棒的事情,但它也有一些注意事項。例如,現在我剛剛運行了這個命令,它將BMI添加到了這個表中。現在我的主表已被更改。如果這不是您想要執行的操作,那麼更新可能不是您在這個特定用例中想要的操作。
然而,隨著人們習慣於使用更多的 JMP 並且越來越熟練,希望擁有更少的表格而不是更多的表格通常是很常見的,特別是當它變得疲倦並且試圖跟踪你製作的所有表格,表格來自哪裡等等。
你能透過一些小技巧來減少表數量,這非常值得讚賞。在這種情況下,Update 在這方面做得非常好,尤其是在我有三到四個表的情況下。我還有一個表格包含其他人員指標。如果我必須分別與這些表進行連接,我會再創建三到四個全新的表來堆疊該連接。 Update 讓我能夠將所有內容合併到一張表中。
我們這裡就不展開講了,但如果有機會,最好研究一下虛擬連接,它允許你連接多個表,而無需實際連接它們。這真的很酷。 JMP 的員工等等已經做過很多演示,應該也有一些網路研討會可以進一步解釋這一點。如果你有時間,可以嘗試這個功能,這真的很有趣。但是 Update 會把這個連結加到你的主表中,效果看起來真的很棒。
現在我們要講一個更簡單的方法:連結。簡單來說,連結就是把表格一個接一個地疊在一起。
它就是這麼做的。實際上,我可以直接使用這個發現模組。我們接下來要進行連接。現在我們基本上只需列出所有想要連接在一起的表格即可。如果我想在這裡添加擴展的大類,它會將它們疊加在一起。如果我想盡量減少表數量,我可以將其附加到第一個表中。
您也可以建立一個來源列。我建議這樣做,尤其是在您要建立一個單獨的表的情況下,因為這樣您可以控制資料的來源。如果您點擊“確定”,它只會更新您的數據,將它們放在彼此的頂部,這樣我就可以準確地看到哪些行來自哪個表,在這方面它的效果非常好。
人們在使用 Concatenate 時遇到的問題通常是資料看起來不太像他們想要的,或者資料放在了錯誤的位置。在這種情況下,我會稱之為“指標”,或者實際上……我想知道它是否能用不同的方式表達同樣的意思。
當我進行連接時,你會看到這裡有兩列。這是一個明顯不同的範例。然而,JMP 確實在意,至少從我以往的經驗來看,他們會在意大小寫或拼字錯誤之類的問題,這些問題可能會擾亂資料的組織方式。也可能是這種情況,只是命名約定不同或拼字錯誤,人們可能會手動輸入一些內容,導致你的資料不在它應該在的位置。
對於BMI(身體質量指數)這種只出現過一次的情況,修復起來相當簡單。這裡有一個有趣的小技巧:如果你點擊其中一個空白單元格,然後右鍵點擊並選擇“匹配單元格”,所有空白單元格都會被選中。
現在我可以反轉選擇,這樣所有我想放在這裡的元素都會被選中。我可以複製它們,然後如果我選擇此列的標題,它們就會保持選中狀態,我可以直接貼上它們,這樣錯誤就解決了。我可以刪除此列。這是最快捷的方法。
如果這種情況發生在十幾列上,速度會更慢,而且更麻煩。如果這種情況真的發生了,最好的解決方法是修改列名。不過,根據你正在做的事情以及你處於流程步驟的哪個階段,有很多方法可以解決這個問題。當你想解決這個問題時,並沒有真正意義上的最佳方法。
但這是我發現人們在進行連接操作時遇到的最大問題,因為他們有很多列,而現在數據卻沒有按要求放到合適的位置。從此以後,問題就出現了。但除此之外,連接操作效果非常好,而且它是將多個表快速整理成一個表的好方法。
現在我們快要結束了。我將在這裡簡要地討論一下這些技巧,而不會提供太多具體的例子,部分原因是我並沒有大量使用它們來積累大量的技巧和竅門。但我已經用過足夠的技巧了,知道它們很有用,值得研究和嘗試。
JMP 查詢產生器基本上允許您從現有的多個資料表建立 SQL 查詢。您也可以將 JMP 查詢產生器與實際儲存在電腦外部資料庫中的資料表一起使用,並將所有資料匯入 JMP。您可以將 JMP 查詢產生器與現有表混合使用,這真的很棒。
缺失資料模式,我看過很多關於缺失資料模式的精彩示範。我實際上並沒有在日常工作中使用缺失資料模式,部分原因是我很幸運,沒有遇到太多缺失資料問題。
此外,在我已經習慣用一種完全不同的方式挖掘數據,找到我的缺失資料模式可能存在的位置之後,缺失資料模式才出現在我身上。我只是還沒有把缺失資料模式加入我的工具庫。我一直告訴自己,我需要多嘗試一下,因為當你看到其他人使用它時,你會發現這是一種非常有趣的數據檢視方式。
比較數據表。這個功能很有趣……我會快速示範一下。它允許你選擇幾個表進行比較。 JMP 會嘗試符合它們的名稱。在這裡你可以看到它已經完成了,你可以修復它。但是,如果你直接點擊“比較”,它會遍歷並顯示表中所有差異的位置。
就像我在這裡看到的,我不確定它到底在顯示什麼。我需要多玩幾次才能熟悉它。但這確實是一個有趣的方法,即使沒有別的辦法,也可以拿兩張表來檢查一下是否所有資料都一樣。很多時候,我會檢查一下自己是否無意更改了數據。
當你深入了解這些變化的細節時,你會發現很多選項才是真正發揮作用的地方。我鼓勵大家嘗試一下,看看在自己的用例中效果如何,因為它是一個很好的平台,而且我還沒有充分發揮它的全部功能。但 JMP 確實能讓我們做一些很酷的事情,而這些事情是我自己無法用其他方式做到的。
最後,匿名化,這是清單中的最後一項。基本上,它會取得你面前的表格,當你點擊「確定」時,它就會將其匿名化。現在沒人知道這意味著什麼。這就是創建不包含任何其他人能夠理解或消化的資訊的資料表的意義所在。
如果您在表格中擁有專有信息,但希望 JMP 幫助您解決遇到的問題,您可以匿名化您的表格,然後使用此信息重現您的問題,並能夠安全地與其他 JMP 支持人員共享此信息,而不必擔心違反您公司可能存在的任何專有 IP 規則,因為現在沒有人知道這些數據來自哪裡以及發生了什麼。
這真是個有趣的訊息;JMP 也能讓這個過程變得非常快速和簡單。不妨試試看。這真是一個有趣的方法。
我想這差不多就是表格選單的結尾了。我要感謝JMP以及所有參與探索系列的朋友們,感謝你們給我這次機會,因為這是一個非常有趣的話題。我相信很多人在JMP的旅程中都會從中獲得價值。非常感謝大家。今天的內容就到這裡。