Dans un précédent article de blog , J'ai partagé que j'ai utilisé le Version JMP 12 de la plate-forme Recode nettoyer les noms des aliments dans un tableau de données contenant près de quatre années d’informations sur le journal des aliments. J'ai pu réduire de moitié le nombre de noms d'articles uniques figurant dans mon tableau de ~ 35 000 rangées, le réduisant ainsi à environ 900 aliments uniques. Même si vous ne tenez pas de journal alimentaire, je suis sûr que vous pouvez imaginer l’utilité de ce type de nettoyage et de consolidation lorsque vous travaillez avec vos propres grands tableaux de données! J'ai donné quelques détails supplémentaires dans ma présentation d'affiche électronique au Discovery Summit 2014 (que vous pouvez trouver sur la communauté d'utilisateurs JMP dans Formulaire PDF ), mais quand j'ai écrit mon premier article de blog Recode, Il n'était pas encore temps de partager les nombreuses nouvelles fonctionnalités de Recode dans JMP 12 et la façon dont je les ai utilisées pour rationaliser mon processus de nettoyage des données.
Maintenant que postes de prévisualisation pour JMP 12 officiellement lancé, je souhaitais donner davantage d’informations sur la manière dont j’ai utilisé les améliorations de Recode pour réduire considérablement le temps nécessaire pour combiner et regrouper mes aliments. J'ai eu la chance de pouvoir tester un grand nombre des nouvelles fonctionnalités de Recode sur les données de mon journal alimentaire dès le début de leur développement. Je dois remercier le développeur de Recode James Preiss pour la patience avec mes courriels fréquents et les visites à son bureau alors qu'il travaillait sur cette nouvelle fonctionnalité! J'ai constaté que bon nombre de mes demandes correspondaient bien aux suggestions d'utilisateurs que nous avions reçues pour Recode. J'ai vraiment apprécié regarder ces suggestions se solidifier dans la plate-forme en cours de développement actif.
Prenons un exemple que j'ai souvent utilisé lors de la discussion d'idées Recode avec James: regrouper et nettoyer un ensemble de produits alimentaires dont le nom contient le mot clé "chocolat". J'ai décrit dans mon précédent article comment, dans JMP 11, j'avais utilisé le filtre de données sur la table sous-jacente pour rechercher tous les aliments contenant le mot chocolat. Avec ce sous-ensemble de la table en vue, j'ai ensuite fait défiler la boîte de dialogue Recoder de haut en bas pour localiser ces éléments, puis j'ai collé un nom d'élément commun dans la zone d'édition pour tous les éléments associés. Changer un nom de groupe établi peut s'avérer fastidieux, à moins que je ne sois prêt à créer, appliquer et modifier mon script Recode.
Recode dans JMP 12 offre un certain nombre de raccourcis permettant de gagner du temps pour regrouper des éléments. Le champ de filtre de la boîte de dialogue Recoder facilite la recherche de noms d’éléments contenant du chocolat dans ma longue liste. J'ai constaté que le regroupement automatique par la distance d'édition de texte fonctionnait bien pour regrouper les noms d'articles abrégés (par exemple, "Nestlé après huit chocolats" et "après huit chocolats" dans l'exemple ci-dessous) et aidait également à combiner des noms presque identiques tronqués à légèrement différents longueurs dans mes fichiers de journal alimentaire.

La nouvelle option de regroupement manuel de Recode s'est avérée très utile pour consolider des noms plus longs qui ne correspondaient pas au seuil d'édition de texte que j'ai défini. Je pouvais contrôler ou cliquer en maintenant la touche Maj enfoncée pour sélectionner un ensemble d'éléments connexes et cliquer à l'aide du bouton droit de la souris pour les regrouper, en choisissant une valeur comme nom de groupe. Si les éléments groupés étaient distants les uns des autres par ordre alphabétique, ils seraient automatiquement réorganisés pour apparaître ensemble. Si je décidais de changer le nom du groupe en une nouvelle valeur (par exemple, "Lait, chocolat"), je pourrais simplement éditer le nom du groupe pour le faire appliquer à tous les éléments groupés.

Une fois que j'ai nettoyé tous les noms d'éléments individuels, j'ai créé une série d'une trentaine de groupes d'aliments qui étaient utiles pour la classification de mes aliments. J'ai créé deux variables de classification différentes pour chaque élément. La variable Ma catégorie d'aliments contenait une liste délimitée par des virgules de toutes les catégories auxquelles un aliment appartenait, enregistrée sous la forme d'une colonne à réponses multiples. La variable de catégorie d'aliment primaire contenait une seule catégorie - le groupe auquel, à mon avis, l'aliment appartenait le mieux. Pour les aliments "entiers", les valeurs dans ces deux colonnes étaient souvent les mêmes, mais elles différaient pour les combinaisons d'aliments complexes. Tandis que je plaçais les pois mange-tout sous Légume dans les deux colonnes de catégorie d’aliments, j’ai mis un moka au caramel salé dans la catégorie d’aliments de base I appelée CoffeeMilk. En revanche, la liste des catégories d’aliments pour un moka, délimitée par des virgules, indiquait les valeurs "Chocolat, Café, Lait". J'ai utilisé ma variable de catégorie d'aliments à réponses multiples dans le filtre de données JMP pour sélectionner tous les aliments appartenant à un groupe d'aliments principal. J'ai utilisé ma catégorie d'aliments primaires comme variable de regroupement dans des résumés graphiques et dans les cas où il était moins judicieux que des articles appartiennent à plus d'un groupe.
J'ai essayé différents types de graphes JMP avec ce tableau de données et ma visualisation préférée était le treemap. J'ai créé des treemaps au niveau des articles sans variable de regroupement pour voir quels aliments pris individuellement ont le plus contribué au total de mes calories au cours des quatre dernières années, mais j'ai constaté que le fait d'utiliser mes catégories de groupes d'aliments primaires comme deuxième niveau de regroupement était très utile. les contributions des produits alimentaires à côté d'autres aliments similaires. Voici un treemap comprenant les aliments groupés que j'ai mangés au cours des quatre années. J'ai utilisé l'option Filtre de données local dans la section Script du menu du triangle rouge Graph Builder lorsque je souhaitais restreindre l'affichage à des repas ou à des années spécifiques, selon vos souhaits.

