软件教程 | Jupyter&stata之stata_kernel攻略
一、什么是stata_kernel
1. stata_kernel简介
Jupyter是一个用于交互式数据科学的开源生态系统,简单来说通过stata_kernel,用户可以为jupyter工具安装一个stata内核,再通过jupyter环境调用本地的stata应用,完成一系列在stata中可以进行的操作。
2. 为什么要使用stata_kernel
stata作为一个专业的数据分析和科学研究软件,虽然其有着众多的计量分析工具,且在回归分析等方面有着巨大的功能优势,但我始终觉得它的UI设计丑陋且不合理。
个人认为stata与SPSS最大的区别在于用户在使用过程中的操作逻辑不同:前者偏向于代码逻辑,操作快捷,自定义程度高,但有着一定的编程门槛;而后者偏向于UI操作,操作复杂,自定义程度及复用性不高,但胜在使用门槛较低。因此当代码逻辑的stata也开发出一套用于快捷操作的UI时,未免会让像我这样的使用者觉得有点狗尾续貂,本质上来说,我对stata的使用需求更多是在于其丰富多元的计量分析命令,我希望通过编写程序的方式去解决每一个数据分析问题,并且让这些程序在不同问题上可以简单迅速地复用(因此注释或笔记功能就显得非常重要),同时我还希望能将我解决问题的过程形成笔记或讲义,因此界面的美观程度以及可导出性也是我所重视的问题。
而在众多IDE工具中(pycharm、vscode等),jupyter工具(jupyternotebook或jupyterlab)在编程学习或数据分析方面一直有着独特的优势,其UI简洁明亮,其也是我目前最喜欢使用的一款IDE工具(尤其是在jupyterlab推出桌面版且兼容了插件管理器之后);所以在jupyterlab中像开发python程序一般编写我的stata程序,并且能够实时调试或者记录笔记,就成为了我对stata使用的追求,而通过使用stata_kernel,便可以实现这一点!
3. stata_kernel与pystata的区别
熟悉stata的朋友应该知道,在stata17之后,官方推出了一种stata与python的全新交互方式,即通过在python环境中直接安装pystata模块,便能在python环境中直接调用stata17。而这正是二者的区别,stata_kernel以是jupyter环境内核的形式运行,而pystata则以python包的形式运行,这是两种不同的运行模式,即便我是在jupyter环境中运行python内核,从而运行stata代码,也与stata_kernel的方式运行stata代码截然不同。
当然,我们没有必要去区分二者的运行方式差异,毕竟一般情况下使用者仅仅关注最终的结果,在我目前的使用场景和体验中,我认为二者的差别或者优劣如下:
stata_kernel: