資源描述:
《第六講 stata程序管理.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第六講stata程序編寫與管理第一種方法:直接寫dofile打開do編輯器:doedit一個簡單的dofiledisplay“hello,world”exit//告訴stata在這程序結(jié)束,exit可不寫保存為hello.do在command窗口輸入dohellostata會顯示display“hello,world”hello,world第二種:在stata窗口中輸入stata顯示:programhello1.display”hello,world“2.end執(zhí)行:hello顯示:hello,world將hello,w
2、orld修改為hello,cufeprogramhellohelloalreadydefinedr(110)解決方法:programdrophello注意,program名不能與stata中的命令名一致programdesdisplay”hello,world“end第二種:在stata窗口中輸入programhellodisplayhello,cufeend查找語法錯誤:settraceon關(guān)閉該功能:settraceoff第三種:dofile中的programprogramhellodisplay“hello,wor
3、ld”endstata中輸入:dohellostata顯示:helloalreadydefinedr(110)stata輸入:programdrophellodohello//或用runhellohello第四種:dofile的擴(kuò)展programhellodis“hello,world”endhelloexit如果加上programdrophello解決方法:capture第五種:adofileadofile是stata中的可執(zhí)行文件programhellodis“hello,world”endexit執(zhí)行時輸入:pro
4、gramdrophellohellostata顯示:hello,worldadofile的保存地址adofile只有放在指定的文件夾中才能運(yùn)行adopath命令adopath+c:adopersonal//增加新的adofile存放地址adopath-c:adopersonal//移除adofile目錄注意:可以將自己的程序統(tǒng)一存放于D:stataadopersonalmyado同時在profile.do文件中做如下定義adopath+D:stataadopersonalmyado該文件夾下可以進(jìn)
5、一步設(shè)定a-z的子文件夾一個完整的dofile文件capturelogclose//檢查log的狀態(tài)為closelogusingx,replace//打開logxsetmoreoffcaptureprogramdrophelloprogramhellodis“hello,world”endlogclose//關(guān)閉logexit//保存為sj.dodofile的引用dosjexit//保存為sj2.dodosj2assert的用法assert是stata的重要命令,如果assert后的表達(dá)式為true,則stata繼續(xù)執(zhí)行
6、命令,否則stata會提示出錯captureprogramdropsj2sysuseauto,clearassertforeign>2exit//保存為sj2.dopreserve的用法preserve可以避免數(shù)據(jù)在程序執(zhí)行后有所變動sysuseauto,clearpreserve//備份當(dāng)前狀態(tài)S1dropifprice>10000sumsavenauto,replacerestore//恢復(fù)到狀態(tài)S1sumusenauto,clearquietly的用法quietly可以避免列印過多的結(jié)果比較兩段代碼capturep
7、rogramdropsjprogramsjsysuseauto,cleardropifprice<1000savenauto,replaceendcaptureprogramdropsjprogramsjsysuseauto,clearquietlydropifprice<1000savenauto,replaceend單值Scalar存放數(shù)值scalara=3scalarb=ln(a)+5disadisb存放字符串scalarc=.adiscscalars1=“hello,world”scalars2=substr(s
8、1,1,5)diss1diss2執(zhí)行命令后的單值結(jié)果sysuseauto,clearsumpricereturnlistdisr(N)scalarrange=r(max)-r(min)disrangegenqq=r(sd)listqqin1/10單值管理scalardirscalarlist//顯示單值的內(nèi)容scal