Pour créer un treemap en utilisant la disposition fractionnée JMP 11 existante, ouvrez Graph Builder et:
Faites glisser les calories sur l'axe des YFaites glisser le nom de l'élément nettoyé sur l'axe X, puis faites glisser la catégorie d'aliment principal afin que l'axe X lise la catégorie d'aliment principal / nom d'élément nettoyé.Cliquez sur l'icône Treemap en haut de la fenêtre Graph Builder.Faites glisser la catégorie d'aliments primaire dans la zone de couleurDésélectionnez l'option Afficher la légende dans le menu triangle rouge de Générateur de graphes.(Une fois que vous avez JMP 12, il vous suffit de choisir Squarify dans le menu déroulant Présentation sous le volet des propriétés du plan de plan à gauche pour obtenir le nouvel algorithme.)
J'ai créé une version simplifiée de ce treemap pour mon affiche électronique indiquant le nombre total de calories consommées par année, la taille des carrés représentant le nombre de calories consommées dans chaque catégorie d'aliments de base. Ce graphique m'a aidé à comprendre comment mes habitudes alimentaires au niveau des groupes d'aliments avaient changé au fil du temps. L’un des changements les plus évidents que j’ai observé est que j’ai consommé beaucoup plus d’éléments de la catégorie Pain que je le fais maintenant. Une analyse plus approfondie de mes données au niveau des repas a révélé que cela était principalement dû aux changements survenus dans mon petit-déjeuner typique, qui incluait autrefois des scones avec du café mais qui est maintenant généralement du yaourt grec au chocolat. Comme beaucoup de gens, j'ai tendance à développer un premier repas préféré de la journée et à m'en tenir jusqu'à ce que je sois fatigué de le manger. En prenant conscience de ce changement, je me suis demandé pourquoi j’avais cessé de cuire mes scones préférés aux noix et à l’avoine, et j’y suis retourné récemment pour les fabriquer plus souvent!

Pour répliquer ce treemap année par année à l’aide de l’algorithme JMP 11:
Faites glisser les calories sur l'axe des YFaites glisser la catégorie d'aliments primaire sur l'axe des XCliquez sur l'icône Treemap en haut de la fenêtre Graph Builder.Faites glisser la catégorie d'aliments primaire dans la zone de couleurDésélectionnez l'option Afficher la légende dans le menu triangle rouge de Générateur de graphes.Drag Year to Wrap Drop Zone(Encore une fois, dans JMP 12, vous pouvez choisir Squarify dans le menu déroulant Présentation sous le volet des propriétés du plan de plan. )
Si vous avez vu mon post précédent À propos de mon parcours de perte de poids et d’entretien, vous serez peut-être surpris de voir combien d’aliments «indésirables» apparaissent dans mon journal alimentaire. J'admets que je mange du chocolat noir presque tous les jours en plus de mon mélange préféré de poudre de cacao / sirop de caramel au caramel / yaourt grec / sauce caramel qui a été repinned des centaines de fois sur Pinterest! J'ai découvert qu'il n'était pas nécessaire pour moi de supprimer entièrement les aliments dits "indésirables" tout en maintenant mon poids dans la fourchette préférée. Garder un œil attentif sur le nombre total de calories que je consomme est devenu beaucoup plus important pour maintenir mon poids à long terme.
Découvrez le premier article de blog dans cette série s pour en savoir plus sur mon intérêt pour l'analyse de données quantifiées (QS). Vous pouvez télécharger une version PDF de mon JMP Discovery Summit 2014 affiche électronique avec plus d'exemples de treemaps que j'ai créés à partir de mes données et télécharger mon JMP ajouter à importer vos propres fichiers BodyMedia® ici . Je n'ai pas essayé de généraliser le processus de recodage des aliments avec un script, car je pense que les aliments inclus dans un journal des aliments varieront trop pour qu'un script général soit utile. Mais si vous voulez reproduire mon approche pour créer un ensemble consolidé de noms d’éléments dans votre propre journal alimentaire à l’aide de Recode, récupérez votre copie de JMP 12 dès sa sortie et consultez mon blog précédent .
PS C'est gratuit pour rejoindre le Communauté d'utilisateurs JMP , où vous pouvez apprendre des utilisateurs JMP du monde entier!
Épisode n ° 1 de QS Radio | Soi Quantifié Quantifié a écrit:
[…] Show & Tell Vous pouvez en savoir plus sur Shannon Conners et son expérience d'auto-tracking sur le blog JMP. Nous avons parlé en particulier de son excellente visualisation de la carte des arbres de régime: […]
Ce que nous lisons | Soi Quantifié Quantifié a écrit:
[…] Merveilleux de voir les papiers CHI se retrouver sur Medium. Cela semble être un projet artistique / auto-suivi amusant. Nettoyer et visualiser les données de mon journal alimentaire avec JMP 12 de Shannon Conners. Encore une fois, Shannon affiche une merveilleuse capacité à nous émerveiller avec ses données […]