Iterar sobre elementos del informeHola, soy nuevo usando JMP pero me parece muy útil y práctico, hasta ahora lo estoy disfrutando mucho. Estoy aprendiendo JSL porque necesito automatizar algunos de los análisis para mis compañeros de equipo y para la eficiencia. Estoy empezando con algo simple pero necesito ayuda para seguir adelante.
Necesito personalizar los resultados de la plataforma de distribución para realizar un test de normalidad a varias columnas de una tabla, para poder repetirlo cuantas veces lo necesitemos yo o mis compañeros. Me las arreglé para escribir un script simple que logra esto de una manera fácil. Sin embargo, tengo problemas sobre cómo editar elementos particulares del informe cuando se cumple una condición.
Aquí está el script que devuelve valores de la prueba Shapiro-Wilk:
// Select variables to analyze
Names Default to Here( 1 );
dt = Current Data Table();
dialog = New Window( "Select Columns", << Modal,
Panel Box( "Column Selection",
Lineup Box( N Col( 1 ),
Text Box( "Select columns for distribution" ),
y col list = Col List Box( All )
)
),
H List Box(
Button Box( "OK",
y col = y col list << Get Selected;
),
Button Box( "Cancel" )
)
);
If( dialog["Button"] == -1,
Throw( "User cancelled" )
);
// Create distribution
dist = dt << Distribution(Columns(evalList(y col)),Histograms Only);
// Add parameters
dist << Normal Quantile Plot( 1 );
dist << Fit Distribution(Normal(Goodness of Fit(1)));
¿Cómo puedo hacer que JMP muestre automáticamente estadísticas de resumen personalizadas (incluidas la asimetría y la curtosis) cuando el valor P (Prob
Cuando trato de editar algo en el informe, por ejemplo, elimino las estimaciones de parámetros
distr["Parameter Estimates"] << Delete;
Lo hace sólo para el primer elemento del informe.
Agradecería cualquier ayuda sobre cómo manipular elementos del informe, en general, como eliminar todas las estimaciones de parámetros y, en particular, como P < 0.05.
¡Gracias!
secuencias de comandosRe: Iterar sobre elementos del informe¡¡¡Gracias!!!Re: Iterar sobre elementos del informeEl cuadro de lista H () es solo un contenedor en la ventana del informe.Las ventanas de informes de JMP se pueden considerar como una colección de contenedores de visualización anidados y elementos de visualización en esos contenedores.Si desea ver la estructura de árbol de visualización con los contenedores de visualización, haga clic con el botón derecho en el triángulo gris junto a un cuadro de esquema y seleccione Editar > Mostrar estructura de árbol.

En este caso, no creo que pueda hacerlo a la inversa, como lo describe, ya que uno de los resultados de ejecutar un comando de secuencia de comandos de la plataforma de análisis es que crea la ventana de visualización y el mensaje <
Si no colocas dist en el árbol de visualización como lo hice en el script, simplemente creará una nueva ventana con ese análisis de distribución único y habrá una ventana separada con cada análisis de distribución (para cada columna seleccionada).
Re: Iterar sobre elementos del informeMuchas gracias, cumple su función y además me enseña mucho. Es de gran ayuda.
Me gustaría preguntarle algo para ayudarme a entender, espero que no sea un gran problema para usted: noté que el primer paso que tomó en el bucle for fue agregar la distribución a la variable hb y luego agregue todos los detalles (qq-plot, prueba SW, etc.). Según mi lógica y experiencia en programación, generalmente agregaría los detalles primero y luego agregaría todo en el lugar correcto (ahí es exactamente donde estaba teniendo problemas). Mi pregunta es, ¿cómo funciona la hb creada por la función New Window? ¿Es algún tipo de página en blanco donde agregará todos los comandos posteriores y ajustará el tamaño de la nueva ventana en consecuencia? ¿Anexará todo lo que tiene que ver con la variable dist? ¿Y cómo influye la nueva variable creada con distr = Report( dist ) en lo que se agrega?
Acerca de su comentario sobre la bondad de la prueba de ajuste, muchas gracias, esa es en realidad la razón por la que estoy creando el script. Acabo de empezar un nuevo trabajo hace un mes y hasta ahora mis compañeros de equipo han estado usando SOLO el valor p de la prueba de Shapiro-Wilk para aceptar o rechazar la distribución normal. Estoy tratando de brindarles más herramientas para comprender o evaluar si los datos siguen una distribución normal o no, y por qué.
Re: Iterar sobre elementos del informeCuando utiliza Distribution() con una lista de columnas, la ventana del informe contiene el resultado de muchos análisis de distribución 'independientes'.Cada uno de esos análisis es un objeto separado.Interactuar con esos objetos puede ser diferente a interactuar con la capa del informe en la ventana del informe. Cuando lo haga
dist << Normal Quantile Plot(1);
ese mensaje se transmite a todos los objetos de distribución que se muestran en la ventana del informe.pero cuando lo haces
distr=Report(dist);
distr["Parameter Estimates"] << Delete;
lo que hace JMP es ir a la primera instancia del objeto de capa de informe al que se puede hacer referencia mediante la cadena "Estimaciones de parámetros", que en este caso es el cuadro de contorno debajo de los resultados normales ajustados.Para hacer lo que desea hacer, necesitaría recorrer cada parte del informe, obtener el resultado de la prueba de Shapiro-Wilk de la capa del informe y luego decidir eliminar partes del informe de salida.
Creo que en su caso sería más fácil iterar el análisis de distribución para cada columna de una en una, agregando los resultados a una nueva ventana de informe.Aquí hay un código de ejemplo que muestra cómo hacerlo
// Select variables to analyze
Names Default To Here( 1 );
dt = Current Data Table();
dialog = New Window( "Select Columns",
<<MODAL></MODAL>