资源描述:
《第六讲 stata程序管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六讲stata程序编写与管理第一种方法:直接写dofile打开do编辑器:doedit一个简单的dofiledisplay“hello,world”exit//告诉stata在这程序结束,exit可不写保存为hello.do在command窗口输入dohellostata会显示display“hello,world”hello,world第二种:在stata窗口中输入stata显示:programhello1.display”hello,world“2.end执行:hello显示:hello,world将hello,w
2、orld修改为hello,cufeprogramhellohelloalreadydefinedr(110)解决方法:programdrophello注意,program名不能与stata中的命令名一致programdesdisplay”hello,world“end第二种:在stata窗口中输入programhellodisplayhello,cufeend查找语法错误:settraceon关闭该功能:settraceoff第三种:dofile中的programprogramhellodisplay“hello,wor
3、ld”endstata中输入:dohellostata显示:helloalreadydefinedr(110)stata输入:programdrophellodohello//或用runhellohello第四种:dofile的扩展programhellodis“hello,world”endhelloexit如果加上programdrophello解决方法:capture第五种:adofileadofile是stata中的可执行文件programhellodis“hello,world”endexit执行时输入:pro
4、gramdrophellohellostata显示:hello,worldadofile的保存地址adofile只有放在指定的文件夹中才能运行adopath命令adopath+c:adopersonal//增加新的adofile存放地址adopath-c:adopersonal//移除adofile目录注意:可以将自己的程序统一存放于D:stataadopersonalmyado同时在profile.do文件中做如下定义adopath+D:stataadopersonalmyado该文件夹下可以进
5、一步设定a-z的子文件夹一个完整的dofile文件capturelogclose//检查log的状态为closelogusingx,replace//打开logxsetmoreoffcaptureprogramdrophelloprogramhellodis“hello,world”endlogclose//关闭logexit//保存为sj.dodofile的引用dosjexit//保存为sj2.dodosj2assert的用法assert是stata的重要命令,如果assert后的表达式为true,则stata继续执行
6、命令,否则stata会提示出错captureprogramdropsj2sysuseauto,clearassertforeign>2exit//保存为sj2.dopreserve的用法preserve可以避免数据在程序执行后有所变动sysuseauto,clearpreserve//备份当前状态S1dropifprice>10000sumsavenauto,replacerestore//恢复到状态S1sumusenauto,clearquietly的用法quietly可以避免列印过多的结果比较两段代码capturep
7、rogramdropsjprogramsjsysuseauto,cleardropifprice<1000savenauto,replaceendcaptureprogramdropsjprogramsjsysuseauto,clearquietlydropifprice<1000savenauto,replaceend单值Scalar存放数值scalara=3scalarb=ln(a)+5disadisb存放字符串scalarc=.adiscscalars1=“hello,world”scalars2=substr(s
8、1,1,5)diss1diss2执行命令后的单值结果sysuseauto,clearsumpricereturnlistdisr(N)scalarrange=r(max)-r(min)disrangegenqq=r(sd)listqqin1/10单值管理scalardirscalarlist//显示单值的内容scal