Terminé mi anterior entrada de blog en el punto de mi proyecto JMP Discovery Summit cuando me di cuenta del alcance de la redundancia del nombre de los alimentos en mis casi cuatro años de registros de alimentos recopilados con la aplicación BodyMedia® Activity Manager. Si bien sabía que había comido variedades de ciertos alimentos preparadas de manera diferente, la replicación también fue un artefacto del uso de búsquedas de palabras clave para ubicar los artículos correctos para agregar a mi registro de alimentos. La palabra clave que utilicé para buscar un artículo determinado varió, y el elemento coincidente que elegí para iniciar sesión en una comida determinada también varió, por lo que a menudo seleccioné nombres de artículos diferentes para alimentos muy similares.
En última instancia, quería resumir la cantidad de calorías que comía de los artículos relacionados y también sumar las calorías consumidas por categoría de alimentos. Un primer paso sensato fue reducir el número de nombres de artículos de comida redundantes en mi tabla de datos. Quería que el proceso de recodificación de alimentos fuera lo más fácil posible y, por supuesto, reproducible a través de secuencias de comandos para poder procesar nuevos datos con un mínimo de trabajo.
Exploré usando el JMP 11 Plataforma Recode para consolidar nombres de artículos alimenticios similares en un solo valor limpiado. Antes de comenzar a recodificar, mi tabla de datos contenía 1,859 nombres únicos de alimentos. Dado que los nombres de los alimentos se mostraban en la ventana de Recode en orden alfabético, me resultó difícil ubicar los alimentos similares que no estaban en orden alfabético. Por ejemplo, si quisiera cambiar el nombre de los artículos casi idénticos listados bajo diferentes nombres de marca, primero tenía que localizar todos los artículos relacionados dispersos en mi lista de artículos (por ejemplo, "¡CHIPS AHOY! Galletas de chispas de chocolate masticables", "Cookie, Chocolate Chip, Comercial, 12% -17% de grasa, "" Galleta con chispas de chocolate Jason's Deli "," Galletas con chispas de chocolate PILLSBURY, masa refrigerada ") y cámbielas a un valor de limpieza común (por ejemplo," Galleta, chispas de chocolate "). Para localizar todos los elementos relacionados, busqué en la tabla de datos utilizando la función Buscar o utilicé Buscar en el menú del triángulo rojo del Filtro de datos.

Una vez que localicé todos los elementos relacionados, me desplazé a su ubicación en la ventana Recode y pegué en el nombre del elemento limpiado. En un momento dado mientras trabajaba en mi conjunto de datos, cerré accidentalmente la ventana de Recode sin guardar mis cambios. En lugar de repetir mi trabajo, decidí explorar una estrategia alternativa que esperaba me permitiera clasificar mis artículos de manera más rápida y fácil, asignar nuevos artículos a mis grupos de alimentos.
Utilicé la función de texto libre (que se encuentra en la pestaña Múltiples del cuadro de diálogo de inicio de la plataforma categórica de JMP) para extraer la lista de palabras únicas de los nombres de mis alimentos. Revisé la lista para eliminar palabras comunes o no específicas y coloqué las palabras restantes en categorías de alimentos. Luego, utilicé un bucle JSL para buscar estas palabras clave en los nombres de artículos alimenticios utilizando la función PatMatch en JMP. Si encontré una palabra clave, agregué la categoría de esa palabra a una lista delimitada por comas en una columna guardada con una propiedad de columna Respuesta múltiple.
Si bien inicialmente pensé que este enfoque simplificaría la clasificación de nuevos elementos, resultó que mi script requería mucho tiempo para buscar en todas las palabras clave todos los elementos. Me llevó incluso más tiempo revisar todos los alimentos clasificados y verificar que se habían colocado en categorías razonables en función de las palabras clave que contenían. Cuando examiné mi tabla procesada, me consternó observar muchas coincidencias de palabras clave no específicas. En un ejemplo, "Chicken of the Sea Chunk Light Tuna" coincidió con las categorías de carne (palabra clave: pollo) y pescado (palabra clave: pescado). Coffeemate Non-Dairy Creamer incluyó la palabra clave café, lo que hizo que se asignara de forma incorrecta al grupo CoffeeMilk. Me di cuenta de que tendría que corregir algunos de los nombres originales antes de que coincida el patrón y limpiar otras listas de categorías después de la coincidencia. Como necesitaba reproducir cada paso a través de secuencias de comandos, tendría que escribir JSL personalizado o generar JSL de limpieza de datos con Recode, así que decidí volver a mi estrategia de Recode original.
Justo en ese momento, el recién contratado desarrollador de JMP James Preiss comenzó a renovar Recode para JMP 12. Compartí mi caso de uso de Recode de registro de alimentos con James y muchos de mis desafíos se alinearon con las solicitudes de los clientes que ya están en su lista de tareas pendientes. Tan pronto como las actualizaciones a Recode comenzaron a aparecer en las compilaciones diarias de JMP 12, las probé con mis archivos de registro de alimentos y compartí un subconjunto de mi lista de artículos con James y el probador de Recode Rosemary Lucas. Me emocionó ver que muchos de los pasos que hice manualmente en JMP 11 con una combinación de Recode, Data Filter, Find / Replace y JSL scripting están integrados en Recode en JMP 12.
De hecho, mucho antes de que se completaran las actualizaciones de la plataforma Recode, pude crear una tabla de nombres de elementos limpios y agrupados de mi lista de productos alimenticios, en mucho menos tiempo del que había intentado escribir alrededor del problema de concordancia de palabras clave. Luego agregué categorías para cada nombre de alimento limpio y las fusioné en mi tabla de datos de registro de alimentos uniéndome al nombre del elemento original. ¡Usar Recode me ayudó a reducir a la mitad el número original de nombres únicos en mi mesa (1,859)! Ahora, cuando importo nuevos archivos de registro de alimentos, vuelvo brevemente a Recode para clasificar cualquier artículo nuevo, actualizo la tabla de nombre / categoría de mi artículo, lo fusiono con mis datos y estoy listo para continuar.
JMP 12 no estará disponible hasta marzo de 2015, así que debo admitir que soy intencionalmente vago acerca de las muchas características nuevas en la plataforma Recode. Me encantan las actualizaciones de Recode, y sé que usted también lo hará! (Busque publicaciones de blog más detalladas sobre Recode a medida que se acerca marzo y después de que el software esté disponible).
En mis próximas publicaciones de blog, presentaré algunos de los gráficos que creé para mi póster de Discovery Summit y mostraré cómo los mejoré con la ayuda de Xan Gregg , creador de la plataforma Graph Builder y líder del grupo Data Discovery en JMP.
Para obtener más información sobre mi póster y mis intereses en el análisis de datos de yo cuantificado (QS), consulte el primera entrada de blog en esta serie Publicaciones posteriores comparten detalles sobre cómo yo Exporté mis archivos de resumen de actividades en formato Excel y Archivos de registro de alimentos desde el software BodyMedia® Activity Manager y los importó a JMP. Utilicé scripts JSL personalizados para crear dos tablas de datos JMP, una con 1,316 filas de datos de actividad y la otra con 34,432 filas de alimentos registrados durante casi cuatro años. Escribí un JMP complemento admite estos tipos de datos y archivos de registro de alimentos en formato CSV del sitio web gratuito MyFitnessPal.