Stata中Dofile编辑器的使用

发布时间:2020-07-17 阅读 10802

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程详情 https://gitee.com/arlionn/Course   |   lianxh.cn

课程主页 https://gitee.com/arlionn/Course

作者: 张晓明 (中国人民大学)
E-mail: 568755656@qq.com


目录


学习 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
采用命令行方式新建一个 dofile

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

采用菜单方式新建 dofile
采用菜单方式新建 dofile

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 后,双击之即可打开。

打开 Do-file:菜单方式
打开 Do-file:菜单方式

3. dofile 的编写和执行

3.1 注释语句:三种方法

  1. 单行注释: 在行首使用*号,则该行内容会被自动忽略。一次只能注释一行语句。
  2. 行尾注释: 在一行命令之后至少加一个空格再加 // 字符,该行命令中//后的内容将被视为注释而忽略。
  3. 多行注释: 将需要注释的内容放在/* */组合字符里边,被该组字符括起来的内容会被忽略。

3.2 断行:三种方法

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

  1. #delimit{cr|;}可以重置标志命令结束的字符,通过使用#delimit ; 命令来将分行操作符设置为;,通过使用#delimit cr来实现恢复正常分行操作。
  2. 通过使用字符组合///来实现上下行的连接
  3. 可以通过前述注释字符组合/* */来实现连接上下行的作用,在操作过程中只需将上下行使用注释字符连接起来即可。

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 文件调用

  1. 局部执行:选中某些行,点击下图所示按钮按钮;或用快捷键 Ctrl+D
在 Do-file 中执行选中的命令
在 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 和 2 步骤的情况下,执行下列代码即可调用 1,2 中的 dofile 文件*/
do makedata.do
do anlstep1.do

4. dofile 的美化和语法高亮

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

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

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

5. 使用外部编辑器

关于其他外部编辑器用来编辑 stata 命令的使用方法:

1.subline 编辑器,参见 Use Sublime!

2.Atom 编辑器,参见 Atom + Statastata-exec

3.ultraedit 编辑器,参见如何在stata中使用外部文本软件编辑并执行dofile

参考资料

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD