Ich arbeite an einem Skript, das mehrere Diagramme erstellt, für jedes Diagramm eine Regressionsanpassung ermittelt und anschließend alle Regressionskoeffizienten in einer Tabelle speichert. Das Skript führt die gewünschten Aktionen aus, gerät aber mit zunehmender Anzahl auszuwertender Spalten ins Stocken. Das Skript scheint die in der For-Schleife erstellten Diagramme und generierten Panels im Hintergrund beizubehalten, selbst wenn ich versuche, sie innerhalb der Schleife zu schließen (ich benötige die Daten der einzelnen Diagramme oder Tabellen nicht mehr, sobald das Diagramm an eine Zeitschrift gesendet (für den PDF-Export) und die Regressionskoeffizienten extrahiert wurden).
Wenn ich das Skript mit dem Debugger schrittweise durchgehe, läuft es bis zum Ende und zeigt die einzelnen Fenster nicht an. Stoppe ich den Debugger jedoch (rotes Quadrat), werden alle einzelnen Fenster aus der For-Schleife erstellt. Das Skript iteriert über 600 Spalten, und die entsprechende Anzahl der im Hintergrund erstellten (unsichtbar gesetzten) Fenster bringt jmp mit der Zeit zum Stillstand.
Wenn ich ein Skript verwende, um einen Datensatz zu durchlaufen, um Analysen durchzuführen oder viele Diagramme zu erstellen, wie kann ich die erstellten „Zwischenfenster“, Diagramme usw. am besten schließen, um den entstehenden Speicherbedarf zu minimieren? Ich
Unten sehen Sie einen Teilausschnitt aus dem Skript, in dem ich die Spalten durchlaufe.
For( i = 7, i <=ncols, i++,
biv = dt << Bivariate(
Y(Column(colList[i]) ),
X( :Temperature ),
Fit Line( {Line Color( "Medium Dark Red" )} ), invisible);
rbiv = biv << Report;
biv << Close;
rbiv[Frame Box( 1 )] << Frame Size( 550, 400 );
rbiv << Page Break;
rbiv << Journal;
dtx= Report( biv )["Parameter Estimates"][Table Box( 1 )] << make combined data table;
// dty= Report( biv )["Lack Of Fit"][Table Box( 1 )] << make combined data table;
dtSlope << Concatenate(dtx ,"Append to first table");
// dtFit << Concatenate(dty ,dtSlope, "Append to first table");
// Close(dty, NoSave);
Close(dtx, NoSave);
);