Stata 中 Do-file 编辑器的使用
作者:张晓明 (中国人民大学)
2019暑期Stata现场班 (连玉君+刘瑞明主讲)
特别说明
文中包含的链接在微信中无法生效。请点击本文底部左下角的【阅读原文】
,转入本文【简书版】
。
学习 Stata 中 Do-file 操作的原因
任何一个好的研究项目的必备特征就是具有好的重复性,而通过 Stata 中 Do-file 可以轻松地使我们的结果具有良好的可重复性。本文的目的就在于帮助大家营造一个良好的 Do-file 工作环境。
1. Stata 命令的执行方式
菜单:直观,但效率低,可重复性差,不推荐
命令窗口:适合一些简短的,测试性的命令
dofile:或曰 do文档,适合记录复杂的分析过程,Stata 的程序 (ado) 文件也是在 dofile 编辑器中编写的;便于保存和重复操作,便于分享
2. 管理 dofile:新建、保存和打开
2.1 新建和保存 Do-file
在 Stata 命令窗口中输入 doedit
即可新建一个空白的 Do-file。我们可以把弹出的空白 dofile 中 (默认名称为 Untitled.do) 视为一个文本文件,可以在里面编写 Stata 命令。随后点击 「保存」 按钮就可以像保存普通的 txt 或 Word 文档那样把这份工作记录存在电脑硬盘上了。
需要注意的是,Stata 的 do文档 有自己专属的文件类型,因此,保存时,请不要更改其默认的文件类型:「Do-file (*.do)」,至于文件名则没有特殊要求,中英文均可。
这里,我们把新建的 Do-file 保存在 D:\Stata_Ex 文件夹下 (你可以放在任何文件夹下),名称为 Ex01.do,则该文件的完整存储路径为 D:\Stata_Ex\Ex01.do。
采用菜单方式新建一个 Do-file:我们也可以点击 Stata 主界面第二行倒数第六个按钮 (形似一个空白的记事本上有一支黄色铅笔),以便新建一个 Do-file。
2.2 如何打开 dofile
上文保存好的 Ex01.do 文件留待后期调用编辑,也可以发给你的朋友,由他与你合作完成编辑。那么,如何打开一个既有的 Do-file 呢?
有两种方式:命令行方式和菜单方式。
打开 Do-file:命令行方式
刚才我们新建的 Do-file 的完整存储路径为 D:\Stata_Ex\Ex01.do,因此,我们只需在 Stata 命令窗口中输入 「doedit 文件路径
」命令即可打开之 (当文件路径包含空格时,建议附加半角模式下的双引号):
. doedit "D:\Stata_Ex\Ex01.do"
打开 Do-file:菜单方式
只需单击 Do-file 编辑器中的 「文件夹」按钮,并选择 Do-file 所在文件夹,找到需要打开的 Do-file 后,双击之即可打开。
3. dofile 的编写和执行
3.1 注释语句:三种方法
单行注释: 在行首使用
*
号,则该行内容会被自动忽略。一次只能注释一行语句。行尾注释: 在一行命令之后至少加一个空格再加
//
字符,该行命令中//
后的内容将被视为注释而忽略。多行注释: 将需要注释的内容放在
/* */
组合字符里边,被该组字符括起来的内容会被忽略。
3.2 断行:三种方法
当所使用的命令很长需要换行的时候,可以使用以下两种方法来实现对命令的分行操作,从而实现分行后的命令承接上一行的操作:
#delimit{cr|;}
可以重置标志命令结束的字符,通过使用#delimit ;
命令来将分行操作符设置为;,通过使用#delimit cr
来实现恢复正常分行操作。通过使用字符组合
///
来实现上下行的连接可以通过前述注释字符组合
/* */
来实现连接上下行的作用,在操作过程中只需将上下行使用注释字符连接起来即可。
3.3 示例
*-我的第一个 dofile
sysuse "auto.dta", clear
sum price wei len //基本统计量
reg price wei len //回归分析
*-用 /* */ 实现断行
reg price wei len mpg /*
*/ froeign i.rep78, robust
*-用 #delimit ; 和 #delimit cr 重新定义换行符
*------------------------------Fig1.begin-----
#d ;
twoway
scatter price wei,
title("散点图")
subtitle("1978 年汽车价格资料") ;
#d cr
*------------------------------Fig1.over------
*-Note: #d 是 #delimit 的简写
3.4 局部执行、全部执行和 dofile 文件调用
局部执行:选中某些行,点击下图所示按钮按钮;或用快捷键
Ctrl+D
全部执行:不选任何语句,直接点击上图中的执行按钮,则会自动执行 Do-file 中的所有命令;
dofile 文件调用在:dofile 文件中执行另一个 dofile 的内容,实现了代码简化并且使得操作更加方便,操作步骤如下:
创建一个 makedata.do 的 dofile 文件,在里边执行调入数据产生变量并且保存的操作,保存的数据文件名为 step1.dta
为了对 step1 中的数据进行分析,创建一个新的 dofile 文件 anlstep1.do 来执行数据分析的相关操作
通过创建一个新的 dofile 文件来调用 1 和 2 中生成的 dofile 文件,即可执行 1 和 2 中的全部内容
/* 在已经完成 1 和 2 步骤的情况下,执行下列代码即可调用 1,2 中的 dofile 文件*/
do makedata.do
do anlstep1.do
4. dofile 的美化和语法高亮
在 dofile 编辑器中点击 edit 按钮下的 Preferences 按钮,可以设定字体,字号,字体颜色,编辑器背景和颜色搭配等
按照自己的喜好设定好后,可以点击上图中的 「Save preference set」,起一个简单明了的名字,如 【白天模式】;按此思路可以设定多种模式,如 夜晚模式 等。日后可以通过 「Load preference set」 菜单在不同的模板之间自由切换。
5. 使用外部编辑器
关于其他外部编辑器用来编辑 stata 命令的使用方法:
1.sublime 编辑器,参见 Use Sublime!
2.Atom 编辑器,参见 Atom + Stata 和 stata-exec
3.ultraedit 编辑器,参见如何在stata中使用外部文本软件编辑并执行dofile
参考资料
R1:Princeton教程 >> Do-file definition
R2:Stata 手册-dofile
R3:Creating a do-file
关于我们
【Stata 连享会(公众号:StataChina)】由中山大学连玉君老师团队创办,旨在定期与大家分享 Stata 应用的各种经验和技巧。
公众号推文同步发布于 CSDN-Stata连享会 、简书-Stata连享会 和 知乎-连玉君Stata专栏。可以在上述网站中搜索关键词
Stata
或Stata连享会
后关注我们。点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
Stata连享会 精彩推文1 || 精彩推文2
联系我们
欢迎赐稿: 欢迎将您的文章或笔记投稿至
Stata连享会(公众号: StataChina)
,我们会保留您的署名;录用稿件达五篇
以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
联系邮件: StataChina@163.com
往期精彩推文