將一些本地宏值導出爲小型csv文件的一種簡單方法是通過用逗號編寫一個文本文件並在最後將其重命名爲csv。你的榜樣,你可以嘗試:
sysuse auto
file open TABLES using "ranges.txt", write replace //create temporary text file
file write TABLES "p1, p99" _n // columns headers
summ price,de
file write TABLES (r(p1)) "," (r(p99)) _n // write locals separated by commas into the text file
file close TABLES
copy ranges.txt ranges.csv, replace //change extension to csv
rm ranges.txt //remove text file
如果你想重複該過程的rep78
每個級別:
sysuse auto
levelsof rep78, local(levels)
file open TABLES using "ranges.txt", write replace //create temporary text file
file write TABLES "level of rep78, p1, p99" _n // columns headers
foreach i of local levels {
summ price if rep78==`i',de
file write TABLES "`i', `r(p1)' , `r(p99)'"_n
}
file close TABLES
copy ranges.txt ranges.csv, replace //change extension to csv
rm ranges.txt //remove text file
感謝這個大,但主要的問題是,當我在納入一個循環,塔塔不使用「ranges.txt」識別功能,即 'sysuse汽車,清晰 文件打開的表,寫替換//創建臨時文本文件 文件寫入TABLES「P1,P99」 _n levelsof Rep78的,當地(級別) 「我',de 文件寫入表格(r(p1))」,「(r(p99))_n } 文件關閉表格 copy ranges.txt ranges.csv,替換//將擴展名更改爲csv rm ranges.txt //刪除文本文件' – Keniajin
我認爲您需要以不同的方式調用本地值(請參閱我的編輯)。 – GPierre