¿Cómo guardar un script de gráfico con exclusiones de datos?
A menudo guardamos gráficos como scripts para su uso posterior. Todo funciona bien hasta que el gráfico implica la exclusión de datos. Por ejemplo, queremos graficar la recuperación de los pacientes que (1) recibieron una vacuna frente a (2) los que no. Las dos gráficas son idénticas (las mismas variables, eje, etiquetas y estilo) excepto que (1) excluye la condición (binaria) "sin vacuna" y (2) excluye la condición "vacuna".
Entendemos que el gráfico se actualiza a sí mismo cada vez que se cambian las exclusiones de datos (esta es una característica, no un error). ¿Hay alguna forma de guardar las exclusiones de datos en el script del gráfico? , para que cada vez que ejecutemos el script, veamos un resultado basado en las exclusiones de datos cuando se creó el gráfico.
GráficosRe: ¿Cómo guardar el guión gráfico con exclusiones de datos?Hay maneras diferentes de hacer esto. Si desea que el script de gráficos se ejecute en una nueva tabla de datos, entonces el script requerirá que JSL deba agregarse al script que pasa por los datos y realiza las selecciones en ese momento. Si la tarea es poder volver a ejecutar el gráfico con la misma configuración de la tabla de datos, entonces lo que se debe hacer es crear una nueva columna del tipo "Estado de fila" y luego guardar los estados de fila en el momento de la ejecución. del gráfico a la nueva columna de estado de fila. Luego, el script gráfico solo tendría que aumentarse para copiar los estados de las filas de guardado de la nueva columna a los estados de las filas de la tabla de datos y luego ejecutar el gráfico.
Re: ¿Cómo guardar el guión gráfico con exclusiones de datos?¡Gracias por la rápida respuesta!
1) ¿Puede señalar una explicación sobre cómo hacer esto? "El script requerirá que JSL deba agregarse al script que pasa por los datos y hace las selecciones en ese momento".
2) Si la solución anterior también nos permitirá especificar exclusiones en el mismo conjunto de datos, no hable más. De lo contrario, indíquenos una explicación sobre cómo hacer esto: "Entonces el script gráfico simplemente tendría que ser aumentado para copiar los estados de la fila guardada de la nueva columna a los estados de la fila de la tabla de datos y luego ejecutar el gráfico"
Re: ¿Cómo guardar el guión gráfico con exclusiones de datos?O otro enfoque es utilizar un filtro de datos local como parte del gráfico. De esa forma, el usuario puede cambiar fácilmente de un grupo a otro.
Re: ¿Cómo guardar el guión gráfico con exclusiones de datos?A continuación, se muestra un ejemplo de cómo guardar y luego usar una columna de estado de fila para restablecer la tabla de datos al estado que tenía cuando se ejecutó el gráfico original.
names default to here(1);
// Open a sample data table
dt = open("$SAMPLE_DATA/big class.jmp" );
// Set some exclusions and row coloring
dt << select where(:age == 12 & :sex == "F" );
dt << hide and exclude;
dt << color by column(:age);
// Run the graph to get the results desired
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
// To save the data table status at the time of the graph, simply
// create a new row state column, and copy the row states to it
dt << new column("My Row States", rowstate);
dt:My Row States << copy from row states;
// To illustrate what would needed to be added to the Graph Script
// to recreate the environment it was originally run in, I will first
// clear all of the row states to bring the table back to the
// default blank row states
dt << clear row states;
// Now all that has to be done, is to copy the rowstates from the row state
// column back to the data table row states, and then rerun the graph
dt:My Row States << copy to row states;
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
No creo que esta sea una respuesta completa a su respuesta, pero no estaba muy seguro de qué más estaba pidiendo. ¿Podría reafirmar lo que está preguntando y proporcionar más detalles?