在早些時候博客文章 ,我分享了我用過的 JMP 12版本的Recode平台清理包含近四年食物日誌信息的數據表中的食物項目名稱。我能夠將我的~35,000行表中出現的獨特食品名稱的數量減半,將餐桌減少到約900種獨特食品。 即使您沒有保存食物日誌,我相信您可以設想在使用您自己的大型數據表時這種清理和整合有多大用處!我在2014年Discovery峰會的電子海報演示中提供了更多細節(您可以在JMP用戶社區中找到) PDF表格 ),但是當我寫作時我的第一篇Recode博文,現在還不是時候在JMP 12中分享Recode的許多新功能,以及我如何使用它們來簡化我的數據清理過程。
現在 JMP 12的預覽文章我已經正式啟動,我想提供一些有關我如何使用Recode增強功能的更多信息,以顯著減少組合和分組食物所需的時間。 我很幸運能夠在他們開發的早期階段測試我的食物日誌數據中的許多新Recode功能。 我必須非常感謝Recode開發人員詹姆斯普雷斯在他正在研究這個新功能的同時,我經常收到電子郵件和訪問他的辦公室的耐心!我發現我的許多請求與我們收到的Recode用戶建議很好地排列在一起。我很高興看到這些建議在平台上得到鞏固,因為它正在積極開發中。
讓我們考慮一下我在與James討論Recode想法時經常使用的一個例子:分組和清理一組名稱中包含關鍵詞“巧克力”的食品。我在之前的文章中描述瞭如何在JMP 11中使用基礎表上的數據過濾器來查找包含巧克力這個詞的所有食品。隨著視圖中該表的子集,我然後在Recode對話框中上下滾動以找到這些項並將公共項名稱粘貼到所有相關項的編輯框中。 除非我已準備好創建,應用和編輯我的Recode腳本,否則更改已建立的組名稱可能會很繁瑣。
JMP 12中的重新編碼提供了許多用於分組項目的省時快捷方式。 “重新編碼”對話框中的過濾器字段可以輕鬆地在我的長列表中查找含巧克力的項目名稱。我發現通過文本編輯距離進行自動分組可以很好地分組短食品名稱(例如,下面的例子中的“雀巢八巧克力薄荷”和“八個巧克力薄荷”之後)並且還幫助組合幾乎相同的名稱截斷略有不同我的食物日誌文件中的長度。

Recode的新手動分組選項對於合併在我設置的文本編輯閾值處不匹配的較長名稱非常有用。 我可以控製或按住Shift鍵單擊以選擇一組相關項目,然後右鍵單擊以對其進行分組,選擇一個值作為組名稱。如果分組的項目按字母順序彼此遠離,則它們將自動重新排序以一起顯示。如果我決定將組名更改為新值(例如,“Milk,Chocolate”),我只需編輯組名稱即可將其應用於所有分組項目。

一旦我清理了所有單獨的項目名稱,我就創建了一組30個左右的食物分組,這對我來說對我的食物分類很有意義。我為每個項目創建了兩個不同的分類變量。 “我的食物類別”變量包含一個逗號分隔的列表,其中包含食物項目所屬的所有類別,並保存為多重響應列。 初級食品類別變量包含一個類別 - 我認為食物最佳的類別。 對於“整體”食物,這兩列中的值通常是相同的,但它們對於復雜的食物組合是不同的。 雖然我在兩種食品類別的專欄中都將糖豌豆放在蔬菜下,但我將鹽漬焦糖摩卡加入了名為CoffeeMilk的初級食品類別I中。 相比之下,摩卡定義的摩卡咖啡分類列表中列出了“巧克力,咖啡,牛奶”的價值。當我想要選擇屬於主要食物組的所有食物時,我在JMP數據過濾器中使用了我的多重響應食物類別變量。我將我的初級食品類別用作圖形摘要中的分組變量,以及對於屬於多個組的項目不太有意義的情況。
我用這個數據表嘗試了各種不同的JMP圖形類型,我最喜歡的可視化是樹形圖。 我在沒有分組變量的情況下創建了項目級別的樹形圖,以查看過去四年中哪些食物對我的卡路里總量貢獻最大,但我發現使用我的主要食物組類別作為樹形圖中的第二個分組級別對於比較非常有幫助食品與其他類似食品的貢獻。這是一張樹形圖,包括我四年來吃的分組食物。 當我想根據需要將視圖限制為特定的膳食或年份時,我使用了Graph Builder紅色三角形菜單“腳本”部分下的“本地數據過濾器”選項。

