「提質增效」的Stata循環語句:直面大數據挑戰的實證會計「循環往複」do文件
寫在前面
Stata 「 小橋流水 」第五重境界者必然能嫻熟運用「 提質增效 」的Stata循環語句,打開 2015 年小編自編的企業投資效率測量do文件,心潮起伏!此刻,心中溢滿對國家社科基金立項資助的無限感恩 !正是因為國家社科基金的慷慨資助,風雨飄零的「 天涯 」倦客才有緣走進多彩的Stata世界,才有機會飽覽「 決策有用 」信息提供的Stata實現之「 國色天香 」。
1
forvalues 循環語句
set more off //Stata結果窗口自動翻屏設置
clear //清除內存數據集
cd F:usershai
esearchie //設定當前工作路徑
forvalues i = 1/7 { //指定一個循環任務
import excel iedata20150509, sheet("Sheet`i ") first clear //將外部Excel文件調入Stata內存
save d`i , replace //將調入內存的文件依次存為Stata格式文件d1、d2……d7,存放的路徑為當前工作路徑
} //指定的循環任務結束
圖1 基於Richardson(2006)編製的企業投資效率測量do文件
2
foreach 循環語句
foreach i of numlist 1/2 5 { //指定一個循環任務
use d`i , clear //打開指定的循環文件
gen yr = substr(date, 1, 4) //截取字元型變數date前4位,生成變數yr
gen int year = real(yr) //將字元型變數轉換成整數型數值變數year
drop date yr //刪除變數date 和 yr
label var year "year" //給變數year添加變數名標籤
sort stkcd year //變數排序
order stkcd year //將變數stkcd和year分別置為內存數據集的第一和第二個變數(標誌變數)
save d`i , replace //將循環調入內存的已處理數據集依次存為當前路徑的Stata格式文件d1、d2和d5
} //指定的循環任務結束
3
while 循環語句
capture drop count8 //清除已調入內存中的count8.do文件
program count8 //定義一個名為count8的do文件
local i = 1 //定義一個名為i的局域宏
while `i
display `i //顯示循環的局域宏值
local i = `i + 1 //局域宏的值自動加 1
} //指定的循環任務結束
end //聲明do文件結束
count8 //執行調入內存的count8.do文件
以上 count8.do文件執行結果見圖 2 。
圖2while循環do文件運行結果展示
循環往複的do文件需要您熟練使用Stata的局域宏和全局宏,基於宏的循環do文件,讓您編寫的Stata程序質量得以提升,實證會計工作效率大幅度提高。提質增效的Stata循環是Stata「 小橋流水 」第五重境界者之 「 必殺絕技 」。


TAG:CloserToNature |
※Perl 循環
※Kotlin 循環控制
※Python的for循環
※微軟推最新程序語言Bosque 以Functors取代Loop循環
※Python字元串、循環及練習
※spring+shiro+cas的整合問題之循環重定向
※理解 Python 的 for 循環
※J Clin Periodontol:口腔健康與視網膜微循環的關係
※Razor之C 循環和數組
※AGA的《Wonderful U》無差評的單曲循環必備好歌!
※T.Aaron田屹松回國新作《Take a Rest》誠意上線,單曲循環必聽之一
※python中while循環列印星星的四種形狀
※J Hypertens:高鹽攝入會影響舌下微循環,並與體重變化有關
※蘋果推新技術 可使壞掉的iPhone循環再生
※瀏覽器與Node的事件循環(Event Loop)有何區別?
※Python編寫循環的兩個建議
※雙向循環神經網路及TensorFlow實現
※作為全球創意總監,Christopher Raeburn 如何在 Timberland 品牌上延續「再循環美學」?
※告別for循環!微軟發全新開源編程語言Bosque
※多元文化說唱代表 Bohan Phoenix:音樂和潮流都在循環