<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Kaiser Fung recientemente criticado Este cuadro de cambios en la renta disponible.

Expuso la idea de utilizar gráficos de pendiente categorizados en su lugar:

¿Cómo hacemos algo así en JMP? Podemos hacer paneles y líneas con color variable en Graph Builder; solo tenemos que poner los datos en la forma correcta. Como de costumbre, un paso clave para hacer un gráfico de pendiente en Graph Builder es utilizar Tabla> Apilar para obtener las dos columnas de datos en una columna de etiquetas y una columna de datos. Luego, la columna de la etiqueta va en el eje X y la columna de datos en el eje Y.
Primero necesitamos obtener los datos. A veces, cuando estoy haciendo un remake rápido, lo más sencillo es leer los datos directamente de la gráfica. Hay programas y sitios web para ayudar con eso. Esta vez, utilicé la aplicación en línea, Web Plot Digitizer , que produjo un archivo CSV separado para cada serie. Los valores son solo estimaciones de los valores originales, por supuesto.
Después de abrir los dos archivos CSV y establecer los nombres de las columnas en "x" y "y", escribí la siguiente secuencia de comandos para combinarlos y calcular algunos valores derivados.
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
);
);
La interpolación consiste en alinear los valores "x" en valores de percentiles pares. El grupo y la clasificación deben controlar cómo agrupamos y coloreamos en Graph Builder. Los valores Base y Neto se deben a que quería probar algo un poco diferente de lo que hizo Kaiser. El solo hecho de ver los porcentajes de pérdida y ganancia no es suficiente para ver el efecto neto, por lo que calculo explícitamente el efecto neto y los grafico en su lugar.
Después de apilar las tres columnas, Base2007, Net2010 y Net2013, puedo crear el gráfico de líneas. Puse el Grupo en el rol del Grupo X y el Rango en el rol de Color, agregué una línea de referencia al 100% y actualicé las etiquetas.

Acabo de darme cuenta de que, aunque necesito el valor base para los cálculos, en realidad no necesito mostrarlos. Después de usar un filtro de datos locales para excluir Base2007 y seguir el ejemplo de Kaiser para diluir el grupo intermedio, obtengo:

La tabla de datos final se adjunta.
Actualizar : Como señala Kaiser en el Conversación de Twitter , no es necesariamente correcto calcular los valores netos porque no sabemos si las mismas personas están en cada grupo percentil para cada período. Afortunadamente, los cambios son en gran medida uniformes, por lo que es probable que los percentiles no cambien demasiado, pero el gráfico se vuelve incluso más aproximado de lo que ya era.
Si desea recrear gráficos de pendiente o analizar los cambios en los ingresos disponibles como se mencionó anteriormente, el digitalizador de gráficos en línea puede resultar increíblemente útil. Le permite extraer datos directamente de las imágenes de los gráficos, lo que garantiza la precisión y ahorra tiempo. Esto puede ayudarlo a preparar rápidamente conjuntos de datos para su visualización en JMP u otras herramientas, lo que agiliza el proceso de alineación e interpretación de los datos para obtener información significativa. Es un complemento poderoso para tareas como visualizar tendencias o crear gráficos de pendiente similares al ejemplo de Kaiser.