昨天,有个用户留言说“stata搞计量统计的,这有啥用?”。
所以,今天我想写一篇推文谈一谈自己关于Stata的一些感悟。
Stata这个名字有两种写法,Stata或者STATA,写成stata是不合适的。Stata公司给Stata定位为“Data Analysis and Statistical Software”。这肯定是非常准确的。一般来说,数据分析包括三个过程,首先是数据探索,这一过程的常用方法就是画个图对数据进行一个概览;然后是建立一些数据分析模型,计量模型当然也是包含其中的;最后就是推断了,然而直接把结果以数字的形式展示是非常枯燥的,这就又产生了绘图的需要。
自己最开始接触Stata也是学习计量的时候,那个时候的自己只会按照书上的介绍操作Stata,关于数据分析、图表绘制都非常不熟练,因此效率也非常低。但是那个时候我也是非常喜欢Stata的。
后来自己开始意识到,熟练掌握一门软件是非常必要的。但是该从哪个软件开始呢?哪个时候我已经入门了Stata和R,其实我是选择了R的,但是为啥后来又走偏了呢?是因为大三上学期张宁老师让我担任计量经济学课程的助教。从此我就不得不深入学习Stata了,于是就走偏来到了现在这条路。
在这条路上走的也是蛮不容易的,Stata的学习单位是命令,我记得最开始我是坚持每天积累两个命令,很幸运自己坚持了下来。随着掌握的命令熟练增加,数据爬取、分析能力都大大增强了,然后这还不够啊,还缺少了画图的能力。于是我花了两个月的时间学习和研究Stata的绘图方法,并且在我的个人网页上写了大约300篇博客,这些都是我的个人笔记。因为我的个人网站上的站内搜索功能很方便,所以自己很喜欢把笔记放在那里。
很不容易终于走到了这一步,关于Stata,自己还有很多东西没来得及学习,过去所学的也都只是Stata的冰山一角,例如很著名的mata语言的使用、例如命令的ado编程、例如对话框的dlg编程、再例如面向对象的编程(Stata是可以面向对象编程的,不信你help class一下)。
自己对Stata的认识也是从局限开始的,最开始自己对Stata的认识就是一个个的命令,而且还很嫌弃Stata,觉得它不是面向对象的编程,绘图也很丑(谨代表个人观点,不过Stata的官方配色是真的丑)后来又觉得它爬数据能力有限、不能像R那样进行矩阵运算,所以自己又学了R语言的数据分析、绘图、爬数据。
但是随着自己对Stata的了解,之前对Stata的错误认识一个个被打破。关于“Stata不能面向对象编程”,这个观点还是今年年初自己想到的,还被丁文亮记录了下来,不过后来自己很快就被打脸了,就是那个help class。关于绘图,自己现在意识到,绘图的美丑实际与软件无关,与自己的技术和审美有关,例如你看这个我之前推文里面画的图(完全由Stata绘制的):
最近自己在研究的把Stata和ECharts等结合起来使用的东西更是极大的拓展了Stata的绘图能力。
最后就是Stata爬数据了,爬数据的本质还是数据获取和数据处理。Stata本身爬数据的能力确实是有限的,但是结合着curl和其它的shell命令还是可以基本可以满足我们经济人的要求的。我也学习过R的数据爬取,但是现在更喜欢用Stata爬数据,当然这是因为现在自己Stata用得比较熟练,所以还是主要用Stata爬。Stata爬数据是挺繁琐的,没有一些很高级的函数,例如把网页中的某个表格直接爬下来的函数。所以所有的数据处理都得自己一点点来。但是这也是很有好处的,可以让你深刻的理解这个数据爬取是如何实现的,当错误发生的时候,我们就能很容易的知道哪里出错以及如何解决。我觉得麻烦一点也挺好的。
嗯,大概就这些了。想的很多,但是有些东西很难表达。另外我也深刻的知道,不久之后自己就会发现现在的自己是多么多么的错误和认知的局限。所以大家最好当我今天在胡扯。
领取专属 10元无门槛券
私享最新 技术干货