In einem früheren Blogeintrag , Ich teilte mit, dass ich das benutzt habe JMP 12-Version der Recode-Plattform die Namen von Lebensmitteln in einer Datentabelle mit fast vier Jahren Lebensmittelprotokollinformationen aufräumen. Ich konnte die Anzahl der eindeutigen Namen von Nahrungsmitteln, die in meinem ~ 35.000-reihigen Tisch erscheinen, um die Hälfte reduzieren und den Tisch auf ~ 900 einzigartige Nahrungsmittel reduzieren. Selbst wenn Sie kein Essensprotokoll führen, können Sie sich sicher vorstellen, wie nützlich diese Art der Bereinigung und Konsolidierung sein könnte, wenn Sie mit Ihren eigenen großen Datentabellen arbeiten! Ich habe in meiner E-Poster-Präsentation auf der Discovery Summit 2014, die Sie in der JMP User Community finden, einige weitere Details gegeben PDF-Formular ), aber als ich schrieb mein erster Recode-Blogbeitrag, Es war nicht an der Zeit, die vielen neuen Funktionen von Recode in JMP 12 mitzuteilen und wie ich sie zur Rationalisierung meines Datenbereinigungsprozesses verwendet habe.
Nun das Vorschau-Beiträge für JMP 12 Nachdem ich offiziell begonnen hatte, wollte ich ein paar weitere Informationen darüber geben, wie ich Recode-Verbesserungen verwendet habe, um die Zeit, die zum Kombinieren und Gruppieren meiner Lebensmittel benötigt wird, erheblich zu reduzieren. Ich hatte das Glück, viele der neuen Recode-Funktionen bereits in einem sehr frühen Stadium ihrer Entwicklung in meinen Lebensmittelprotokolldaten testen zu können. Ich muss mich beim Recode-Entwickler ganz herzlich bedanken James Preiss Aus Geduld mit meinen häufigen E-Mails und Besuchen in seinem Büro, während er an dieser neuen Funktion arbeitete! Ich fand heraus, dass viele meiner Anfragen gut zu den Nutzervorschlägen passen, die wir für Recode erhalten hatten. Ich habe es wirklich genossen zu sehen, wie sich diese Vorschläge auf der Plattform verfestigten, da sie sich in der aktiven Entwicklung befand.
Betrachten wir ein Beispiel, das ich häufig verwendet habe, als ich mit James über Recode-Ideen sprach: Gruppieren und Reinigen einer Reihe von Lebensmitteln, deren Namen das Schlüsselwort "Schokolade" enthielten. Ich habe in meinem früheren Beitrag beschrieben, wie ich in JMP 11 Datenfilter für die darunterliegende Tabelle verwendet habe, um alle Lebensmittel zu finden, die das Wort Schokolade enthalten. Mit dieser Teilmenge der Tabelle in der Ansicht habe ich dann im Dialogfeld Neukodieren nach oben und unten gescrollt, um diese Elemente zu suchen, und einen allgemeinen Elementnamen in das Bearbeitungsfeld für alle zugehörigen Elemente eingefügt. Das Ändern eines etablierten Gruppennamens kann langwierig sein, es sei denn, ich wäre bereit, mein Recode-Skript zu erstellen, anzuwenden und zu bearbeiten.
Recode in JMP 12 bietet eine Reihe zeitsparender Verknüpfungen zum Gruppieren von Elementen. Das Filterfeld im Dialogfeld "Neukodieren" erleichtert das Auffinden schokoladenhaltiger Artikelnamen in meiner langen Liste. Ich fand, dass die automatische Gruppierung nach Textbearbeitungsdistanz gut für die Gruppierung von Kurznamen von Nahrungsmitteln funktionierte (z. B. "Nestle After Eight Chocolate Mints" und "After Eight Chocolate Mints" im Beispiel unten) und auch dazu beigetragen hat, nahezu identische Namen zu kombinieren, die etwas unterschiedlich sind Längen in meinen Lebensmittelprotokolldateien.

