元の値と新しい値を含むルックアップテーブルからJMP 12 Recodeスクリプトを作成する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />本日、メインのJMPブログにこの記事を投稿しました。 Jeffは、私のコミュニティブログでもこのコンテンツを共有して、ここでも検索できるようにすると便利だと提案しました。 私は初期の頃から改良されたJMP 12 Recodeプラットフォームをかなり多く使っていて、それが私のデータクリーンアッププロジェクトの多くに役立つことがわかった。 しかし、初期のユーザーとしてスタートすることには不利な点がありました。
私は最近使用しました JMPアドイン私は、2015年3月29日にそのソフトウェアに自分の食事を記録した最終日まで、2010年12月21日のデータを含む、BodyMedia FIT食品ログデータファイルの完全なセットをインポートすることを書きました。私の最終データテーブルには、39,942行の食品名が含まれていました。私のMyFitnessPalフードログからの60日間(1,551行)のデータと組み合わせると、昨年3月末にBodyMediaからFitBit Charge HRにデバイスを切り替えて以来、私は約41,000行のフードログデータを持っています。
このデータテーブルのための私のデータ準備プロセスにおける1つの重要なステップは、単一の値の下で類似のアイテムを統合することによって食品アイテム名を整理することでした。このクリーンアップ手順がなければ、私は実際には同じ食品を表す多くの固有の商品名を使います。たとえば、私はさまざまなダークチョコレートを食べ、入手可能な場合は正しいブランド名を示しましたが、BodyMediaデータベースには含まれていない多くの特定の品目を代わりに使用する必要がありました。これは正確な名前をそれほど意味がないようにしました、それで私はそれを単一の名前(“ Candy Bar、Dark Chocolate”)の下にまとめるのが理にかなっていると感じました。
私は、昨年秋にDiscovery Summitで発表したフードログのデータテーブルを、Recodeプラットフォームを使ってクリーンアップしました。 JMP 12。当時、Recodeには、すべてのデータクリーンアッププロジェクトで使用する新しいSave / Load Scriptオプションがありませんでした。代わりに、私は自分の商品を書き直して、自分のフードログに現れたそれぞれのユニークな商品の元の名前と書き換えられた名前をリストしたルックアップテーブルを作成しました。私は自分のフードログに新しいアイテムを追加するたびにこのルックアップテーブルを更新しました。私のルックアップテーブルの一部を以下に示します。

私が参加する前に QS15 先月サンフランシスコで開催された会議で、私はJMPフォーミュラ列を利用して、Recodeダイアログに再ロードしてアイテムグループを再キャプチャして更新できるようにするスクリプトを作成しました。これにより、将来自分の作業を調整する必要が生じた場合に備えて、新しい食品名を書き換えて更新されたスクリプトを保存することが簡単になりました。
このスクリプト作成のコツはとても便利だと思うので、私はそれを共有すると思いました。過去に同様のルックアップテーブルアプローチを使用したことがある場合は、Recodeでアプローチを再現するのが大変な作業になると考えるかもしれません。この例を使用して、ルックアップテーブルからJMP 12 Recodeスクリプトに移行することもできます。このスクリプトは、Recodeダイアログで再ロードして新しいデータに対応するように更新できます。最後に、元の値と記録された値を含む最終データテーブルから、ルックアップテーブルの新しいバージョンを簡単に再作成できます。
私は自分のスクリプトを標準のRecodeスクリプトと同一になるように構築する必要があったので、関連プロジェクト用に保存したものを開きました。サンプルのRecodeスクリプトを保存するには、開いているRecodeダイアログウィンドウでいくつかのグループを作成してから、プラットフォームの赤い三角形をクリックして、script> Save to Fileの順に選択します。
Recodeスクリプトを含むJSLファイルを開いたところ、テーブルの更新を開始するための呼び出しと、元の項目名と記録された名前を対にした一連のmatchステートメントから始まることがわかりました。

スクリプトの最後には、列名が含まれていてデータ更新が終了しています。

最初のセクションと最後のセクションの間にある元の名前と再コード化された名前のペアのリストを埋めるために、元のアイテム名と再コード化されたアイテム名の引用バージョンを含む新しい数式列をルックアップテーブルに作成しました。

式列をスクリプトウィンドウにコピーして貼り付けた後、正しいステートメントと変数名をスクリプトの上部と下部に追加しました。
Recodeダイアログでそれを再ロードすると、私のスクリプトは次のようなグループを作成しました。

その後、既存のグループに追加したり、新しいグループを作成したり、代表的なグループ名を編集したりできます。私は自分のルックアップテーブルに食品グループを含め、私の新しい商品をグループ化したいので、商品を食品グループに再コード化するための私のスクリプトのバージョンを作成するために同様のアプローチを使いました。
私が遭遇した1つの問題は、1つの食品名に二重引用符(“)が含まれていて、それがアイテム名の引用符付き文字列を妨げないように置き換える必要があったことです。
JMP 12 Recodeプラットフォームをまだ試していないのであれば、ぜひ試してみてください。新しいプロジェクトを始めようと、古いプロジェクトをプラットフォームを使うために変えようと、あなたは喜ぶでしょう!すでに使っているのであれば、あなたが取り組んでいる種類のプロジェクトについて知りたいと思います。