<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Kaiser Fung recentemente ha criticato questo grafico delle variazioni del reddito disponibile.

Ha avanzato l'idea di utilizzare invece grafici di pendenza categorizzati:

Come facciamo qualcosa di simile in JMP? Possiamo creare pannelli e linee con colori variabili in Graph Builder; abbiamo solo bisogno di ottenere i dati nella forma giusta. Come al solito, un passo fondamentale per creare un grafico di pendenza in Graph Builder è utilizzare Tabella> Stack per ottenere le due colonne di dati in una colonna di etichette e una colonna di dati. Quindi la colonna dell'etichetta si sposta sull'asse X e la colonna dei dati si sposta sull'asse Y.
Per prima cosa dobbiamo ottenere i dati. A volte, quando eseguo un rapido remake, la cosa più semplice da fare è leggere i dati direttamente dal grafico. Ci sono programmi e siti web per aiutare in questo. Questa volta, ho usato l'app online, Digitalizzatore grafico Web , che ha prodotto un file CSV separato per ogni serie. I valori sono solo stime dei valori originali, ovviamente.
Dopo aver aperto i due file CSV e aver impostato i nomi delle colonne su "x" e "y", ho scritto il seguente script per combinarli e calcolare alcuni valori derivati.
dt1 = Data Table( "data" );
dt2 = Data Table( "data (1)" );
dt = New Table( "changes",
New Column( "Percentile", Format( "Percent", 8, 0 ), Set Values( (1 :: 100) / 100 ) ),
New Column( "Base", Format( "Percent", 8, 1 ) ),
New Column( "Change2010", Format( "Percent", 8, 1 ) ),
New Column( "Change2013", Format( "Percent", 8, 1 ) ),
New Column( "Net2010", Format( "Percent", 8, 1 ) ),
New Column( "Net2013", Format( "Percent", 8, 1 ) ),
New Column( "Group", Character ),
New Column( "Rank" )
);
For Each Row(
dt,
dt:Base = 1.0;
dt:Change2010 = Interpolate( dt:Percentile, dt2:x << Get Values(), dt2:y << Get Values );
dt:Change2013 = Interpolate( dt:Percentile, dt1:x << Get Values(), dt1:y << Get Values );
dt:Net2010 = dt:Base * (1 + dt:Change2010);
dt:Net2013 = dt:Net2010 * (1 + dt:Change2013);
dt:Group = If(
dt:Percentile <= 0.1, "Bottom 10%",
dt:Percentile <= 0.9, "Middle 80%",
"Top 10%"
);
dt:Rank = If(
dt:Percentile <= 0.1, dt:Percentile / .1,
dt:Percentile <= 0.9, (dt:Percentile - .1) / .8,
(dt:Percentile - .9) / .1
);
);
L'interpolazione consiste nell'allineare i valori "x" su valori percentili pari. Il gruppo e il grado controllano il modo in cui raggruppiamo e coloriamo in Graph Builder. I valori Base e Net sono perché volevo provare qualcosa di diverso da quello che ha fatto Kaiser. Solo vedere le perdite e le percentuali di guadagno non è sufficiente per vedere l'effetto netto, quindi computo esplicitamente l'effetto netto e grafico invece quelli.
Dopo aver impilato le tre colonne, Base2007, Net2010 e Net2013, posso creare il grafico delle linee. Ho inserito il gruppo nel ruolo di gruppo X e nel ruolo di rango nel colore, aggiunto una linea di riferimento al 100% e aggiornato le etichette.

Ho appena realizzato che anche se ho bisogno del valore di base per i calcoli, in realtà non ho bisogno di mostrarli. Dopo aver utilizzato un filtro dati locale per escludere Base2007 e seguire l'esempio di Kaiser per ridurre il gruppo intermedio, ottengo:

La tabella dei dati finale è allegata.
Aggiornare : Come sottolinea Kaiser nel Conversazione su Twitter , non è necessariamente corretto calcolare i valori netti perché non sappiamo se le stesse persone si trovano in ogni gruppo percentile per ogni periodo. Fortunatamente, i cambiamenti sono ampiamente uniformi, quindi i percentili non cambiano molto, ma il grafico diventa ancora più approssimativo di quanto non fosse già.
Se stai cercando di ricreare grafici di pendenza o analizzare le variazioni del reddito disponibile come discusso, il digitalizzatore di grafici online può essere incredibilmente utile. Ti consente di estrarre i dati direttamente dalle immagini dei grafici, garantendo accuratezza e risparmiando tempo. Questo può aiutarti a preparare rapidamente set di dati per la visualizzazione in JMP o altri strumenti, semplificando il processo di allineamento e interpretazione dei dati per approfondimenti significativi. È un potente compagno per attività come la visualizzazione di tendenze o la creazione di grafici di pendenza simili all'esempio di Kaiser.