p.ej
plt = fit model(<PARAMS>); rpt = plt << report; rpt(TableBox[7]) << make data table();</PARAMS>
pero el problema es si JMP cambia o se produce una singularidad TableBox [7] cambia de identidad y ya no es el cuadro de tabla que busco para una tabla de datos, preferiría, por ejemplo,
crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();
- si no me equivoco, asignar directamente la tabla a una variable como en el ejemplo es también una nueva solicitud de función.
Olvidé comentar tu
@benjaminbuck escribió:
crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();
- si no me equivoco, asignar directamente la tabla a una variable como en el ejemplo es también una nueva solicitud de función.
Respetuosamente, creo que está equivocado. En su ejemplo anterior, asumiendo la sintaxis correcta como expliqué en mi publicación anterior, la variable tabla_validacion_cruzada tendrá una referencia a la tabla de datos creada por el mensaje Crear tabla de datos. Sin embargo, quizás he entendido mal esta parte de su solicitud.
UNA TableBox no tiene nombre, pero el OutlineBox hace. Entonces, la mejor práctica es índice fuera del nombre de un cuadro de esquema . En JMP 14, cuando hace clic con el botón derecho en un cuadro de tabla y Convertir en tabla de datos la tabla de datos resultante tiene un Convertir en tabla de datos script que muestra cómo usar el OutlineBox por nombre para llegar al TableBox.

dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Validation",
Character,
"Nominal",
Formula( If( Random Uniform() > 0.2, "0", "1" ) ),
Value Labels( {"0" = "Training", "1" = "Validation"} ),
Use Value Labels( 1 ),
);
fm = Fit Model(
Validation( :Validation ),
Y( :weight ),
Effects( :age, :sex, :height ),
Personality( "Standard Least Squares" ),
Set Alpha Level( 0.1 ),
Emphasis( "Effect Leverage" ),
Run(
:weight << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
rpt = Report( fm );
rpt[Outline Box( "Response weight" )][Outline Box( "Whole Model" )][
Outline Box( "Crossvalidation" )][Table Box( 1 )] << Make Into Data Table;
El script que JMP pone allí usa todo el árbol de cuadros de esquema. Si está seguro de que solo hay un cuadro de esquema con el nombre que le interesa, no necesita todo el árbol:
rpt[Outline Box( "Crossvalidation" )][Table Box( 1 )] << Make Into Data Table;