Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:黄晨晨 (厦门大学)
邮箱:chens_huang@163.com
目录
Jupyter Notebook 是一个开源的 Web 应用程序,允许我们将交互式代码和结果合并在单个文档中。在连享会推文「Stata 与 Jupyter Notebook 关联的两种方法」中,我们介绍了使用 Jupyter Notebook + Stata 模式可以更好展示 Stata 代码和结果,方便与他人共享。
在上述推文中我们还介绍了将 Stata 与 Jupyter Notebook 关联的两种方法,分别是 ipystata
和 stata_kernel
。今天我们介绍一种新插件:nbstata
。
nbstata
允许我们在 Jupyter Notebook 中创建 Stata 笔记本,与在 Python 笔记本中使用 Stata 不同,这种方式是在 Python 代码中嵌入 Stata 命令。
nbstata
具有以下特点:
browse
功能的 DataGrid 部件 (例如,交互式过滤);describe
和 e
/return list
) 可在“上下文帮助”侧面板中查看;#delimit;
实现互动支持 (以及各类评论)。通过使用 Stata 笔记本我们可以实现:
启动和运行 nbstata
不需要太多时间,但是需要 Stata 和 Python 的支持。
Stata 版本:由于实现 nbstata
需要使用 pystata
,所以必须安装 Stata 17 及以上的版本。如果安装的是 Stata 的旧版本可以通过使用 stata_kernel
的方式来代替。
如何设置 stata_kernel
可参考往期推文「Jupyter 与 Stata 关联-stata_kernel」或「Stata 与 Jupyter Notebook 关联的两种方法」。
Python 版本:需要 Python 3.7 或更高版本。如果不熟悉 Python,建议安装 Anaconda ,使用 Anaconda 中的 Jupyter Notebook 来实现我们需要的功能。
如何安装 Jupyter Notebook 可查看往期推文「使用 Jupyter Notebook 配置 Stata\Python\Julia\R」。
完成好前期准备之后就可以下载并安装 nbstata
。下面以 Anaconda 软件为例介绍 nbstata
的安装。首先,打开 Anoconda Prompt,在对应环境下运行以下命令:
pip install nbstata
接下来运行以下指令,其语法如下 (方括号表示选项):
python -m nbstata.install [--sys-prefix]
[--prefix PREFIX] [--conf-file]
其中,
--sys-prefix
指定安装的环境,例如 virtualenv 或 conda env。--prefix PREFIX
指定安装路径。--conf-file
将创建一个配置文件。如果不需要更改安装的环境或路径,推荐使用以下指令安装:
python -m nbstata.install --conf-file
该指令将生成一个配置文件,便于我们后续修改配置。
如果要更新 nbstata
版本,请运行以下命令:
pip install nbstata --upgrade
在本地查找 .nbstata.conf
文件 (一般在 C 盘用户文件根目录),使用记事本方式打开该文件。建议将第二行 stata_dir
修改为本地 Stata 安装文件夹,这样在 Jupyter Notebook 运行时不容易报错。将第三行 edition
修改为安装的 Stata 版本,默认版本是 be
,可以根据自己的情况修改为 se
或 mp
。注意地址的书写格式,例如:
stata_dir = D:/software/stata17
edition = mp
此外,还有一些配置可以根据自己的需求进行修改:
graph_format
:默认为 png
,可修改为 pdf
、svg
或 pystata
。graph_width/graph_height
:默认情况下,生成的图形宽度为 5.5in (英寸),高度为 4in。宽度或高度可以指定为一个数字或一个数字及其单位 (in、cm 或 px)。echo
:控制命令的回显,默认为 None
:
True
:回显所有命令。False
:不会回显单行命令。None
:不回显任何命令。splash
:控制 Stata 启动时闪屏信息的显示。默认为 False
。missing
:设置 %browse
、%head
和 %tail
指令下输出中显示缺失值的形式。默认为 .
,与 Stata 一致,如果要使用 pandas 的 NaN
格式,将其修改为 pandas
。魔法指令 (Magics) 可增强在 Jupyter 中使用 Stata 的体验。它们仅在放置在代码单元格的开头时才起作用。Jupyter Magics 通常以 %
开头,但 nbstata
magics 也可以用 *%
为前缀,通过这种方式可以避免将 Stata 笔记本导出到 .do
文件时 Magics 引起错误。
nbstata
目前支持以下魔法指令:
咒语 | 描述 |
---|---|
%browse | 查看数据集 |
%head | 查看前 5 (或 N) 行 |
%tail | 查看最后 5 (或 N) 行 |
%frbrowse | 查看数据框 |
%frhead | 查看前 5 (或 N) 个数据框 |
%frtail | 查看最后 5 (或 N) 个数据框 |
%locals | 列出暂元和它们的值 |
%delimit | 打印当前分隔符 |
%help | 显示 Stata 帮助 |
%set | 设置单个配置选项 |
%%set | 设置多个配置选项 |
%status | 显示 Stata 或配置状态 |
%%echo | 显示命令回显 |
%%noecho | 不显示命令回显 |
%%quietly | 静默所有单元输出,包括图表 |
配置成功后,打开 Jupyter Notebook,通过 Kernel
-> Change kernel
-> Stata(nbstata)
就可以使用 nbstata
。
与 stata_kernel
相似,nbstata
不需要特殊的指令启动,我们可以直接书写 Stata 代码。例如,在命令行输入:
sysuse auto,clear
reg price weight
scatter price weight
结果如下:
我们可以通过 %help
命令查看 Stata 帮助文档。例如,在命令行输入:
%help histogram
结果如下:
我们还可以使用 *%%echo
、 %%noecho
、%%quietly
指令来体验显示命令回显、不显示命令回显以及静默所有输出的功能 (注意:由于 .nbstata.conf
文件中 echo
选项默认为 None
,默认不回显任何命令) 。
分别在命令行输入以下命令:
disp 1
disp 2
%%echo
disp 1
disp 2
%%noecho
disp 1
disp 2
%%quietly
disp 1
disp 2
结果如下图所示:
除了上述功能外,将 nbstata
和 Quarto
搭配使用效果更佳,将具有更大的灵活性,可用于完成动态文档,具体内容可参考「Using Quarto for Stata dynamic documents」。
Note:产生如下推文列表的 Stata 命令为:
lianxh jupyter, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh