Problema
Ejecuta un análisis en JMP y desea extraer algunas de las estadísticas del informe de la plataforma. Luego, desea colocar esas estadísticas en una ventana de informe personalizada, de modo que pueda conservarlas después de que se cierren la tabla de datos y el informe de la plataforma.
Solución
Puede obtener una referencia a la capa de informe del informe de análisis y usar mensajes JSL para extraer estadísticas de
En este ejemplo, se genera un informe de la plataforma bivariada y se obtiene una referencia a la capa del informe ( informebiv ). Con esa referencia, puede extraer variables y cadenas del informe bivariado. Luego, se crea una nueva ventana de informe personalizado y se completa con las estadísticas y las cadenas que se extrajeron del informe. Finalmente, la tabla de datos se cierra, lo que cierra el informe bivariado, pero la ventana del informe personalizado permanece abierta.
Names Default To Here(1);
sd = Open( "$SAMPLE_DATA/Lipid Data.JMP" );
biv = sd << Bivariate( // biv is the analysis layer.
Y( :Triglycerides ),
X( :LDL ),
Density Ellipse( 0.95, {Line Color( {213, 72, 87} )} ),
Fit Line( {Line Color( {57, 177, 67} )} )
);
/* Get a reference to the report layer. */
reportbiv = biv << Report;
// Make sure the "Bivariate Normal Ellipse" outline
// in the Bivariate report is open. You can then see which
// content to extract into the Custom report.
reportbiv[Outline Box( "Bivariate Normal Ellipse P=0.950" )] << Close( 0 );
// Extract the correlation coefficient.
corrvalue = reportbiv[Outline Box( "Bivariate Normal Ellipse P=0.950" )][Number Col Box( "Correlation" )] << Get( 1 );
// Extract the numeric values from the Summary of Fit report as a matrix.
sumfit = reportbiv[Outline Box( "Summary of Fit" )][Number Col Box( 1 )] << Get as Matrix;
// Extract the Term column of the Parameter Estimates report as a list of strings.
term = reportbiv[Outline Box( "Parameter Estimates" )][String Col Box( "Term" )] << Get();
// Extract the Parameter Estimates values as a matrix.
parmests = reportbiv[Outline Box( "Parameter Estimates" )][Table Box( 1 )] << Get as Matrix;
dlg = New Window( "Custom Report",
Outline Box( "Selected Values",
/* The Lineup box defines a two-column layout, each of which contains a Text Box. */
Lineup Box( N Col( 2 ), Text Box( "Factor of Interest: " ), Text Box( term[2] ), ),
tb = Table Box(
/* Display an empty string in the first column and the text in the second column. */
String Col Box( " ", {"Sample Size: ", "Adjusted RSquare: ", "RSquare: ", "Correlation:"} ),
/* Insert a 30 pixel x 30 pixel spacer between the columns. */
Spacer Box( Size( 30, 30 ) ),
/* Display an empty string in the first column and the statistics in the second column. */
Number Col Box( " ", sumfit[{5,2,1}] |/ corrvalue )
),
/* Insert a 1 x 30 spacer. */
Spacer Box( Size( 0, 30 ) ),
Table Box(
/* Display the cloned String Col Box and insert the Parameter Estimates and Standard Error values. */
String Col Box( "Term", term ),
Number Col Box( "Estimate", parmests[0,1] ),
Number Col Box( "Standard Error", parmests[0,2] )
)
)
);
tb << Set Shade Headings( 0 ); // Turn off shaded table headings.
tb << Set Heading Column Borders( 0 ); // Turn off table column borders.
Close( sd ); // Close the data table.
Discusión
Los informes de la plataforma JMP contienen dos capas: la capa de la plataforma y la capa del informe. Si tiene un objeto JSL que es una referencia a la capa de la plataforma, puede enviar mensajes a ese objeto relacionados con el análisis. Estas son generalmente opciones que se encuentran en el menú del triángulo rojo. Si tiene un objeto JSL que es una referencia a la capa del informe, puede enviar mensajes a ese objeto relacionados con el propio informe. Estos mensajes pueden extraer valores o imágenes, cambiar selecciones, abrir y cerrar nodos de contorno, entre otras acciones.
Ver también
Este artículo está basado en un ejemplo en la documentación de JMP .
Traté de seguir este código y usarlo en un informe diferente.
mi intención es ejecutar varios modelos y resumir los resultados importantes en una tabla como se muestra aquí.
Aquí hay un ejemplo simple en un conjunto de datos de muestra para mostrar lo que estoy buscando.
Para empezar, traté de extraer el valor P del modelo. Así que comenté el segundo modelo y escribí el siguiente código:
Open("$SAMPLE_DATA/Detergent.jmp");
Model1 = Fit Model(
Y( :previous use ),
Effects( :softness ),
Personality( "Nominal Logistic" ),
Run(
Positive Level( "yes" ),
Likelihood Ratio Tests( 1 ),
Wald Tests( 1 ),
Odds Ratios( 1 ),
ROC Curve( 1 )
)
);
reportMod = Model1 << Report;
FMchi = reportMod[Outline Box( "Whole Model Test" )][Number Col Box( "Prob>ChiSq" )] << Get( 1 );
dlg = New Window( "Custom Report11",
Outline Box( "Selected Values",
Table Box(
String Col Box( "Pvalue", FMchi )
)
)
);
/*
Model2=Fit Model(
Y( :previous use ),
Effects( :count ),
Personality( "Nominal Logistic" ),
Run(
Positive Level( "yes" ),
Likelihood Ratio Tests( 1 ),
Wald Tests( 0 ),
Odds Ratios( 1 ),
ROC Curve( 1 ),
Logistic Plot( 1 )
)
);La tabla final que quiero es:
Atributo | Prueba de modelo completo | RScuadrado (U) | norte | Estimar | Prob>ChiSq | Razón de probabilidades | ABC |
blandura | 1.000 | 0.000 | 24 | 0 | 1.000 | 1.000 | 0.500 |
contar | 0.5268 | 0.012 | 24 | 0.0183 | 0.5301 | 1.01847 | 0.5625 |
aquí hay una captura de pantalla del informe obtenido en el que destaqué los datos extraídos.
(En la suavidad del atributo, para la estimación de parámetros y la razón de probabilidades, tomé solo la primera fila del diario).




Aparece la ventana del informe original, pero ni siquiera pude abrir la ventana del informe adicional.
Cualquier consejo sería apreciado.
TÍA, Eli