z.B
plt = fit model(<PARAMS>); rpt = plt << report; rpt(TableBox[7]) << make data table();</PARAMS>
Das Problem ist jedoch, wenn sich JMP ändert oder eine Singularität auftritt. TableBox [7] ändert die Identität und ist nicht mehr die Tabellenbox, nach der ich für eine Datentabelle suche
crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();
- Wenn ich mich nicht irre, ist das direkte Zuweisen der Tabelle zu einer Variablen wie im Beispiel auch eine neue Funktionsanforderung.
Ich habe vergessen, deine zu kommentieren
@benjaminbuck schrieb:
crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();
- Wenn ich mich nicht irre, ist das direkte Zuweisen der Tabelle zu einer Variablen wie im Beispiel auch eine neue Funktionsanforderung.
Respektvoll denke ich, dass Sie sich irren. In Ihrem obigen Beispiel wird die Variable unter der Annahme der korrekten Syntax, wie ich sie in meinem früheren Beitrag erläutert habe, angenommen crossvalidation_table enthält einen Verweis auf die Datentabelle, die durch die Meldung "Datentabelle erstellen" erstellt wurde. Vielleicht habe ich diesen Teil Ihrer Anfrage jedoch falsch verstanden.
EIN TableBox hat keinen Namen, aber die OutlineBox tut. Die beste Vorgehensweise ist also Index aus dem Namen einer Outlinebox . Wenn Sie in JMP 14 mit der rechten Maustaste auf eine Tabellenbox klicken und In Datentabelle einfügen Die resultierende Datentabelle hat a In Datentabelle machen Skript, das zeigt, wie die OutlineBox nach Namen verwendet wird, um zur TableBox zu gelangen.

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;
Das Skript, das JMP dort ablegt, verwendet den gesamten Baum der Gliederungsfelder. Wenn Sie sicher sind, dass es nur ein Umrissfeld mit dem Namen gibt, an dem Sie interessiert sind, benötigen Sie nicht den gesamten Baum:
rpt[Outline Box( "Crossvalidation" )][Table Box( 1 )] << Make Into Data Table;