Die neue manuelle Gruppierungsoption von Recode war sehr nützlich, um längere Namen zu konsolidieren, die nicht an der von mir festgelegten Textbearbeitungsschwelle lagen. Ich könnte steuern oder die Umschalttaste drücken, um einen Satz verwandter Elemente auszuwählen, mit der rechten Maustaste klicken, um sie zu gruppieren und einen Wert als Gruppennamen zu wählen. Wenn die gruppierten Elemente alphabetisch voneinander entfernt sind, werden sie automatisch neu angeordnet, um zusammen angezeigt zu werden. Wenn ich mich entschied, den Gruppennamen in einen neuen Wert zu ändern (z. B. "Milch, Schokolade"), könnte ich den Gruppennamen einfach bearbeiten, damit er auf alle gruppierten Elemente angewendet wird.

Nachdem ich alle Namen der einzelnen Artikel aufgeräumt hatte, erstellte ich einen Satz von etwa 30 Lebensmittelgruppen, die für mich bedeutsam waren, um meine Lebensmittel zu klassifizieren. Ich habe für jedes Element zwei verschiedene Klassifizierungsvariablen erstellt. Die Variable "Meine Lebensmittelkategorie" enthielt eine durch Kommas getrennte Liste aller Kategorien, zu denen ein Lebensmittel gehörte. Diese Spalte wurde als Spalte mit mehreren Antworten gespeichert. Die Variable für die primäre Lebensmittelkategorie enthielt eine einzige Kategorie - die Gruppe, in der ich das beste Essen fand. Bei "ganzen" Lebensmitteln waren die Werte in diesen beiden Spalten oft gleich, bei komplexen Lebensmittelkombinationen jedoch unterschiedlich. Während ich Zuckerschotenerbsen in beiden Spalten der Lebensmittelkategorie unter Gemüse platziert habe, habe ich einen gesalzenen Karamellmokka in die Hauptnahrungsmittelkategorie I mit dem Namen CoffeeMilk gesetzt. Im Gegensatz dazu listete die durch Kommas getrennte Liste der Nahrungsmittelkategorien für einen Mokka die Werte "Schokolade, Kaffee, Milch" auf. Ich habe meine Variable mit mehreren Kategorien für die Lebensmittelkategorie im JMP-Datenfilter verwendet, um alle Lebensmittel auszuwählen, die zu einer primären Lebensmittelgruppe gehörten. Ich habe meine Hauptnahrungsmittelkategorie als Gruppierungsvariable in grafischen Zusammenfassungen und in Fällen verwendet, in denen es weniger sinnvoll war, dass Artikel zu mehr als einer Gruppe gehören.
Ich habe mit dieser Datentabelle eine Vielzahl verschiedener JMP-Diagrammtypen ausprobiert, und meine Lieblingsvisualisierung war die Baumkarte. Ich habe Treemaps auf Artikelebene ohne Gruppierungsvariable erstellt, um zu sehen, welche einzelnen Nahrungsmittel in den letzten vier Jahren am meisten zu meinen Kalorienwerten beigetragen haben. Ich fand jedoch heraus, dass die Verwendung meiner primären Gruppen von Lebensmittelgruppen als zweite Gruppierungsebene in der Baumkarte beim Vergleich sehr hilfreich war die Beiträge von Lebensmitteln neben anderen ähnlichen Lebensmitteln. Hier ist eine Treemap mit gruppierten Lebensmitteln, die ich über alle vier Jahre gegessen habe. Ich habe die Option "Local Data Filter" im Abschnitt Script des roten Dreiecks des Graph Builder-Menüs verwendet, wenn ich die Ansicht auf bestimmte Mahlzeiten oder Jahre einschränken wollte.

