メモリを節約するために、.do ファイル内の一時ファイルの内容を削除または削除したいと考えています。.do ファイルの完了時にファイルがクリアされることになっていることはわかっていますが、不要になった後、途中で内容を削除できるかどうか疑問に思っています。
頭に浮かぶのは、ファイルを開くことです。すべての観測を削除します (ファイルのサイズの上限はアプリオリにわかっています)。そして、ファイルのサイズを小さくするために保存置換を行います。それは機能しますが、ファイルのサイズを大まかに知っており、潜在的に大きなファイルを開く必要があり、ファイルは少量ではあるが存在し続けるため、最も効率的なソリューションであるとは思えません。
これは、一時ファイルを削除するために生成したコードです。
tempfile temp1 temp2
/* LOTS OF CODE HERE */
clear
set mem 1197m
foreach X in temp1 temp2 {
clear
set mem 1197m
use "``X''"
drop if _n <= 20000000
save "``X''", replace
}