admin 发表于 2015-11-19 16:49:17

学术小渣 | Stata常用命令

Stata常用命令
大学期间觉得学的最有用的软件之一就是stata了,对stata基本是在血和泪的尝试中爬过,到了最后基本属于只要stata不出现红字错误命令就开心得不得了。顺便整理一下常用的stata命令如下,应该对付计量方向第一学期的入门问题不大(求stata大神不虐..),所以就只写了一部分常用的,有时间后面再补充吧。主要就是分为基本操作和回归统计两部分:
1、基本操作
import/use/insheet/merge:基本常用的导入文件就是这四个了,建议直接从stata的menu菜单中导入,导入xlsx和csv这种常见的格式时还有一些备用选项可以自己体验一下(比如string和把第一行视为变量名之类)。
merge需要单独说一下,因为是将两个数据库合并为一个,原理也比较简单,两个数据库中根据一些相同的变量把其他数据“加”到原来的数据库中,也是建议直接菜单操作,不要用命令。在Data的Combine datasets的merge two datasets中,分为1:1、m:1、1:m各种形式,基本用两次就差不多能搞懂。
help:一定第一个学的是这个!啥不会就help一下,不知道函数了就help function,不知道回归细节就help regress,多读help文件!
gen/egen: 最常用的建立函数的命令,这两个不同之处在于gen一般是初等函数,egen的函数会复杂一些。常用的函数包括数学函数和其他函数,比如count/tag之类,建议直接到菜单里Data下Create data的create new variable或create new variable(extended)直接生成函数,会方便的多。
mean/abs/sqrt/max/min/sum/sd:常用数学函数,分别是求均值、绝对值、方根、最大最小、求和、方差用的。
keep if/drop if:这两个也是最常用的,在数据需要进行筛选的时候,两个命令的区别也很明显,keep是留下哪些,drop是去掉哪些。一般在if后面都会跟一些等式或不等式条件,比如drop if days<=15,这就是把days这个变量中小于等于15的obs都去掉。
replace:就是代替,最常用的是在赋值的时候。比如我要建一个新函数,但是取值我还不确定,假设新函数叫f,那就是gen f=.,这个“=.”就意思是缺省值,等我确定了赋值之后再用replace就行。比如有另一个参数叫male,我让所有male=1的obs,它们的新函数f都要取10,那就是replace f=10 if male==1。

sort:对某一个或者某几个变量进行从小到大的排序。常用的做法就是对日期排序,这个命令也可以排序多个变量,写在前面的先排序。比如sort year month day就是对年月日的顺序排序。如果需要从大到小的话就是gsort就行。
bysort:这个命令简直是用的最多的没有之一!在此之前先讲一下by,by就是在某个组内执行后面的命令。比如by year: gen return=mean(dayreturn),意思就是在每一年的数据里,gen一个return变量,将这一年内所有的dayreturn(日收益率)求平均后赋值给return即当年平均日收益率。而bysort就相当于先sort 再by。
:这个要单独讲一下,因为我个人觉得很好用。是一个计数变量,比如gen n=就是建立了一个自然数列,用到这个变量是因为在经济统计的时候,尤其是统计周数据、月数据、年数据时,由于我们的数据是日数据得到的,因此在每一组(比如计算月平均收益率blabla)时统计完之后,会发现在每一个组内有很多个相同的数据,因此用一个dropif monthreturn==monthreturn就可以只保留每一组的第一个数据,之后的处理会节省时间。(补充一句,如果你还需要原来的data的话一定记得另外保存)
drop:处理数据的过程中,一些过程变量就可以drop掉节省时间了。
save:记得写完了一定要保存!!
2、回归统计
sum:对统计量的最基本统计性质报告,直接敲sum加空格加某个变量就行。会报告均值、最大最小、标准差等最基本的信息。

tab:按照百分比对这个变量的取值统计。(就是相当于饼状图的表格)
reg:最简单的回归命令。直接敲reg y x1 x2就相当于y对x1x2的回归,回归结果会报告的比较详细,包括coefficient、constant、t值、p值、F值、SSR等等。
以下的xtreg/ivreg2/tsset分别针对的面板数据、两阶段最小二乘、时间序列,写起来太多,如果有小伙伴想看的话,可以再单独写一章。

[*]xtset/xtreg:面板数据处理的命令,需要先进行xtset才能用xtreg的命令。
[*]tsset:时间序列数据处理的命令。

[*]ivreg2:两阶段最小二乘的命令。(不过在使用之前需要先install一下安装包才可以用,也是先help ivreg2然后找到安装包就可以用)

3、我最喜欢用的命令…
count与tag:count顾名思义,就是数个数,这个有时候在数据里非常好用,尤其是在分组的情况下。举一个实际情况中遇到的栗子,比如我要统计某只股票在每个月内有多少个交易日,那我在月的分组下,用下count函数,就能数出来某个组内的个数。
Tag是另一个函数,我个人理解的与count区别在于:count是数有几个,tag是数有几类。举个栗子,比如在某个组内,有1个10,2个20,那么用count数出来就是3,因为一共有3个数据;用tag数出来就是2,因为只有10和20这两个数值。
页: [1]
查看完整版本: 学术小渣 | Stata常用命令