Ich habe vor kurzem eine JMP-Add-In Ich schrieb, dass ich meinen kompletten Satz von BodyMedia FIT-Lebensmittelprotokolldateien einschließlich der Daten vom 21. Dezember 2010 bis zum letzten Tag, an dem ich am 29. März 2015 meine Mahlzeiten in dieser Software protokollierte, importieren wollte. Meine endgültige Datentabelle enthielt 39.942 Zeilen mit Namen von Nahrungsmitteln. In Kombination mit den 60 Tagen (1.551 Zeilen) der Daten aus meinem MyFitnessPal-Nahrungsmittelprotokoll, das ich seit meinem Wechsel von BodyMedia zu einem FitBit Charge HR Ende März verwalte, habe ich fast 41.000 Zeilen mit Lebensmittelprotokolldaten!
Ein wesentlicher Schritt in meinem Datenvorbereitungsprozess für diese Datentabelle war das Bereinigen der Namen der Lebensmittel, indem ähnliche Elemente unter einem einzigen Wert zusammengefasst werden. Ohne diesen Bereinigungsschritt ende ich mit vielen eindeutigen Artikelnamen, die wirklich das gleiche Nahrungsmittel repräsentieren. Ich aß zum Beispiel verschiedene dunkle Schokoladen und gab die richtigen Markennamen an, sofern diese verfügbar waren. Oft musste ich sie jedoch ersetzen, da viele bestimmte Artikel in der BodyMedia-Datenbank nicht vorhanden waren. Dadurch wurden genaue Namen noch weniger aussagekräftig, daher erschien es mir sinnvoll, alle Sorten unter einem einzigen Namen zusammenzufassen ("Candy Bar, Dark Chocolate").
Ich habe die Tabelle mit den Nahrungsmittelprotokollen, die ich im vergangenen Herbst beim Discovery Summit vorgestellt hatte, mithilfe der Recode-Plattform in einer frühen Benutzerinstallation aufgeräumt JMP 12 Damals fehlte Recode die neuen Optionen zum Speichern / Laden von Skripts, auf die ich mich jetzt für alle meine Datenbereinigungsprojekte verlasse. Stattdessen habe ich meine Artikel umcodiert und eine Nachschlagetabelle erstellt, in der die ursprünglichen und umcodierten Namen für jeden einzelnen Artikel aufgeführt sind, der in meinem Lebensmittelprotokoll angezeigt wurde. Ich habe diese Nachschlagetabelle jedes Mal aktualisiert, wenn ich neue Einträge zu meinem Essensprotokoll hinzufügte. Ein Abschnitt meiner Nachschlagetabelle ist unten gezeigt.

Bevor ich ging, um am QS15 Bei der Konferenz in San Francisco im letzten Monat habe ich JMP-Formelspalten genutzt, um ein Skript zu erstellen, das in das Dialogfeld "Neukodieren" geladen werden konnte, um meine Elementgruppierungen erneut zu erfassen, sodass ich sie aktualisieren konnte. Dies machte es einfach, neue Food-Item-Namen neu zu codieren und das aktualisierte Skript für den Fall zu speichern, dass ich meine Arbeit in der Zukunft optimieren müsste.
Da ich diesen Trick zur Skripterstellung so nützlich fand, dachte ich, ich würde ihn teilen. Wenn Sie in der Vergangenheit einen ähnlichen Lookup-Table-Ansatz verwendet haben, denken Sie möglicherweise, dass es sehr aufwendig wäre, Ihren Ansatz in Recode neu zu erstellen. In diesem Beispiel können Sie auch von einer Nachschlagetabelle zu einem JMP 12 Recode-Skript wechseln, das Sie im Dialogfeld Recode erneut laden und aktualisieren können, um neue Daten aufzunehmen. Am Ende können Sie einfach eine neue Version Ihrer Nachschlagetabelle aus Ihrer endgültigen Datentabelle mit den ursprünglichen und umcodierten Werten neu erstellen.
Ich musste mein Skript so strukturieren, dass es mit einem Standard-Recode-Skript identisch ist. Daher habe ich eines geöffnet, das ich für ein verwandtes Projekt gespeichert hatte. Um ein Recode-Beispielskript zu speichern, können Sie einige Gruppen in einem geöffneten Dialogfeld "Recode" erstellen. Klicken Sie dann auf das rote Dreieck der Plattform und wählen Sie "Skript"> "In Datei speichern".
Ich öffnete die JSL-Datei, die das Recode-Skript enthielt, und bemerkte, dass sie mit einem Aufruf zum Aktualisieren der Tabelle und einer Reihe von Übereinstimmungsanweisungen begann, die den ursprünglichen Elementnamen mit dem neu codierten Namen koppelten.

Am Ende des Skripts enthielt es den Spaltennamen und das Ende der Datenaktualisierung.

Um die Liste der gekoppelten ursprünglichen und umcodierten Namen auszufüllen, die zwischen dem Anfangs- und dem Endabschnitt lagen, habe ich in meiner Nachschlagetabelle eine neue Formelspalte erstellt, die zitierte Versionen des ursprünglichen Elementnamens und des umcodierten Elementnamens enthält.

Ich habe die Formelspalte in ein Skriptfenster kopiert und eingefügt und dann die richtigen Anweisungen und Variablennamen oben und unten im Skript hinzugefügt.
Beim Neuladen im Dialogfeld "Neukodieren" erstellte mein Skript folgende Gruppierungen:

Ich könnte dann vorhandene Gruppen hinzufügen, neue erstellen oder die repräsentativen Gruppennamen bearbeiten. Ich habe einen ähnlichen Ansatz verwendet, um eine Version meines Skripts zum Umcodieren von Elementen in Lebensmittelgruppierungen zu erstellen, da ich Lebensmittelgruppen in meine Nachschlagetabelle aufgenommen hatte und meine neuen Elemente gruppieren wollte.
Ein Problem, dem ich begegnete, war, dass der Name eines Lebensmittels ein doppeltes Anführungszeichen („) enthielt, das ich ersetzen musste, damit es nicht die zitierten Zeichenfolgen der Artikelnamen störte.
Ich hoffe, Sie werden die JMP 12 Recode-Plattform ausprobieren, falls Sie dies noch nicht getan haben. Egal, ob Sie ein neues Projekt beginnen oder ein altes für die Nutzung der Plattform konvertieren, ich denke, Sie werden zufrieden sein!