作者:万莉 (北京航空航天大学)
连享会 - 与君分享 lianxh.cn
文章目录
引言
在 Stata 16 发布页面, “truly reproducible reporting(可重复性报告)” 成为亮点之一。继 Stata 15 之后, Stata16 进一步引入和完善一系列相关命令。
对于 Stata 用户而言,我们可以用这些命令直接编写 dofile, 将报告正文、Stata 生成的图表等整合在一个文档中,自定义生成各种格式的文档(text,Word,PDF,Excel 或 HTML)。
更为重要的是,我们可实现可重复性研究,即报告中的数据、模型发生变化后,我们只需稍加修改 Stata 命令,便可输出更新后的文档,而不必逐个修改变动后的结果。
生成可重复性报告(Reproducible and automated reporting)的命令可分为两类:
-
第一类:dyn 类——生成文档: 各种带
dyn
前缀的动态文档生成命令 (如dyntext
|dyndoc
),用于生成 text、HTML 和 Word 文档。更重要的是,该命令支持 Markdown 文本格式语言。 -
第二类:put 类——输出文档: 各种带
put
前缀的文档输出命令 (putdocx
|putpdf
|putexcel
)。此类命令可自定义生成 Word、PDF 和 Excel 文件。
本文着重讲解第一类命令的使用方法。后续将介绍第二类命令。
连享会计量方法专题……
1. 准备工作:Markdown 和 Stata 动态标签
在学习动态文档命令前,我们先做一些准备工作。由于该类命令支持 Markdown 文本格式语言,且需要包含 Stata dynamic tags(动态标签),我们先大致了解下 Markdown 和 Stata dynamic tags(动态标签)。
1.1 什么是 Markdown ?
Markdown 是一种轻量级且易使用的标记语言,通过对标题、正文、加粗、链接等主要文本格式的预设编码,帮用户在写作中有效避免频繁的格式调整,获得更加流畅沉浸的写作体验。本质上,Markdown 是一种标记语法,它的格式更接近于纯文本。
了解 Markdown 的核心语句只需要五分钟。对比下图左右两栏,即可快速掌握 9 成以上的 Markdown 语法 ( Source: 「连玉君-五分钟 Markdown 教程」)。
- Markdown 语法的入门教程:
- Markdown 在线编辑器
1.2 什么是 Stata dynamic tags(动态标签)?
在动态文档命令 (
dyndoc
,dyntext
) 中使用动态标签,用来定义执行某种操作,比如运行某个区域块,在文字中插入 Stata 命令的运行结果,导出图片等。
你可在 Stata 中输入 help dynamic tags
查看 dynamic tags 的具体使用说明。有两点需要注意:
- 带 / 的标签需成对出现。
- 可进一步定义标签,在后面附加属性 (attributes);形如:
<<dd_tags: attributes>>
。
可用的动态标签及相关使用方法,列在下方:
-
<<dd_version>>
定义执行命令所需的最低版本;使用时需放在单行,推荐放在文档的首行。<<dd_version: version_number>> * version_number 不是指 Stata 版本,而是命令的版本。
比如,当前
dyndoc
版本为 2, Stata 15 引入该命令, Stata 16 完善该命令。
你可输入dis c(dyndoc_version)
查看你所安装的 Stata 中该命令的相应版本。 -
<<dd_do>> 和