Benvenuti, gente. Mi chiamo Nathan Clark. Lavoro presso IDEXX Laboratories. Uso JMP da 22 anni e terrò una presentazione sul menu Tabelle. Ho scoperto che il menu Tabelle è una delle migliori novità che JMP offre, gioco di parole voluto, perché offre un potere incredibile di manipolare, manipolare e gestire i dati, facilitando così molte altre analisi aggiuntive. Se riuscite a padroneggiare il menu Tabelle, sarete di gran lunga superiori rispetto a quando dovete seguire i metodi tradizionali, come il copia e incolla per spostare i dati.
Oggi voglio parlarvi di come utilizzo il menu Tabelle, di alcune insidie che ho riscontrato nel corso degli anni, quando le persone hanno cercato di abituarsi a usarlo, e magari anche di qualche suggerimento e trucco lungo il percorso. Detto questo, iniziamo. Apriremo la classe più amata da tutti con un paio di modifiche che ho apportato. Inizieremo proprio dall'alto del menu Tabelle, con Riepilogo.
Riepilogo, come ci si aspetterebbe, è per le statistiche riassuntive. Quando lo si apre, si hanno diverse opzioni. Se si sceglie una variabile di risposta come l'altezza, si può calcolare la media o la deviazione standard. Per tutte le voci del menu della tabella, dovrebbe apparire un'anteprima. È fenomenale. Non posso esagerare nell'enfatizzare quanto sia fantastico averla qui, perché in questo modo si può dare una rapida occhiata a ciò che si vedrà nella tabella.
In questo momento, vedete che ho un riepilogo. Ha 42 righe, una media e un'altezza. Non prende in considerazione nient'altro. Questo rappresenterebbe la media e la deviazione standard complessive per tutti i dati. Se voglio suddividerle, posso semplicemente trascinarle nella sezione di raggruppamento. Ora ho una media e un'altezza per uomini e donne.
Questo è, direi, l'intento principale del riepilogo. Cliccando su OK, si ottiene il riepilogo, e poi si può andare qui sopra e aggiungere statistiche da questa colonna hotspot. Se ci si accorge di aver dimenticato qualcosa e si vuole includere anche la media del peso, si può cliccare su OK e verrà aggiunta.
Davvero fantastico. Lo uso molto. Ci sarà una nota proprio qui dove queste cose sono bloccate. Questo significa che non posso modificare. Se provo a digitare un altro numero, ricevo una notifica qui, quindi lo uso per ottenere i miei riepiloghi, le statistiche di riepilogo, ma lo uso molto di più per qualcosa di un po' diverso. Chiudiamolo. Lo riapro e faccio notare un paio di altre cose.
Hai appena visto che ho menzionato il blocco di quelle colonne. Se deselezioni questa casella, quelle colonne non saranno bloccate, ma non saranno nemmeno collegate ai dati, il che facilita alcune delle cose che vedremo tra poco.
Già che ci sono, vorrei anche segnalare due caselle che si vedono spesso nel menu Tabelle. Mantieni la finestra di dialogo aperta. Manterremo questa casella aperta anche dopo aver cliccato su OK. In questo modo, potrete sperimentare rapidamente diverse idee. Quindi, se salvaste uno script nella tabella sorgente, non solo la tabella creata conterrebbe uno script e il modo in cui è stato creato, ma lo stesso script verrà memorizzato in quest'area della tabella da cui proviene, il che, a mio avviso, è una novità davvero fantastica, introdotta circa una versione fa.
Ora, entrando più nel dettaglio di cosa uso realmente "riepilogo", mi sto addentrando per comprendere i dati e suddividerli in vari gruppi demografici. Ad esempio, se vado qui per "sesso" e inserisco questo nel raggruppamento, non faccio nulla con le statistiche. Otterrò comunque una tabella. Questa tabella conterrà la ripartizione e il numero di righe. Se clicco su "OK", si apre una tabella. Poiché è collegata, cliccandoci sopra, seleziona tutti gli elementi che mi interessano in questo caso.
Questo è un ottimo modo per iniziare a curiosare tra i dati per ricavarne un sottoinsieme, di cui parleremo più avanti, oltre a comprendere altri aspetti dei dati. Torneremo qui per approfondire un po' l'argomento. Se cerco il nome, vedrete che otterrete una divisione per sesso e per nome associato. Questo, come noterete, porta a scoprire che alcune di queste N righe sono in realtà una sola.
Un aspetto di cui parlerò qui nel riepilogo, ma che è davvero importante per molte delle altre piattaforme di cui parleremo, soprattutto se dovete risolvere un problema perché qualcosa non sembra corretto nei vostri dati. Questo è il concetto di unicità.
Con qualsiasi tabella tu stia gestendo, dovresti sempre essere in grado di identificare quali colonne, in varie combinazioni, possono raggiungere diversi livelli di unicità. Se rimuovo entrambi, inizieremo con questo per ciò di cui sto parlando. Se andiamo al nome, che riteniamo sia generalmente un identificatore abbastanza univoco, possiamo raggruppare per nome qui.
Scorrendo, notiamo che la maggior parte di loro sono uno. Qui sotto, vediamo Robert e Pat, entrambi con due righe associate. Il nome da solo non è sufficiente per essere univoco in questo set di dati, quindi dobbiamo aggiungere più colonne. Forse se aggiungiamo il sesso, possiamo capirne di più.
Abbiamo ancora molte N righe uguali a uno, otteniamo l'unicità, ma qui sotto abbiamo ancora due Robert, c'è un maschio e ci sono due righe associate a lui. Ciò significa che dobbiamo aggiungere un'altra colonna per raggiungere il livello di unicità desiderato. Abbasserò l'età. Ora possiamo vedere che abbiamo un'unicità completa per i nostri dati, uno su tutta la lunghezza.
L'anteprima è un ottimo modo per verificarlo. Se hai altri dati che si adattano bene all'anteprima, puoi sempre fare clic su OK o utilizzare la finestra di dialogo "Mantieni aperta" per continuare. Quando si gestiscono i dati, è molto importante sapere cosa li rende unici e, a volte, aggiungere colonne per renderli unici se non lo sono già, perché questo entra in gioco man mano che procediamo con altre strade che percorreremo.
A questo proposito, andiamo direttamente alla piattaforma Subset. Questa ci offre un modo per sottoporre i dati a subset, come suggerisce il nome. È possibile farlo su tutte le righe, anche su quelle selezionate. È possibile filtrare per riga. In questo modo, è anche possibile collegarli alla tabella dati originale, anche se qui farò un'altra cosa che ritengo sia un po' più veloce e facile da fare. JMP vi aiuterà anche in base a ciò che è effettivamente presente nella tabella. Come sempre, l'anteprima vi sarà d'aiuto.
Se vado qui, posso effettivamente cliccare su M, fare clic con il pulsante destro del mouse e selezionare Celle corrispondenti. Tutte le mie M sono selezionate. Quindi, se vado in Tabelle e sottoinsiemi, vedo che è automatico... Supponendo di voler elaborare le righe selezionate. Potrei elaborare tutte le colonne, potrei elaborare le colonne selezionate, che in questo momento, sex è una colonna selezionata, oppure mantengo tutte le colonne.
Copiare e sopprimere le formule serve a mantenere tutto pulito. Valutare le formule solo quando si è realmente interessati. Facendo clic su OK, si ottiene un sottoinsieme. Questo sottoinsieme non è collegato ai dati. È possibile fare clic qui. Questa è la tabella autonoma.
Se vuoi un sottoinsieme collegato, sì, puoi andare qui su "Sottoinsieme". Effettueremo un richiamo, cliccheremo qui e cliccheremo su OK. Ora è collegato ai dati. Tuttavia, sono diversi clic in più di quelli che mi interessano realmente. Di solito clicco con il pulsante destro del mouse, seleziono "Celle corrispondenti" e arrivo alla selezione desiderata. Ci sono molti metodi. Qui sotto vedrai che abbiamo 23 righe selezionate. Se clicco con il pulsante destro del mouse qui, posso andare a "Visualizzazione dati". Immediatamente, ottieni un sottoinsieme collegato.
Questa opzione non offre la possibilità di visualizzare solo le colonne selezionate. Questa vista dati mostrerà sempre tutte le colonne, ma io la uso costantemente. Se mi trovo in una situazione in cui, ad esempio, ho una riga in alto e poi una riga in basso di un set di dati selezionato qui e voglio visualizzarle entrambe affiancate, la Vista Dati le mostra, così posso esaminarle immediatamente e identificare cosa sta succedendo.
Adoro questa funzionalità. La uso molto. Una cosa che tutti dovrebbero sapere, però, è che quando si utilizza la Vista Dati, poiché è collegata al set di dati, se apporto una modifica in questa Vista Dati, questa modifica verrà riflessa. Vedete, qui ho evidenziato Tim. Se lo cambio in una M minuscola, questa modifica verrà riflessa nella tabella stessa. Fate attenzione se state utilizzando queste opzioni, perché se le trattate come un sottoinsieme autonomo, potreste in realtà modificare i dati principali.
Puoi usare questo a tuo vantaggio. Se dovessi trasformare tutte queste M miste senza la tabella in M minuscole, potrei semplicemente cambiare la prima in una M minuscola, poi fare clic con il pulsante destro del mouse e andare a riempire fino alla fine della tabella, e ora tutte le M sono minuscole. Potrebbe essere un modo davvero utile per correggere un sacco di dati o arricchirli in modo diverso. È qualcosa di cui essere consapevoli quando si utilizzano i dati e si sperimenta con i propri contenuti. È una funzionalità fenomenale quando si ha a che fare con i dati e si fanno cose diverse.
L'ordinamento è proprio quello che promette. È potente ma semplice, il che è un'ottima piattaforma da avere. Puoi ordinare. Vediamo, ordiniamo per nome proprio qui, e vedi che inizia immediatamente con l'ordine crescente predefinito. Se clicchi su di esso, puoi forzarlo a passare all'ordine decrescente. Puoi aggiungere altri elementi qui e l'ordinamento verrà eseguito, e puoi farlo anche in ordine crescente o decrescente, quindi puoi farlo con tutte le colonne che ti servono. Quando clicchi su OK, JMP creerà una nuova colonna.
Trovo che sia davvero utile, soprattutto con grandi set di dati: credo di sapere come ordinare i dati. Se l'aspetto conta, tutto apparirà come voglio. Inoltre, non voglio rovinare tutto e dover faticare molto per tornare alla tabella in cui mi trovo. In questo modo, ho una tabella completamente separata.
Molte volte, lo faccio, do un'occhiata a questa tabella e mi chiedo: "È questo che voglio vedere? È questo il mio obiettivo finale?". Poi la chiudo. Se è quello che voglio, torno subito al menu di ordinamento. Richiamo e poi sostituisco la tabella. In questo modo, ho ordinato la tabella principale che ho, il che mi aiuta a ridurre al minimo il numero di tabelle.
È davvero bello che tu abbia questa possibilità. Lo faccio spesso per creare la tabella. Poi torno indietro e sostituisco la tabella solo per assicurarmi che le cose che sto facendo alla mia tabella principale siano come voglio, soprattutto quando ho molti dati con molte colonne che non voglio rendere i dati solo disordinati e difficili da esaminare.
Ora passiamo allo stacking. Lo stacking è una cosa davvero interessante. Ho una tabella speciale con cui inizieremo a giocare. Stack, per sua natura, è proprio quello che dice. Prende le colonne e le impila. Se vado in Tabelle e vado su Stack, posso prendere queste tre colonne di lettura e impilarle insieme.
Basta cliccare su OK qui per visualizzarlo. Ora mostra le etichette, Lettura 1, 2 e 3, e poi i dati associati che erano nelle loro colonne originali o i valori originali, il che è fantastico.
Lo uso spesso quando ho molti dati che escono orizzontalmente e devo posizionarli verticalmente. Stack fa tutto questo, e lo fa indipendentemente da come la tabella sia organizzata, il che trovo davvero ottimo. Mantiene le relazioni corrette all'interno della tabella. Questi dati sono un po' speciali, però, e sfruttano qualcosa che uso parecchio. Quando si hanno diversi raggruppamenti di dati che devono essere impilati ma organizzati in un modo specifico.
In questo caso, ho 3 lunghezze d'onda di dati, 405, 357 e 680, e a ciascuna di esse è associata una lettura. Invece di limitarmi a impilare le mie letture, devo mantenerne l'associazione con le lunghezze d'onda corrette. JMP può farlo con la sua funzione di impilamento. Andiamo nel menu "Stack".
Impileremo tutte e sei queste colonne e poi JMP le organizzerà in modo molto ordinato. Potete vedere cosa abbiamo fatto finora nell'anteprima: JMP non le ha organizzate in modo molto ordinato. Ha fatto quello che vi ho appena mostrato. Le ha impilate tutte in due colonne, il che non è ciò di cui abbiamo bisogno con questi dati.
Ora andiamo e selezioniamo questa casella qui sotto, stack di più serie. È fantastico. Avete già visto alcune delle modifiche che JMP sta apportando e pubblicate. Le inserisce per iniziare con l'impostazione predefinita di due serie. Quello che vogliamo qui sono due serie perché abbiamo bisogno di una colonna che rappresenti la lunghezza d'onda e poi la colonna che rappresenti i valori dei dati che corrispondono a quelle lunghezze d'onda. È da qui che derivano le due serie. Se avessimo tre set da tre, sarebbero tre serie per ottenere quelle informazioni.
Per quanto mi senta sicuro di me stesso in questo momento, nove volte su dieci, quando inizio a creare il mio stack, clicco un pulsante sbagliato e i dati non sono quelli che vorrei. Fate delle prove e abituatevi. Più importante che imparare a memoria come farlo, è riconoscere come dovrebbero apparire i vostri dati, in modo da poter sperimentare e apportare modifiche se le cose non vanno bene.
Una di queste opzioni si trova spesso qui sotto, con il pulsante Contiguous. Il pulsante Contiguous indica a JMP come sono organizzate le colonne in questa finestra, non nella tabella dati, ma in questa finestra. Questo è un aspetto che di solito dimentico quando li esamino. Poiché abbiamo wavelength1, wavelength2, wavelength3 e poi le 3 letture, queste si toccano, si toccano per le due serie. Questi sono dati contigui.
Come potete vedere nell'anteprima, JMP l'ha corretto automaticamente per renderlo un po' più normale. Se fosse stato wavelength1, Read1, wavelength2, Read2, wavelength2, Read3, così... In realtà, li rimuoverò e inserirò wavelength1, Read1, poi 2, 2, 3, 3. Ora potete vedere che con la casella contigua selezionata, i dati non hanno un bell'aspetto, quindi voglio deselezionarla. Il modo in cui questi dati sono organizzati in questa finestra e l'utilizzo o meno di questo pulsante sono collegati tra loro per ottenere i dati desiderati.
Faremo clic su OK. Ora puoi vedere che i dati sembrano piuttosto buoni. Puoi fare un controllo a campione, come faremo con il Campione 1: abbiamo 9,83 e 141. Sembrano buoni. Dovrai sempre fare un controllo a campione su un paio di altri. Una volta fatto questo, non ne avremo necessariamente bisogno. Rinomineremo questa lunghezza d'onda e potremo eliminare questa colonna. Possiamo rinominarla Reed o Read con una A, e cliccando con il tasto destro del mouse possiamo eliminare questa colonna. Ora i tuoi dati impilati sono organizzati correttamente.
È davvero utile quando c'è la pila. Un paio di cose che voglio sottolineare nel menu che puoi usare a tuo vantaggio, se lo desideri: puoi rinominare i dati e le etichette qui prima di iniziare. Puoi scegliere di eliminare tutte le colonne presenti, mantenerle tutte o effettuare una selezione, oltre a dirti dove vuoi posizionare i dati e le colonne delle etichette mentre scorri, per dare ai dati l'aspetto che desideri.
Proseguendo, parleremo di split. Split è l'opposto di stack. È una delle piattaforme più potenti, ma anche più complicate da usare. Vi mostreremo perché e come prestare attenzione a ciò che potreste voler vedere. La parte più semplice è ciò che questi rappresentano. La colonna divisa, o la colonna che volete suddividere, è quella che contiene effettivamente i dati di risposta che volete mantenere nelle celle. In questo caso, useremo Read.
"Dividi per" è la colonna in base alla quale le letture vengono suddivise singolarmente, in questo caso la lunghezza d'onda. Ci offre una panoramica dei dati nell'anteprima. Qui abbiamo le opzioni: mantenere tutto o eliminare tutto, a seconda della quantità di dati presenti nella tabella. Facciamo clic su OK e possiamo vedere che JMP ha fatto un ottimo lavoro: 357 è 0,83, 405 è 9 e 141. Sembra che JMP abbia fatto esattamente ciò di cui avevamo bisogno. Ottimo lavoro da parte di JMP.
Devo dire che ho dimenticato un'informazione molto importante che fa sembrare semplice la suddivisione, ma non appena si ottengono dati leggermente più complicati, diventa un problema perché gli utenti inizieranno a vedere dati che non volevano vedere e saranno molto frustrati nel tentativo di ottenere la suddivisione corretta.
Ritorna a quanto detto con il riepilogo, quando si parla di unicità, di capire cosa rende unici i dati per ottenere diverse risposte. Ora, in questo caso, "campione" sarebbe una scelta univoca ovvia, perché qui sono tutti raggruppati per campione. JMP magicamente, non dico magicamente, JMP ha azzeccato tutto con i suoi algoritmi interni per capire come volevo che apparisse, probabilmente in base a come era organizzato.
Ma diciamo che non è così. Inserirò qui una colonna veloce con alcuni numeri casuali e ordinerò in base a questi numeri casuali per separare completamente il modo in cui sono organizzati. Ora, se torno alla mia suddivisione, posso premere "Recall" e vedo che queste informazioni sono qui, ma vedo automaticamente che JMP ha queste informazioni, vedi 99,63, ma poi è come un 128, che è qui sotto.
Ovviamente, c'è qualcosa che non è necessariamente allineato con come stanno andando le cose. È qui che entra in gioco la frustrazione. A volte le persone devono impegnarsi molto per capirne il motivo. È qui che entra in gioco il concetto di raggruppamento. Raggruppa in base a tutte le colonne necessarie per creare l'unicità in base a ciò che vedrai per la suddivisione.
In questo caso, se raggruppo per campione, improvvisamente tutto torna a posto perché JMP ora sa esplicitamente che queste letture in questa tabella devono essere raggruppate per campione perché sono intrinsecamente connesse. Se si trattasse di una classe di grandi dimensioni, allora sarebbero nome, età e sesso, che avevamo cercato in precedenza per quell'unicità.
I tuoi dati varieranno a seconda della loro complessità, ma tieni sempre presente di riuscire a raggiungere quel livello di unicità. Non ho scoperto che sia possibile sovra-raggruppare in Split. Se sai che è coinvolta una colonna, anche se potrebbe essere ridondante con il tuo raggruppamento, sentiti libero di aggiungerla perché è meglio sovra-raggruppare e mantenere la tua unicità piuttosto che sotto-raggruppare e avere elementi mancanti.
Un aspetto da considerare quando si esegue una suddivisione come indicatore di vari livelli di successo è tenere d'occhio il numero di righe. Se inizio con 300 righe, con dati relativamente bilanciati e ogni campione ha tre lunghezze d'onda, quando eseguo la suddivisione dovrei ottenere circa 100 righe. Se vi accorgete di ottenere numeri di righe strani, probabilmente è perché JMP ha fatto del suo meglio, ma non ha trovato l'organizzazione esatta necessaria per creare ciò che volevate.
Questo è un segnale che probabilmente non hai raggruppato correttamente qualcosa. È un aspetto a cui dovresti prestare attenzione e usarlo a tuo vantaggio per capire se i tuoi dati sono corretti, in modo da non dover controllare a campione 10.000 righe di dati. Puoi controllarne a campione un paio, tre, per sentirti a tuo agio e poi procedere. Se esegui questo tipo di operazioni, la suddivisione diventerà una seconda natura e inizierà a funzionare davvero bene per il tuo lavoro quotidiano con JMP.
Della trasposizione parlerò molto brevemente per risparmiare tempo, in parte perché non la uso molto spesso. Ho incontrato alcuni colleghi che la usano molto. Ma in pratica la trasposizione permette di prendere dati organizzati in questo modo e di capovolgerli completamente. Questo è utile in una certa misura. Io non la uso molto spesso. Credo di essere abbastanza fortunato, in alcuni casi, perché i miei dati in generale non sono organizzati in modo così traballante.
Ma voglio mostrarvi la finestra di dialogo perché, ancora una volta, l'unicità e il raggruppamento entrano in gioco qui con questa etichetta e questo by. Questo è utile, perché potete dire a JMP come volete che i dati siano organizzati quando cercate di trasporre i vostri specifici problemi di chiamata. Ancora una volta, capire come i vostri dati sono organizzati in modo univoco vi offre molta più potenza con quella piattaforma.
Passiamo a Join. Join è un altro strumento davvero valido ed estremamente potente. Analizzeremo alcuni di questi elementi, poi passeremo all'esempio. Quando aprite Join, inizia con... questa è la tabella da cui parto. Questa è la tabella a cui voglio unirmi. Seleziono qui la tabella a cui voglio unirmi, e poi procederò qui. Vedremo alcune colonne e qui ho alcune opzioni, in particolare su come voglio eseguire le mie join.
In realtà torneremo a una classe grande modificata che abbiamo qui. Ho un'altra tabella che è una classe grande estesa. In pratica, ho un sacco di altri nomi, età, sesso, ma qui ho la frequenza cardiaca e l'IMC. Voglio unire queste informazioni. Vado alla mia tabella originale qui e andiamo al join. Ecco la mia classe grande. Voglio unirla alla mia classe grande estesa. Per impostazione predefinita, funziona per corrispondenza delle colonne, che, credo, il 99,9% delle unioni avviene per corrispondenza delle colonne. Poi si dice a JMP cosa si vuole abbinare.
Questo dipende dai vari livelli di unicità o dal livello di unicità che si desidera unire. Ma è possibile selezionare il nome in entrambe le colonne, fare clic su "Corrispondenza", "Età". Non è necessario che i nomi siano uguali. Si sta comunicando a JMP quali sono i nomi che devono essere abbinati. Non ha nulla a che fare con il loro nome fisico.
Qui nell'anteprima, notate che fa qualcosa di un po' strano e potenzialmente fastidioso. Qui, in realtà, ora vi fornisce una colonna. È il nome della classe Big del mod Discovery 2025. Lo vedete ripetutamente con le altre. Ora tutti i nomi delle colonne sono grandi ed enormi. Questo è ottimo per ricontrollare i dati dopo aver eseguito l'unione, ma può essere fastidioso da risolvere.
JMP ha una soluzione per questo. Si chiama "Unisci colonne con lo stesso nome". Quando si uniscono colonne con lo stesso nome, deseleziono il flag di corrispondenza: si vede che combina le colonne con lo stesso nome in modo coerente. È riuscito a farlo anche riconoscendo che nome e nome tecnicamente sono diversi a causa della distinzione tra maiuscole e minuscole, ma JMP li ha uniti perché ha riconosciuto che erano uguali. Quando si seleziona "Unisci colonne con lo stesso nome", anche il flag di corrispondenza si attiva. Questo consente di effettuare delle corrispondenze tra le tabelle quando necessario.
Qui sotto, quindi spesso unisco colonne con lo stesso nome e aggiungo un flag di corrispondenza. Un'altra cosa che faccio sempre, soprattutto con un primo join, è includere le non corrispondenze dalla tabella principale e dalla tabella delle larghezze. Ora clicco su OK e vi mostrerò perché mi piace questa opzione: è un buon modo per ricontrollare che i miei dati siano organizzati correttamente.
Si ottiene questa colonna "match flag", che espanderemo qui, e vedremo che riporta sia la larghezza principale che quella inferiore. Se andiamo su entrambe, e andiamo qui sotto, queste rappresentano un'informazione presente sia nella tabella originale che nella seconda tabella. Come potete vedere, abbiamo l'altezza e il peso originali, ma abbiamo anche la frequenza cardiaca e l'IMC.
Se hai un dato principale, selezionalo tutto qui. Si tratta di un dato presente nella prima tabella ma che non ha trovato corrispondenza nella seconda. Qui puoi vedere che ha altezza, statura e peso, ma non la frequenza cardiaca nell'IMC.
La larghezza è esattamente l'opposto. Era presente nella seconda tabella, ma mancava qualcosa nella prima. Mi piace guardare i dati in questo modo perché mi permette di controllare due volte per assicurarmi che le cose mancanti siano quelle che mi aspetto manchino.
Nel caso in questione, avevo 112 nomi. Ne ho solo 42 in questa prima tabella. Non c'è modo di ottenere una corrispondenza del 100%. Avere delle larghezze perché ho elementi qui che non hanno una corrispondenza è perfettamente accettabile e ha perfettamente senso. Allo stesso modo, alcuni di questi nomi potrebbero non essere presenti nell'elenco esteso su cui abbiamo le metriche aggiuntive.
Il principale e la larghezza, almeno nel loro concetto generale, vanno bene qui. Quindi entrambi si allineano dove si incastrano, e si può verificare a campione cosa ci si può aspettare. Quando si fa questo con i dati più nella vita reale, un caso in cui ritengo che questo sia davvero utile è, ad esempio, quando si esegue un esperimento e si esegue qualcosa su una macchina, e poi si ha anche un foglio di esecuzione o qualcosa su cui si prendono appunti che correlano, magari ID di esecuzione o qualcosa del genere.
Se si esegue questa corrispondenza insieme, significa cose molto specifiche e diverse. Se si hanno dati provenienti dalla macchina, ma non si hanno informazioni sul foglio di analisi, o se si hanno informazioni sul foglio di analisi per un'analisi di cui non si hanno dati dalla macchina. In caso di errori o cose del genere, questo può avere senso, ma potrebbe anche rappresentare un errore di trascrizione durante l'inserimento di un ID sulla macchina per l'analisi o altre cose del genere.
Essere in grado di effettuare queste unioni con set di dati più grandi e di vedere immediatamente dove i dati corrispondono e dove no è un vero punto di svolta in termini di capacità di scomposizione e identificazione rapide.
Anche in questo caso, guardare il numero di righe è un altro indicatore: 42 righe. Se tutto corrispondesse perfettamente, dovrei avere solo 42 righe. Ma ne ho molte di più, in parte perché ho larghezze che erano presenti in questa tabella o meno, e poi le righe principali. Usare questo a tuo vantaggio può anche aiutarti a riconoscere se c'è un problema o qualcosa che devi approfondire.
Infine, un piccolo avvertimento quando si esegue questa operazione di join e ci si trova in una situazione in cui si ha una colonna con lo stesso nome, ma in realtà rappresenta qualcosa di diverso in termini di informazioni. Se approfondisco la questione, e per semplicità useremo solo l'età, e farò in modo che questa età sia sempre 89. Per qualche motivo, questa tabella 89 rappresentava qualcosa sull'età, e sarà tutto uguale.
Se lo leggi attentamente, non so perché quando esegui il richiamo, l'anteprima non viene visualizzata esattamente allo stesso modo. Ma quello che farò è cliccare su OK. Quello che vedrai qui è che l'età è stata sovrascritta in alcuni casi. In realtà non era così. È bello vederlo. Mi chiedo se sia una novità o se sia stato risolto solo negli altri casi.
È un problema che ho già riscontrato in passato, e che sovrascrivo a seconda del caso. È un aspetto su cui JMP sta lavorando per migliorare, chiaramente in alcuni di questi casi. Ma è un aspetto che, se non ci fate caso, ci assicureremo di ricontrollare.
Sembra che questo abbia risolto parte del problema, ma è qualcosa a cui prestare attenzione, anche se mi chiedo dove siano finiti entrambi. È un problema secondario di cui parlerò a parte. La cosa più importante a cui prestare attenzione è che l'età può essere sovrascritta dall'altra tabella. Lo vedo spesso quando i dati della macchina hanno un timestamp completo, ma la data di un foglio di esecuzione è in realtà solo la data di esecuzione, quindi alcuni dei dati possono essere sovrascritti.
È una cosa a cui bisogna davvero fare attenzione, perché molto più avanti non si vuole che accada. Quello che succede è che ci si aspettava di vedere qualcosa nei dati, ma ora non c'è più niente perché sono stati sovrascritti, oppure, in questo caso, ci si aspettava di vedere le età individuali, ma improvvisamente tutti sono ottantenni.
Ciò non favorisce l'efficienza e il flusso di lavoro, soprattutto se è necessario tornare indietro di sette passaggi per capire dove si è verificato il problema. Saperlo in anticipo offre un po' più di potere. La soluzione più semplice in questo caso sarebbe, se si sa che si tratta di un rischio, aggiornare semplicemente il nome della colonna o eliminarla completamente, a seconda che sia rilevante o meno.
Ho capito perché è successo questo solo ora, perché ho appena aggiornato questa cosa. Perché quando ho fatto il richiamo, corrispondeva ancora all'età, e ho cambiato l'età. Ora la rimuoveremo. Ora puoi vedere che parte di quella sovrascrittura è avvenuta su alcuni dei tuoi dati. È qui che potrebbe verificarsi alla fine. La soluzione semplice è semplicemente cambiare quel nome. Torniamo tutti indietro per unirci e richiamare. Ora vedrai che l'età manca per alcuni di loro, ma è presente per altri. Quindi avrai age_ per gli altri lì per mostrare che non è stata sovrascritta.
Ecco come si risolve. È una cosa che mi ha colto di sorpresa molte volte, spesso accidentalmente. Non commetto più quell'errore. Sono solo più veloce a trovarlo e a correggerlo. Non prendertela se commetti quell'errore. Ci vuole tempo per abituarsi e alla fine difficilmente si smette di commettere errori. Si diventa semplicemente più bravi a correggerli quando si verificano.
Il prossimo passo è Update. Update è uno strumento fenomenale. Sarò onesto, ho avuto un rapporto di amore-odio per molto tempo quando è apparso per la prima volta, ed ero io, non lui, perché aveva a che fare con le supposizioni che Update fa. Se non ci presti attenzione, possono bruciarti. Nello specifico, come stavamo parlando di questa sovrascrittura. Rimetterò questa pagina qui, e in realtà...
A quanto pare, l'ho fatto per tutti, ma eccoci qui. Torniamo a dove abbiamo tutte le altre età. L'aggiornamento è in realtà un join, ma non crea una tabella. Andiamo su Aggiorna, stessa configurazione di base. Ora vogliamo unirci alla classe grande estesa. Faremo la nostra partita per nome, età e sesso.
A questo punto del gioco, come potete vedere dall'anteprima, JMP fa un paio di ipotesi. Esegue solo un'intersezione interna, il che significa che non include alcun valore mancante da nessuna delle due tabelle. Corrisponde solo a ciò che è presente nella tabella principale.
In secondo luogo, univa le colonne con lo stesso nome per impostazione predefinita. Se non siete pronti, questo potrebbe rivelarsi un problema. Questo è esattamente ciò che mi ha colpito all'inizio, quando stavo iniziando ad abituarmi al funzionamento dell'aggiornamento, e non l'ho trovato nei miei dati per un periodo imbarazzantemente lungo, e poi ho dovuto tornare indietro e correggerlo.
Sapendo questo, JMP offre alcuni elementi aggiuntivi con cui giocare per semplificare un po' il tutto. Se si dispone di un sacco di dati o si teme che elementi indesiderati possano sovrascriversi, è possibile controllare quale colonna della tabella di aggiornamento venga aggiunta. Se vado su "selezionato", posso solo inserire la frequenza cardiaca, ad esempio, o l'IMC, e mi assicuro che nessuna di queste colonne aggiuntive venga aggiunta, rischiando così una potenziale sovrascrittura se non fanno parte dell'unione.
Sempre qui sotto, stiamo inserendo colonne nella tabella principale. Posso selezionarne nessuna e quell'arresto forzato impedisce la sovrascrittura. Oppure puoi consentire una selezione in entrambi i casi per controllare la situazione. Quando impari a usare Update, è davvero utile, ma ha i suoi limiti. Ad esempio, ho appena eseguito questo comando e ha aggiunto l'IMC a questa tabella. Ora la mia tabella principale è stata modificata. Se non è questo che stai cercando, Update potrebbe non essere la soluzione giusta per questo specifico caso d'uso.
Tuttavia, man mano che le persone si abituano a usare JMP e migliorano, il desiderio di avere meno tabelle e non di più diventa comune, soprattutto quando ci si stanca e si cerca di tenere traccia di tutte le tabelle create, da dove provengono quelle tabelle, eccetera.
Piccoli accorgimenti per ridurre al minimo il numero di tabelle possono essere molto apprezzati. In questo caso, Update svolge un ottimo lavoro, soprattutto se avessi tre o quattro tabelle. Avevo un'altra tabella con altre metriche sulle persone. Se dovessi effettuare un join con ciascuna di queste tabelle singolarmente, creerei altre tre o quattro tabelle completamente nuove per sovrapporre quel join. Update mi permette di riunire tutto in un'unica tabella.
Un'altra cosa di cui non parleremo qui, ma che è interessante da provare se ne avete l'opportunità, è un join virtuale che permette di unire più tabelle senza doverle effettivamente unire. È una cosa davvero interessante. Nel corso del tempo ci sono state diverse presentazioni tenute da dipendenti di JMP e quant'altro, e dovrebbero esserci dei webinar da seguire per approfondire l'argomento. È una funzionalità davvero divertente da provare quando si ha tempo. Ma Update esegue il join nella tabella principale e le cose stanno andando davvero bene.
Ora parleremo di qualcosa di molto più semplice: concatenare. In pratica, concatenare significa prendere delle tabelle e semplicemente impilarle una sopra l'altra.
Fa proprio questo. In realtà, posso semplicemente usare questa mod discovery. Passiamo alla concatenazione. Ora elencheremo praticamente tutte le tabelle che vogliamo concatenare. Se volessi aggiungere la classe big estesa qui, le sovrapporrebbe una all'altra. Potrei aggiungere alla prima tabella se volessi ridurre al minimo il numero di tabelle.
Potresti anche creare una colonna sorgente. Consiglio di farlo, soprattutto se intendi creare una tabella separata, perché ti dà il controllo sulla provenienza dei dati. Se clicchi su OK, i dati vengono semplicemente aggiornati, sovrapposti e posso vedere esattamente quali righe provengono da quale tabella, e funziona estremamente bene in questo senso.
Di solito, il punto in cui le persone inciampano con la concatenazione è che i dati non sono esattamente come li vorrebbero, o sono posizionati nel posto sbagliato. In questo caso, chiamerò questa metrica, o meglio... mi chiedo se lo farà semplicemente con un modo diverso per dire la stessa cosa.
Quando eseguo la concatenazione, vedrai due colonne. Questo è un esempio in cui sono chiaramente diverse. Tuttavia, JMP si preoccupa, almeno storicamente, da quello che ho visto, di maiuscole/minuscole, errori di battitura e cose del genere che possono compromettere l'organizzazione dei dati. Potrebbe essere qualcosa del genere, in cui si tratta semplicemente di una diversa convenzione di denominazione o di errori di battitura quando gli utenti potrebbero aver inserito manualmente dati che fanno sì che i dati non siano dove dovrebbero essere.
Nel caso di un caso simile, in cui l'indice di massa corporea (IMC) si è verificato solo una volta, queste correzioni sono piuttosto semplici. C'è un piccolo trucco divertente: se si clicca su una di queste celle vuote, si fa clic con il pulsante destro del mouse e si seleziona "Celle corrispondenti", vengono selezionate tutte le celle vuote.
Ora posso invertire la selezione e tutti quelli che voglio mettere qui al loro posto saranno selezionati. Posso copiarli e poi, se seleziono solo l'intestazione di questa colonna, rimangono selezionati lì, e posso semplicemente incollarli, e ora ho corretto l'errore. Posso eliminare questa colonna. Questo è il modo più rapido.
Se succede a una dozzina di colonne, è meno veloce e più complicato. Il modo migliore per risolvere il problema, se si vuole che accada, è correggere il nome della colonna. Ma, ancora una volta, a seconda di cosa si sta facendo e di dove ci si trova in una fase del processo, ci sono molti modi per farlo. Non esiste un percorso migliore in assoluto quando si cerca di farlo.
Ma questo è il problema più grande che vedo quando si usa la concatenazione, perché si hanno molte colonne e i dati non sono più dove dovrebbero andare. Da lì in poi diventa un problema. A parte questo, la concatenazione funziona estremamente bene ed è un ottimo modo per raggruppare molte tabelle in un'unica tabella molto velocemente.
Ora ci stiamo avvicinando alla fine. Ne parlerò brevemente, senza troppi esempi specifici, in parte perché non li ho usati molto per sviluppare una vera e propria serie di suggerimenti e trucchi. Ma li ho usati abbastanza da sapere che sono utili e vale la pena di approfondirli e sperimentarli.
JMP Query Builder consente sostanzialmente di creare query SQL a partire da più tabelle dati disponibili. È anche possibile utilizzare JMP Query Builder con tabelle dati effettivamente archiviate in database esterni al computer e importare tutti i dati in JMP. È possibile realizzare un mix di queste operazioni con le tabelle disponibili, il che è davvero interessante.
Missing Data Pattern: ho visto diverse presentazioni interessanti su Missing Data Pattern. In realtà non ho utilizzato Missing Data Pattern nella mia attività quotidiana, in parte perché sono abbastanza fortunato da non avere molti problemi di dati mancanti.
Inoltre, Missing Data Pattern è arrivato molti anni dopo che mi ero abituato a estrarre dati in un modo completamente diverso per arrivare a dove avrebbero potuto essere i miei Missing Data Pattern. Non ho ancora aggiunto un Missing Data Pattern al mio arsenale. È qualcosa con cui continuo a ripetermi di dover sperimentare di più perché è un modo davvero divertente di guardare i dati quando vedi che altri lo usano.
Confronta tabelle dati. Questa è la parte divertente che... Ve la mostrerò molto velocemente. Permette di selezionare un paio di tabelle e di fare un confronto. JMP cercherà di far corrispondere i loro nomi in modo abbastanza preciso. Qui potete vedere che questo è stato fatto, e potete correggere il problema. Ma se cliccate semplicemente su Confronta, il programma scorre e vi mostra dove si trovano tutte le differenze nella tabella.
È qualcosa che, come posso vedere qui, non sono sicuro di cosa mi stia mostrando esattamente. È qui che devo giocare di più per familiarizzare. Ma è un modo divertente, se non altro, per prendere due tabelle e scoprire se tutto è uguale o meno. Spesso controllo per vedere se ho cambiato qualcosa nei dati che non volevo.
Quando si entra nel dettaglio dei dettagli di ciò che è cambiato, molte di queste opzioni sono il punto in cui entrano in gioco. È qualcosa che incoraggio tutti a sperimentare, giusto per vedere cosa succede nei propri casi d'uso, perché è una buona piattaforma e non l'ho ancora sfruttata appieno. Ma è davvero qualcosa di interessante che JMP ci permette di fare, qualcosa che non potrei fare da solo in altri modi.
Infine, Anonymize, l'ultima opzione di questa lista. In pratica, prende la tabella che hai davanti e, quando clicchi su OK, la rende anonima. Nessuno sa cosa significhi tutto questo. Questo è lo scopo di creare tabelle di dati prive di qualsiasi informazione che possa essere compresa o assimilata da altri.
Se hai informazioni proprietarie in una tabella, ma desideri l'aiuto di JMP per risolvere il problema che hai riscontrato, puoi rendere anonima la tua tabella e poi ricreare il problema con queste informazioni, potendo così condividerle in modo sicuro con altri addetti all'assistenza JMP, senza doverti preoccupare di violare le regole IP proprietarie che potresti avere nella tua azienda, perché ora nessuno sa da dove provengono questi dati e cosa succede con essi.
Questa è un'informazione davvero interessante; JMP è anche autorizzato a rendere la cosa piuttosto veloce e facile da usare. Provateci anche voi. È un modo davvero divertente di fare le cose.
Penso che questo ci porti praticamente alla fine del menu Tabelle. Voglio ringraziare JMP e tutti coloro che hanno partecipato alla Discovery Series per l'opportunità di parlarne, perché è un argomento davvero interessante. Credo che sia qualcosa che molte persone apprezzeranno nel loro percorso con JMP. Grazie mille. È tutto per oggi.