Um eine Treemap mit dem vorhandenen Split-Layout von JMP 11 zu erstellen, öffnen Sie den Graph Builder und:
Ziehen Sie Kalorien auf die Y-AchseZiehen Sie den Namen des gereinigten Objekts auf die X-Achse und anschließend die primäre Lebensmittelkategorie, sodass auf der X-Achse der primäre Lebensmittelkategorie / Name des gereinigten Elements angezeigt wirdKlicken Sie oben im Graph Builder-Fenster auf das Treemap-SymbolZiehen Sie die primäre Lebensmittelkategorie in das Feld FarbeDeaktivieren Sie die Option Legende anzeigen im Menü des roten Dreiecks des Graph Builder(Wenn Sie JMP 12 installiert haben, müssen Sie lediglich im Dropdown-Menü Layout unter dem Treemap-Eigenschaftenbereich links Squarify auswählen, um den neuen Algorithmus zu erhalten.)
Ich habe eine vereinfachte Version dieser Treemap für meine erstellt E-Poster Anzeige der Gesamtkalorien nach Jahr, wobei die Größe der Quadrate die Anzahl der Kalorien darstellt, die in jeder Hauptnahrungsmittelkategorie aufgenommen wurden. Diese Grafik half mir zu verstehen, wie sich meine Essgewohnheiten auf der Ebene der Lebensmittelgruppen im Laufe der Zeit verändert haben. Eine der offensichtlichsten Änderungen, die ich beobachtete, war, dass ich in der Kategorie Brot viel mehr als zuvor gegessen habe. Ein tieferer Einblick in meine Daten auf der Mahlzeitsebene ergab, dass dies hauptsächlich auf Änderungen in meinem typischen Frühstück zurückzuführen war, das früher Scones mit Kaffee enthielt, heute aber griechischer Joghurt aus Schokolade ist. Wie viele Menschen tendiere ich dazu, eine bevorzugte erste Mahlzeit des Tages zu entwickeln und dabei zu bleiben, bis ich es satt habe, sie zu essen. Als ich mich dieser Verschiebung bewusst wurde, stellte ich mir die Frage, warum ich meine Lieblings-Ahorn-Hafer-Nuss-Scones nicht mehr backte. Ich habe sie kürzlich häufiger gemacht!

So replizieren Sie die Treemap für dieses Jahr nach Jahr mit dem Split-Algorithmus von JMP 11:
Ziehen Sie Kalorien auf die Y-AchseZiehen Sie die primäre Lebensmittelkategorie auf die X-AchseKlicken Sie oben im Graph Builder-Fenster auf das Treemap-SymbolZiehen Sie die primäre Lebensmittelkategorie in das Feld FarbeDeaktivieren Sie die Option Legende anzeigen im Menü des roten Dreiecks des Graph BuilderZiehen Sie das Jahr in die Umbruchzone(Auch in JMP 12 können Sie im Pulldown-Menü Layout im Bereich Treemap-Eigenschaften die Option Quadrieren auswählen. )
Wenn du meine gesehen hast früherer Beitrag Über meine Gewichtsabnahme- und Wartungsreise, werden Sie vielleicht überrascht sein, wie viele "Junk" -Nahrungsmittel in meinem Essensprotokoll erscheinen. Ich gebe zu, ich esse fast jeden Tag dunkle Schokolade neben meinem Lieblingsmix aus Kakaopulver / Toffee-Nuss-Sirup / normalem griechischem Joghurt / Karamellsauce, der auf Pinterest schon hunderte Male wiederholt wurde! Ich habe festgestellt, dass es nicht notwendig ist, so genannte Junk-Lebensmittel vollständig auszuschneiden, während ich mein Gewicht in meinem bevorzugten Bereich halte. Die Gesamtzahl der von mir verbrauchten Kalorien im Auge zu behalten, hat sich als wesentlich wichtiger erwiesen, um mein Gewicht langfristig zu halten.
Lesen Sie den ersten Blogeintrag in diese serie s um mehr über mein Interesse an der quantifizierten Self (QS) -Datenanalyse zu erfahren. Sie können eine PDF-Version meines JMP Discovery Summit 2014 herunterladen E-Poster mit weiteren Beispielen für Baumkarten, die ich aus meinen Daten erstellt habe, und lade mein JMP herunter Add-In um Ihre eigenen BodyMedia®-Dateien zu importieren Hier . Ich habe nicht versucht, den Prozess zum Umcodieren von Lebensmitteln mit einem Skript zu verallgemeinern, da ich denke, dass die in einem Lebensmittelprotokoll enthaltenen Lebensmittel zu stark variieren, als dass ein allgemeines Skript nützlich ist. Wenn Sie jedoch meinen Ansatz zur Erstellung eines konsolidierten Satzes von Artikelnamen in Ihrem eigenen Essensprotokoll mithilfe von Recode replizieren möchten, nehmen Sie Ihre Kopie von JMP 12, wenn sie herauskommt, und sehen Sie meine früherer Blog .
PS Es ist frei, dem beizutreten JMP-Benutzergemeinschaft , wo Sie von JMP-Anwendern auf der ganzen Welt lernen können!