我正在編寫一個腳本,它可以創建許多圖表,確定每個圖表的回歸適合度,然後將所有回歸係數保存到一個表中。該腳本可以執行我想要的操作,但隨著需要計算的列數增加,它會突然停止運行。即使我嘗試在循環中關閉它們,該腳本似乎仍會在後台保留在 For 循環中創建的圖表和生成的面板(一旦將圖表發送到期刊(用於 PDF 導出)並提取了回歸係數,我就不需要單獨的圖表或表格框數據了)。
當我使用調試器單步執行腳本時,腳本運行到最後並沒有顯示單獨的窗口,但當我停止調試器(紅色方塊)時,for 循環中的所有單獨窗口都會被創建。腳本迭代了 600 列,在背景建立的相應數量的視窗(設定為不可見)會隨著時間的推移導致 jmp 函數逐漸停止。
當使用腳本遍歷資料集以執行某些分析或產生許多圖表時,如何最好地關閉已建立的「中間」視窗、圖表等,以最大限度地減少產生的記憶體負擔?
以下是我遍歷各列的腳本的部分片段。
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);
);