Creazione di uno script Recode JMP 12 da una tabella di ricerca contenente valori originali e nuovi<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho postato questa voce sul blog principale di JMP oggi. Jeff ha suggerito che sarebbe stato utile condividere questo contenuto anche sul mio blog della comunità, in modo che fosse ricercabile anche qui. Ho utilizzato la rinnovata piattaforma JMP 12 Recode sin dai suoi primi giorni e l'ho trovata utile per molti dei miei progetti di pulizia dei dati. Ma partire da un utente in anticipo ha avuto i suoi svantaggi ... per scoprire perché, continua a leggere!
Recentemente ho usato un Componente aggiuntivo JMP Ho scritto per importare il mio set completo di file di dati del registro alimentare di BodyMedia FIT, compresi i dati dal 21 dicembre 2010, fino all'ultimo giorno in cui ho registrato i miei pasti in quel software il 29 marzo 2015. La mia tabella dati finale conteneva 39.942 file di nomi di prodotti alimentari. Se combinato con i 60 giorni (1,551 righe) di dati del mio registro alimentare MyFitnessPal che ho conservato da quando ho cambiato i dispositivi da BodyMedia a un FitBit Charge HR alla fine di marzo scorso, ho quasi 41.000 file di dati di registro degli alimenti!
Un passaggio essenziale nel processo di preparazione dei dati per questa tabella di dati è stato quello di ripulire i nomi degli elementi alimentari consolidando elementi simili sotto un singolo valore. Senza questo passaggio di pulizia, finisco con un sacco di nomi di oggetti unici che rappresentano davvero lo stesso prodotto alimentare. Ad esempio, ho mangiato una varietà di cioccolatini scuri diversi e indicato i marchi corretti, laddove disponibili, ma spesso dovevo sostituire il numero di elementi specifici che non erano disponibili nel database di BodyMedia. Ciò ha reso i nomi esatti ancora meno significativi, quindi ho ritenuto opportuno aggregare tutte le varietà sotto un unico nome ("Candy Bar, Dark Chocolate").
Ho ripulito la tabella dei dati del registro degli alimenti che avevo presentato al Discovery Summit lo scorso autunno utilizzando la piattaforma Recode in un'installazione di early adopter di JMP 12. Al momento, Recode mancava delle nuove opzioni Salva / Carica Script su cui ora mi baso per tutti i miei progetti di pulizia dei dati. Invece, ho ricodificato i miei articoli e creato una tabella di ricerca che elencava i nomi originali e ricodificati per ciascun oggetto unico che appariva nel mio diario alimentare. Ho aggiornato questa tabella di ricerca ogni volta che ho aggiunto nuovi elementi al mio diario alimentare. Una sezione della mia tabella di ricerca è mostrata di seguito.

Prima di partire per partecipare al QS15 il mese scorso a San Francisco, ho approfittato delle colonne formula JMP per creare uno script che potesse essere ricaricato nella finestra di dialogo Recode per ricatturare i miei raggruppamenti degli articoli in modo che potessi aggiornarli. Ciò ha reso semplice la ricodifica di nuovi nomi di prodotti alimentari e il salvataggio dello script aggiornato nel caso in cui avessi bisogno di modificare il mio lavoro in futuro.
Da quando ho trovato questo trucco per la creazione di script così utile, ho pensato di condividerlo. Se in passato hai utilizzato un approccio simile alla tabella di ricerca, potresti pensare che sarebbe molto lavoro ricreare il tuo approccio in Recode. Utilizzando questo esempio, anche tu puoi passare da una tabella di ricerca a uno script Recode JMP 12 che puoi ricaricare nella finestra di dialogo Recode e aggiornarlo per accogliere nuovi dati. Alla fine, puoi facilmente ricreare una nuova versione della tua tabella di ricerca dalla tua tabella di dati finale contenente i valori originali e ricodificati.
Avevo bisogno di strutturare il mio script per essere identico a uno script Recode standard, quindi ne aprii uno che avevo salvato per un progetto correlato. Per salvare uno script Recode di esempio, è possibile creare alcuni gruppi in una finestra di dialogo Recode aperta, quindi fare clic sul triangolo rosso della piattaforma e scegliere script> Salva su file.
Ho aperto il file JSL contenente lo script Recode e ho osservato che iniziava con una chiamata per iniziare ad aggiornare la tabella e una serie di istruzioni match che associavano il nome dell'elemento originale al nome recoded.

Alla fine dello script, includeva il nome della colonna e terminava con l'aggiornamento dei dati.

Per compilare l'elenco dei nomi originali e ricodificati accoppiati tra le sezioni iniziale e finale, ho creato una nuova colonna formula nella mia tabella di ricerca contenente le versioni citate del nome dell'elemento originale e il nome dell'elemento ricodificato.

Ho copiato e incollato la colonna della formula in una finestra di script, quindi ho aggiunto le istruzioni e i nomi delle variabili corrette nella parte superiore e inferiore dello script.
Quando l'ho ricaricato nella finestra di dialogo Recode, il mio script ha creato raggruppamenti come questo:

Potrei quindi aggiungere gruppi esistenti, crearne di nuovi o modificare i nomi dei gruppi rappresentativi. Ho usato un approccio simile per creare una versione del mio script per la ricodifica degli articoli in gruppi di alimenti, dal momento che avevo incluso gruppi di alimenti nella mia tabella di ricerca e volevo raggruppare i miei nuovi elementi.
Una cosa che ho trovato è che il nome di un prodotto alimentare includeva un carattere di virgoletta doppia (") che dovevo sostituire in modo che non interferisse con le stringhe citate dei nomi degli oggetti.
Spero che proverai la piattaforma JMP 12 Recode se non lo hai già fatto. Sia che stiate iniziando un nuovo progetto o convertendo uno vecchio per usare la piattaforma, penso che sarete contenti! Se lo stai già utilizzando, sarei interessato a conoscere il tipo di progetti su cui stai lavorando!