第六讲--stata程序管理_第1页
第六讲--stata程序管理_第2页
第六讲--stata程序管理_第3页
第六讲--stata程序管理_第4页
第六讲--stata程序管理_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲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,world修改为hello,cufeprogramhellohelloalreadydefinedr(110)解决方法:programdrophello注意,program名不能与stata中的命令名一致programdesdisplay”hello,world“end,第二种:在stata窗口中输入,programhellodisplayhello,cufeend查找语法错误:settraceon关闭该功能:settraceoff,第三种:dofile中的program,programhellodisplay“hello,world”endstata中输入:dohellostata显示:helloalreadydefinedr(110)stata输入:programdrophellodohello/或用runhellohello,第四种:dofile的扩展,programhellodis“hello,world”endhelloexit如果加上programdrophello解决方法:capture,第五种:adofile,adofile是stata中的可执行文件programhellodis“hello,world”endexit执行时输入:programdrophellohellostata显示:hello,world,adofile的保存地址,adofile只有放在指定的文件夹中才能运行adopath命令adopath+c:adopersonal/增加新的adofile存放地址adopath-c:adopersonal/移除adofile目录注意:可以将自己的程序统一存放于D:stataadopersonalmyado同时在profile.do文件中做如下定义adopath+D:stataadopersonalmyado该文件夹下可以进一步设定a-z的子文件夹,一个完整的dofile文件,capturelogclose/检查log的状态为closelogusingx,replace/打开logxsetmoreoffcaptureprogramdrophelloprogramhellodis“hello,world”endlogclose/关闭logexit/保存为sj.do,dofile的引用,dosjexit/保存为sj2.dodosj2,assert的用法,assert是stata的重要命令,如果assert后的表达式为true,则stata继续执行命令,否则stata会提示出错captureprogramdropsj2sysuseauto,clearassertforeign2exit/保存为sj2.do,preserve的用法,preserve可以避免数据在程序执行后有所变动sysuseauto,clearpreserve/备份当前状态S1dropifprice10000sumsavenauto,replacerestore/恢复到状态S1sumusenauto,clear,quietly的用法,quietly可以避免列印过多的结果比较两段代码captureprogramdropsjprogramsjsysuseauto,cleardropifprice1000savenauto,replaceendcaptureprogramdropsjprogramsjsysuseauto,clearquietlydropifprice1000savenauto,replaceend,单值Scalar,存放数值scalara=3scalarb=ln(a)+5disadisb存放字符串scalarc=.adiscscalars1=“hello,world”scalars2=substr(s1,1,5)diss1diss2,执行命令后的单值结果,sysuseauto,clearsumpricereturnlistdisr(N)scalarrange=r(max)-r(min)disrangegenqq=r(sd)listqqin1/10,单值管理,scalardirscalarlist/显示单值的内容scalardropa/删除单值scalarlistscalardropall/删除所有单值scalarlist,暂元变量localmacro,local:在一个do或adofile中发挥作用暂元的定义与引用存放数字locala=5disalocalb=a+7disb存放文字localname1“sj:”dis“name1”localname2“中央财经大学会计学院”dis“name2”localname3name1name2dis“name3”存放变量名称sysuseauto,clearlocalvarllistpriceweightsumvarlist,Local:数学运算符的处理,locala“2+2”disadis“a”/看这两个有何区别localb=2+2/注意与a的定义的区别disbdis“b”,暂元中的暂元,locala1=2locala2“var”locala3=2*a1locala4aa1locala2a1=2*a3disa1dis“a2”disa3dis“a4”,全局暂元globalmacro:定义与引用方式,全局暂元:在整个stata运行的过程中一直存在定义与引用方式:globalaa“Thisismyfirstprogram!”dis“$aa”globalx1=5globalx2=2$x1dis$x2示例:sysuesauto,clearglobaloption“,robust”globalreg“regress”localx1“pricempgforeign”$regrep78x1$optionlocalx2“pricempgforeigntrunk”$regrep78x1$option$regrep78x2$option,暂元的管理,macrolistmacrodirmacrodropx2macrodirx2macrodiraa,暂时性变量tempvar,sysuseauto,cleartempvarx1x2genx1=price*2genx2=ln(rep78)sumx1x2暂时性变量可以与永久变量同名,循环语句,while语句forvalues语句foreach语句,条件循环语句:while,localj=0whilej5disajlocalj=j+1,循环语句:forvalues,locali=1localj=_Nforvaluesi=1(1)jdisaIforvaluesi=0(-1)-14disai,forvalues应用示例,假设你有100个文件,分别为d1.dta,d2.dta,d100.dta研究要求将这100个文件做纵向合并,写出程序used1.dta,clearlocali=2forvaluesi=2(1)100appendusingdi.dtasavefinaldata,replace,循环语句:foreach,foreachvarofvarlistxyzcommand示例1:将auto.dta各变量的对数转换和缩尾处理sysuseauto,clearlocalvarspriceweightlengthforeachvofvarlistvarsgenlnv=ln(v)winsorv,gen(vw)p(0.01),条件语句:if,语法格式格式1if(条件)command格式2if(条件1)command1elseif(条件2)/这里可以没有ifcommand2,条件语句:if示例,scalaraa=1ifaa=1dis“这小子真帅!”elseifaa=0dis“这女孩真亮!”,引用stata命令的返回值,留存在内存中的结果r-class,与模型估计无关的命令,如sume-class,与模型估计有关的命令,如regresss-class,其他命令,如listc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论