手動輸入的數據通常不干淨且一致。即使數據是通過多選字段而不是文本輸入字段輸入的,當它與可能不在跨源使用相同類別的數據組合時,可能還需要額外的工作。有時,相同的類別拼寫不同,縮寫不同,或大寫不同,或者只是錯誤鍵入,導致在模型中使用時會有更多類別和無效分析。
例如,考慮客戶字段 “氣缸帶”數據可以從UCI機器學習實驗室下載(最初來自Bob Evans,RR Donnelly&Sons)。
導入此數據時,您會發現“客戶”有83個唯一值。實際客戶少得多 - 只是同一客戶有多個編碼。例如,客戶Abbey Press有三種編碼方式:“ABBEY”,“ABBEYPRESS”和“ABBYPRESS”。



在早期版本的JMP中,我們使用技巧來重新編碼值。例如,我們可以將“ABBEYPRESS”複製到剪貼板中,然後使用直方圖選擇與“ABBEY”對應的行,選擇“Customer”列然後粘貼 - 這會將每個“ABBEY”更改為“ABBEYPRESS”。
一旦Recode命令可用,我們就可以復制“ABBEYPRESS”並將其粘貼到Recode對話框中的“ABBEY”和“ABBYPRESS”的其他重新編碼值中。
如果你沒有太多的類別,這一切都有效,但如果你有數百個類別怎麼辦?執行所有這些副本和粘貼可能非常費力。
在JMP 12中的新Recode工具中,有兩種非常重要的方法可以使重新編碼更好。
首先,只需選擇所有重新編碼值並右鍵單擊以選擇所選類別,即可完成整個組。現在它們一起顯示為一個組,即使原始值是分開的。不再复制和粘貼;它只是選擇並選擇,結果形成一個可見的組。


但是新Recode中真正令人驚嘆的功能是允許您自動查找具有相似值的組。


在此示例中,該功能自動形成16組。然後,您可以檢查結果組是否具有所需的所有類別,但不是太多。
它如何確定要組合的值?它查看每對類別標籤並確定兩個字符串之間的編輯距離。也稱為Levenshtein距離,它是從一個字符串轉換為另一個字符串的最小編輯操作數。當您運行“組相似值”命令時,它會彈出一個對話框,用於選擇在計算此距離時要考慮的更改類型以及用於將其稱為匹配的條件。此對話框的默認選項通常很有效。
有些小組做得很完美,例如“ECKERD”:

因為“ABBEY”與“ABBEYPRESS”有很大不同,所以它不符合組合它們的標準,因此您必須選擇並右鍵單擊“組”才能執行此操作。


同樣,在這兩個類別中,它沒有抓住“CAS”的縮寫“CASUAL”:

它只有六個“HANOVERHOUSES”中的五個:



雖然您需要檢查結果,但自動化功能可以獲得大部分結果。
重新編碼後,我們將類別數量從83減少到56。
仔細檢查表明需要進行其他調整;事實上,第503行之後的條目似乎已從大寫切換為小寫。通過按住Control鍵並單擊菜單項“轉換為小寫”,我們可以解決所有問題。



當您進入需要清理的較大數據表時,擁有一些自動化功能(如“組相似值”)和改進的用戶界面流(例如選擇和分組而不是複制和執行多個粘貼)會非常有用。
(新的Recode功能,在早期的博客文章中介紹,由James Preiss執行。)
注意: 這是一部分大統計 John Sall撰寫的一系列博客文章。讀完他的全部內容大統計帖子 。
埃米爾弗里德曼中寫道:
這將使生活更輕鬆。謝謝。
連接多個文件(Tables-> Concatenate)時會發生類似的問題,其中列名幾乎相同。我最後編寫了列公式,尋找同一指標的替代版本,並返回任何不丟失的版本。它比複製/粘貼更安全,並給我一個文檔跟踪。我想知道這種事情是否可以構建到未來的版本中。