要使用現有JMP 11拆分佈局創建樹圖,請打開Graph Builder並執行以下操作:
將卡路里拖動到Y軸將清理的項目名稱拖動到X軸,然後拖動主食品類別,使X軸讀取主食品類別/清洗的項目名稱單擊Graph Builder窗口頂部的Treemap圖標將主食品類別拖到顏色框中取消選中Graph Builder紅色三角形菜單下的Show Legend選項(一旦有了JMP 12,您只需從左側樹形圖屬性窗格下的佈局下拉菜單中選擇Squarify即可獲得新算法。)
我為我創建了這個樹形圖的簡化版本電子海報顯示按年份攝入的總卡路里,正方形的大小代表從每個主要食物類別中攝取的卡路里數量。 這張圖幫助我了解我在食物組水平的飲食模式隨時間的變化。我觀察到的一個最明顯的變化是,我過去常常在麵包類別中吃掉比現在更多的東西。 在膳食水平上更深入地挖掘我的數據顯示,這主要是由於我的典型早餐的變化,過去常常包括與咖啡的烤餅,但現在通常是巧克力希臘酸奶。像許多人一樣,我傾向於開發當天最受青睞的第一頓飯並堅持下去,直到我厭倦了吃它。意識到這種轉變讓我質疑為什麼我停止烘焙我最喜歡的楓葉燕麥堅果烤餅,最近我又回去製作它們了!

要使用JMP 11拆分算法按年復制樹形圖:
將卡路里拖動到Y軸將主食品類別拖動到X軸單擊Graph Builder窗口頂部的Treemap圖標將主食品類別拖到顏色框中取消選中Graph Builder紅色三角形菜單下的Show Legend選項將Year拖到Wrap放置區域(同樣,在JMP 12中,您可以從“樹形圖”屬性窗格下的“佈局”下拉菜單中選擇“Squarify”。)
如果你看到我的早先的帖子關於我的減肥和保養旅程,那麼你可能會驚訝地看到我的食物日誌中出現了多少“垃圾”食物。 我承認我幾乎每天都吃黑巧克力,除了我最喜歡的可可粉/太妃糖堅果糖漿/普通希臘酸奶/焦糖醬早餐混合物,它已在Pinterest上被重複數百次!我發現我沒有必要完全切掉所謂的“垃圾”食物,同時保持我的體重在我的首選範圍內。 密切關注我消耗的卡路里總量已經證明對於長期保持體重更加重要。
查看第一篇博客文章這個系列小號了解更多關於我對量化自我(QS)數據分析的興趣。 您可以下載我的JMP Discovery Summit 2014的PDF版本電子海報我從我的數據創建了更多樹形圖示例並下載了我的JMP 加入導入您自己的BodyMedia®文件這裡 。我沒有嘗試用腳本概括食物項目重新編碼過程,因為我認為食物日誌中包含的食物會因一般腳本有用而變化太大。但是如果你想複製我的方法來使用Recode在你自己的食物日誌中創建一組合併的項目名稱,那麼在它出來時抓住你的JMP 12副本並查看我的早期的博客 。
PS 它可以免費加入 JMP用戶社區 ,您可以向世界各地的JMP用戶學習!
QS電台第1集|量化自我統一的自我中寫道:
[...] Show&Tell您可以在JMP博客上找到有關Shannon Conners及其自我跟踪體驗的更多信息。我們特別談到她出色的飲食樹圖可視化:[...]
我們在讀什麼量化自我統一的自我中寫道:
[|]很高興看到CHI論文以Medium為結尾。這似乎是一個有趣的自我跟踪/藝術項目。用Shannon Conners的JMP 12清理和可視化我的食物日誌數據。香農再一次展示了一種使用她的數據讓我們驚嘆的精彩能力[â€]