Stata/SE に変換して追加する .dat 拡張子を持つ 114 個のファイルがあり、かなりの数の変数 (81 から 16800 まで変化) があります。変数の最大数を 32000 にリセットし ( set maxvar 32000
)、メモリを増やしました ( set mem 500m
)。次のアルゴリズムを使用して、多数のファイルを結合し、ファイル名の一部を抽出していくつかの変数を生成しました: http://www.ats. ucla.edu/stat/stata/faq/append_many_files.htm
コードは次のようになります。
cd "C:\Users\..."
! dir *.dat /a-d /b >d:\Stata_directory\Products_batchfilelist.txt
file open myfile using "d:\Stata_directory\Products_batchfilelist.txt", read
file read myfile line
drop _all
insheet using `line', comma names
gen n = substr("`line'",10,1)
gen m = substr("`line'",12,1)
gen playersnum = substr("`line'",14,1)
save Products_merged.dta, replace
drop _all
file read myfile line
while r(eof)==0 {
insheet using `line', comma names
gen n = substr("`line'",10,1)
gen m = substr("`line'",12,1)
generate playersnum = substr("`line'",14,1)
save `line'.dta, replace
append using Products_merged.dta
save Products_merged.dta,replace
drop _all
file read myfile line
}
問題は、ファイル名から抽出された変数n,m,playersnum
が個々のファイルに存在するにもかかわらず、最終的な "Products_merged.dta" ファイルでは消えてしまうことです。何が問題なのか、また Stata/SE で解決できるかどうか教えてもらえますか?