查看原文
其他

Stata 中 Do-file 编辑器的使用

Stata连享会 Stata连享会 2020-02-10

作者:张晓明 (中国人民大学)

Stata连享会推文列表

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

采用命令行方式新建一个 dofile

采用菜单方式新建一个 Do-file:我们也可以点击 Stata 主界面第二行倒数第六个按钮 (形似一个空白的记事本上有一支黄色铅笔),以便新建一个 Do-file。

采用菜单方式新建 dofile

2.2 如何打开 dofile

上文保存好的 Ex01.do 文件留待后期调用编辑,也可以发给你的朋友,由他与你合作完成编辑。那么,如何打开一个既有的 Do-file 呢?

有两种方式:命令行方式和菜单方式。

打开 Do-file:命令行方式
刚才我们新建的 Do-file 的完整存储路径为 D:\Stata_Ex\Ex01.do,因此,我们只需在 Stata 命令窗口中输入 「doedit 文件路径」命令即可打开之 (当文件路径包含空格时,建议附加半角模式下的双引号):

  1. . doedit "D:\Stata_Ex\Ex01.do"

打开 Do-file:菜单方式
只需单击 Do-file 编辑器中的 「文件夹」按钮,并选择 Do-file 所在文件夹,找到需要打开的 Do-file 后,双击之即可打开。

打开 Do-file:菜单方式

3. dofile 的编写和执行

3.1 注释语句:三种方法

  1. 单行注释: 在行首使用*号,则该行内容会被自动忽略。一次只能注释一行语句。

  2. 行尾注释: 在一行命令之后至少加一个空格再加 // 字符,该行命令中//后的内容将被视为注释而忽略。

  3. 多行注释: 将需要注释的内容放在/* */组合字符里边,被该组字符括起来的内容会被忽略。

3.2 断行:三种方法

当所使用的命令很长需要换行的时候,可以使用以下两种方法来实现对命令的分行操作,从而实现分行后的命令承接上一行的操作:

  1. #delimit{cr|;}可以重置标志命令结束的字符,通过使用#delimit ; 命令来将分行操作符设置为;,通过使用#delimit cr来实现恢复正常分行操作。

  2. 通过使用字符组合///来实现上下行的连接

  3. 可以通过前述注释字符组合/* */来实现连接上下行的作用,在操作过程中只需将上下行使用注释字符连接起来即可。

3.3 示例

  1. *-我的第一个 dofile

  2. sysuse "auto.dta", clear

  3. sum price wei len //基本统计量

  4. reg price wei len //回归分析


  5. *-用 /* */ 实现断行

  6. reg price wei len mpg /*

  7. */ froeign i.rep78, robust


  8. *-用 #delimit ; 和 #delimit cr 重新定义换行符

  9. *------------------------------Fig1.begin-----

  10. #d ;

  11. twoway

  12. scatter price wei,

  13. title("散点图")

  14. subtitle("1978 年汽车价格资料") ;

  15. #d cr

  16. *------------------------------Fig1.over------

  17. *-Note: #d 是 #delimit 的简写

3.4 局部执行、全部执行和 dofile 文件调用

  1. 局部执行:选中某些行,点击下图所示按钮按钮;或用快捷键 Ctrl+D

在 Do-file 中执行选中的命令
  1. 全部执行:不选任何语句,直接点击上图中的执行按钮,则会自动执行 Do-file 中的所有命令;

  2. dofile 文件调用在:dofile 文件中执行另一个 dofile 的内容,实现了代码简化并且使得操作更加方便,操作步骤如下:

  • 创建一个 makedata.do 的 dofile 文件,在里边执行调入数据产生变量并且保存的操作,保存的数据文件名为 step1.dta

  • 为了对 step1 中的数据进行分析,创建一个新的 dofile 文件 anlstep1.do 来执行数据分析的相关操作

  • 通过创建一个新的 dofile 文件来调用 1 和 2 中生成的 dofile 文件,即可执行 1 和 2 中的全部内容

  1. /* 在已经完成 1 和 2 步骤的情况下,执行下列代码即可调用 1,2 中的 dofile 文件*/

  2. do makedata.do

  3. do anlstep1.do

4. dofile 的美化和语法高亮

  • 在 dofile 编辑器中点击 edit 按钮下的 Preferences 按钮,可以设定字体,字号,字体颜色,编辑器背景和颜色搭配等

Do-file 编辑器:设定字体,字号,字体颜色,编辑器背景和颜色搭配等

按照自己的喜好设定好后,可以点击上图中的 「Save preference set」,起一个简单明了的名字,如 【白天模式】;按此思路可以设定多种模式,如 夜晚模式 等。日后可以通过 「Load preference set」 菜单在不同的模板之间自由切换。

具体设定方法
Do-file 编辑器的配色方案设定

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专栏。可以在上述网站中搜索关键词StataStata连享会后关注我们。

  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。

  • Stata连享会 精彩推文1  || 精彩推文2

联系我们

  • 欢迎赐稿: 欢迎将您的文章或笔记投稿至Stata连享会(公众号: StataChina),我们会保留您的署名;录用稿件达五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。

  • 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。

  • 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。

  • 联系邮件: StataChina@163.com

往期精彩推文


欢迎加入Stata连享会(公众号: StataChina)

一起学空间计量……

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存