Stata常用命令Word下载.docx

上传人:b****2 文档编号:5742985 上传时间:2023-05-05 格式:DOCX 页数:22 大小:28.96KB
下载 相关 举报
Stata常用命令Word下载.docx_第1页
第1页 / 共22页
Stata常用命令Word下载.docx_第2页
第2页 / 共22页
Stata常用命令Word下载.docx_第3页
第3页 / 共22页
Stata常用命令Word下载.docx_第4页
第4页 / 共22页
Stata常用命令Word下载.docx_第5页
第5页 / 共22页
Stata常用命令Word下载.docx_第6页
第6页 / 共22页
Stata常用命令Word下载.docx_第7页
第7页 / 共22页
Stata常用命令Word下载.docx_第8页
第8页 / 共22页
Stata常用命令Word下载.docx_第9页
第9页 / 共22页
Stata常用命令Word下载.docx_第10页
第10页 / 共22页
Stata常用命令Word下载.docx_第11页
第11页 / 共22页
Stata常用命令Word下载.docx_第12页
第12页 / 共22页
Stata常用命令Word下载.docx_第13页
第13页 / 共22页
Stata常用命令Word下载.docx_第14页
第14页 / 共22页
Stata常用命令Word下载.docx_第15页
第15页 / 共22页
Stata常用命令Word下载.docx_第16页
第16页 / 共22页
Stata常用命令Word下载.docx_第17页
第17页 / 共22页
Stata常用命令Word下载.docx_第18页
第18页 / 共22页
Stata常用命令Word下载.docx_第19页
第19页 / 共22页
Stata常用命令Word下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Stata常用命令Word下载.docx

《Stata常用命令Word下载.docx》由会员分享,可在线阅读,更多相关《Stata常用命令Word下载.docx(22页珍藏版)》请在冰点文库上搜索。

Stata常用命令Word下载.docx

常用的做法就是对日期排序,这个命令也可以排序多个变量,写在前面的先排序。

比如sortyearmonthday就是对年月日的顺序排序。

如果需要从大到小的话就是gsort就行。

bysort:

这个命令简直是用的最多的没有之一!

在此之前先讲一下by,by就是在某个组内执行后面的命令。

比如byyear:

genreturn=mean(dayreturn),意思就是在每一年的数据里,gen一个return变量,将这一年内所有的dayreturn(日收益率)求平均后赋值给return即当年平均日收益率。

而bysort就相当于先sort再by。

[_n]:

这个要单独讲一下,因为我个人觉得很好用。

[_n]是一个计数变量,比如genn=[_n]就是建立了一个自然数列,用到这个变量是因为在经济统计的时候,尤其是统计周数据、月数据、年数据时,由于我们的数据是日数据得到的,因此在每一组(比如计算月平均收益率blabla)时统计完之后,会发现在每一个组内有很多个相同的数据,因此用一个dropifmonthreturn[_n]==monthreturn[_n-1]就可以只保留每一组的第一个数据,之后的处理会节省时间。

(补充一句,如果你还需要原来的data的话一定记得另外保存)

drop:

处理数据的过程中,一些过程变量就可以drop掉节省时间了。

save:

记得写完了一定要保存!

2、回归统计

sum:

对统计量的最基本统计性质报告,直接敲sum加空格加某个变量就行。

会报告均值、最大最小、标准差等最基本的信息。

tab:

按照百分比对这个变量的取值统计。

(就是相当于饼状图的表格)

reg:

最简单的回归命令。

直接敲regyx1x2就相当于y对x1x2的回归,回归结果会报告的比较详细,包括coefficient、constant、t值、p值、F值、SSR等等。

以下的xtreg/ivreg2/tsset分别针对的面板数据、两阶段最小二乘、时间序列,写起来太多,如果有小伙伴想看的话,可以再单独写一章。

∙xtset/xtreg:

面板数据处理的命令,需要先进行xtset才能用xtreg的命令。

∙tsset:

时间序列数据处理的命令。

∙ivreg2:

两阶段最小二乘的命令。

(不过在使用之前需要先install一下安装包才可以用,也是先helpivreg2然后找到安装包就可以用)

3、我最喜欢用的命令…

count与tag:

count顾名思义,就是数个数,这个有时候在数据里非常好用,尤其是在分组的情况下。

举一个实际情况中遇到的栗子,比如我要统计某只股票在每个月内有多少个交易日,那我在月的分组下,用下count函数,就能数出来某个组内的个数。

Tag是另一个函数,我个人理解的与count区别在于:

count是数有几个,tag是数有几类。

举个栗子,比如在某个组内,有1个10,2个20,那么用count数出来就是3,因为一共有3个数据;

用tag数出来就是2,因为只有10和20这两个数值。

(转自人大论坛) 

调整变量格式:

formatx1%10.3f——将x1的列宽固定为10,小数点后取三位 

formatx1%10.3g——将x1的列宽固定为10,有效数字取三位 

formatx1%10.3e——将x1的列宽固定为10,采用科学计数法 

formatx1%10.3fc——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符 

formatx1%10.3gc——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符 

formatx1%-10.3gc——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐 

合并数据:

use"

C:

\DocumentsandSettings\xks\桌面\2006.dta"

clear 

mergeusing"

\DocumentsandSettings\xks\桌面\1999.dta"

——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来 

mergeidusing"

uniquesort 

——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对id进行排序(sort) 

建议采用第一种方法。

对样本进行随机筛选:

sample50 

在观测案例中随机选取50%的样本,其余删除 

sample50,count 

在观测案例中随机选取50个样本,其余删除 

查看与编辑数据:

browsex1x2ifx3>

3(按所列变量与条件打开数据查看器) 

editx1x2ifx3>

3(按所列变量与条件打开数据编辑器) 

数据合并(merge)与扩展(append) 

merge表示样本量不变,但增加了一些新变量;

append表示样本总量增加了,但变量数目不变。

one-to-onemerge:

数据源自statatutorial中的exampw1和exampw2 

第一步:

将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 

clear 

t:

\statatut\exampw1.dta"

su——summarize的简写 

sortv001v002v003 

savetempw1 

第二步:

对exampw2做同样的处理 

\statatut\exampw2.dta"

su 

savetempw2 

第三步:

使用tempw1数据库,将其与tempw2合并:

usetempw1 

mergev001v002v003usingtempw2 

第四步:

查看合并后的数据状况:

ta_merge——tabulate_merge的简写 

第五步:

清理临时数据库,并删除_merge,以免日后合并新变量时出错 

erasetempw1.dta 

erasetempw2.dta 

drop_merge 

数据扩展append:

数据源自statatutorial中的fac19和newfac 

\statatut\fac19.dta"

taregion 

appendusing"

\statatut\newfac"

合并后样本量增加,但变量数不变 

茎叶图:

stemx1,line

(2)(做x1的茎叶图,每一个十分位的树茎都被拆分成两段来显示,前半段为0~4,后半段为5~9) 

stemx1,width

(2)(做x1的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组距为2) 

stemx1,round(100)(将x1除以100后再做x1的茎叶图) 

直方图 

采用auto数据库 

histogrammpg,discretefrequencynormalxlabel(1

(1)5) 

(discrete表示变量不连续,frequency表示显示频数,normal加入正太分布曲线,xlabel设定x轴,1和5为极端值,

(1)为单位) 

histogramprice,fractionnorm 

(fraction表示y轴显示小数,除了frequency和fraction这两个选择之外,该命令可替换为“percent”百分比,和“density”密度;

未加上discrete就表示将price当作连续变量来绘图) 

histogramprice,percentby(foreign) 

(按照变量“foreign”的分类,将不同类样本的“price”绘制出来,两个图分左右排布) 

histogrammpg,discreteby(foreign,col

(1)) 

(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,两个图分上下排布) 

histogrammpg,discretepercentby(foreign,total)norm 

(按照变量“foreign”的分类,将不同类样本的“mpg”绘制出来,同时绘出样本整体的“总”直方图) 

二变量图:

graphtwowaylfitpriceweight||scatterpriceweight 

(作出price和weight的回归线图——“lfit”,然后与price和weight的散点图相叠加) 

twowayscatterpriceweight,mlabel(make) 

(做price和weight的散点图,并在每个点上标注“make”,即厂商的取值) 

twowayscatterpriceweight||lfitpriceweight,by(foreign) 

(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈左右分布) 

twowayscatterpriceweight||lfitpriceweight,by(foreign,col

(1)) 

(按照变量foreign的分类,分别对不同类样本的price和weight做散点图和回归线图的叠加,两图呈上下分布) 

twowayscatterpriceweight[fweight=displacement],msymbol(oh) 

(画出price和weight的散点图,“msybol(oh)”表示每个点均为中空的圆圈,[fweight=displacement]表示每个点的大小与displacement的取值大小成比例) 

twowayconnectedy1time,yaxis

(1)||y2time,yaxis

(2) 

(画出y1和y2这两个变量的时间点线图,并将它们叠加在一个图中,左边“yaxis

(1)”为y1的度量,右边“yaxis

(2)”为y2的) 

twowayliney1time,yaxis

(1)||y2time,yaxis

(2) 

(与上图基本相同,就是没有点,只显示曲线) 

graphtwowayscattervar1var4||scattervar2var4||scattervar3var4 

(做三个点图的叠加) 

graphtwowaylinevar1var4||linevar2var4||linevar3var4 

(做三个线图的叠加) 

graphtwowayconnectedvar1var4||connectedvar2var4||connectedvar3var4 

(叠加三个点线相连图) 

更多变量:

graphmatrixabcy 

(画出一个散点图矩阵,显示各变量之间所有可能的两两相互散点图) 

graphmatrixabcd,half 

(生成散点图矩阵,只显示下半部分的三角形区域) 

用auto数据集:

graphmatrixpricempgweightlength,halfby(foreign,totalcol

(1)) 

(根据foreign变量的不同类型绘制price等四个变量的散点图矩阵,要求绘出总图,并上下排列】=具) 

其他图形:

graphboxy,over(x)yline(.22) 

(对应x的每一个取值构建y的箱型图,并在y轴的0.22处划一条水平线) 

graphbar(mean)y,over(x) 

对应x的每一个取值,显示y的平均数的条形图。

括号中的“mean”也可换成median、sum、sd、p25、p75等 

graphbara1a2,over(b)stack 

(对应在b的每一个取值,显示a1和a2的条形图,a1和a2是叠放成一根条形柱。

若不写入“stack”,则a1和a2显示为两个并排的条形柱) 

graphdot(median)y,over(x) 

(画点图,沿着水平刻度,在x的每一个取值水平所对应的y的中位数上打点) 

qnormx 

(画出一幅分位-正态标绘图) 

rcharta1a2a2 

(画出质量控制R图,显示a1到a3的取值范围) 

简单统计量的计算:

ameansx 

(计算变量x的算术平均值、几何平均值和简单调和平均值,均显示样本量和置信区间) 

meanvar1[pweight=var2] 

(求取分组数据的平均值和标准误,var1为各组的赋值,var2为每组的频数) 

summarizeyx1x2,detail 

(可以获得各个变量的百分比数、最大最小值、样本量、平均数、标准差、方差、峰度、偏度) 

***注意*** 

stata中summarize所计算出来的峰度skewness和偏度kurtosis有问题,与ECELL和SPSS有较大差异,建议不采用stata的结果。

summarizevar1[aweight=var2],detail 

(求取分组数据的统计量,var1为各组的赋值,var2为每组的频数) 

tabstatX1,stats(meannqmaxminsdvarcv) 

(计算变量X1的算术平均值、样本量、四分位线、最大最小值、标准差、方差和变异系数) 

概率分布的计算:

(1)贝努利概率分布测试:

webusequick 

bitestquick==0.3,detail 

(假设每次得到成功案例‘1’的概率等于0.3,计算在变量quick所显示的二项分布情况下,各种累计概率和单个概率是多少) 

bitesti10,3,0.5,detail 

(计算当每次成功的概率为0.5时,十次抽样中抽到三次成功案例的概率:

低于或高于三次成功的累计概率和恰好三次成功概率) 

(2)泊松分布概率:

displaypoisson(7,6) 

.44971106 

(计算均值为7,成功案例小于等于6个的泊松概率) 

displaypoissonp(7,6) 

.14900278 

(计算均值为7,成功案例恰好等于6个的泊松概率) 

displaypoissontail(7,6) 

.69929172 

(计算均值为7,成功案例大于等于6个的泊松概率) 

(3)超几何分布概率:

displayhypergeometricp(10,3,4,2) 

.3 

(计算在样本总量为10,成功案例为3的样本总体中,不重置地抽取4个样本,其中恰好有2个为成功案例的概率) 

displayhypergeometric(10,3,4,2) 

.96666667 

(计算在样本总量为10,成功案例为3的样本总体中,不重置地抽取4个样本,其中有小于或等于2个为成功案例的概率) 

检验极端值的步骤:

常见命令:

tabulate、stem、codebook、summarize、list、histogram、graphbox、graghmatrix 

step1.用codebook、summarize、histogram、graphboxs、graphmatrix、stem看检验数据的总体情况:

codebookyx1x2 

histogramx1,norm(正态直方图) 

graphboxx1(箱图) 

graphmatrixyx1x2,half(画出各个变量的两两x-y图) 

stemx1(做x1的茎叶图) 

可以看出数据分布状况,尤其是最大、最小值 

step2.用tabulate、list细致寻找极端值 

tabulatecodeifx1==极端值(作出x1等于极端值时code的频数分布表,code表示地区、年份等序列变量,这样便可找出那些地区的数值出现了错误) 

listcodeifx1==极端值(直接列出x1等于极端值时code的值,当x1的错误过多时,不建议使用该命令) 

listin-20/l(l表示lastone,-20表示倒数第20个样本,该命令列出了从倒数第20个到倒数第一个样本的各变量值) 

step3.用replace命令替换极端值 

replacex1=?

ifx1==极端值 

去除极端值:

keepify<

1000 

dropify>

对数据排序:

sortx 

gsort+x 

(对数据按x进行升序排列) 

gsort-x 

(对数据按x进行降序排列) 

gsort-x,generate(id)mfirst 

(对数据按x进行降序排列,缺失值排最前,生成反映位次的变量id) 

对变量进行排序:

orderyx3x1x2 

(将变量按照y、x3、x1、x2的顺序排列) 

生成新变量:

genlogx1=log(x1)(得出x1的对数) 

genx1`=exp(logx1)(将logx1反对数化) 

genr61_100=1ifrank>

=61&

rank<

=100(若rank在61与100之间,则新变量r61_100的取值为1,其他为缺失值) 

replacer61_100ifr61_100!

=1(“!

=”表示不等于,若r61_100取值不为1,则将r61_100替换为0,就是将上式中的缺失值替换为0) 

genabs(x)(取x的绝对值) 

genceil(x)(取大于或等于x的最小整数) 

gentrunc(x)(取x的整数部分) 

genround(x)(对x进行四舍五入) 

genround(x,y)(以y为单位,对x进行四舍五入) 

gensqrt(x)(取x的平方根) 

genmod(x,y)(取x/y的余数) 

genreldif(x,y)(取x与y的相对差异,即|x-y|/(|y|+1)) 

genlogit(x)(取ln[x/(1-x)]) 

genx=autocode(x,n,xmin,xmax)(将x的值域,即xmax-xmin,分为等距的n份) 

genx=cond(x1>

x2,x1,x2)(若x1>

x2成立,则取x1,若x1>

x2不成立,则取x2) 

gengx=group(n)(将经过排序的变量x分为尽量等规模的n个组) 

egenzx1=std(x1)(得出x1的标准值,就是用(x1-avgx1)/sdx1) 

egenzx1=std(x1),m(0)s

(1)(得出x1的标准分,标准分的平均值为0,标准差为1) 

egensdx1=sd(x1)(得出x1的标准差) 

egenmeanx1=mean(x1)(得出x1的平均值) 

egenmaxx1=max(x1)(最大值) 

egenminx1=min(x1)(最小值) 

egenmedx1=med(x1)(中数) 

egenmodex1=mode(x1)(众数) 

egentotalx1=total(x1)(得出x1的总数) 

egenrowsd=sd(x1x2x3)(得出x1、x2和x3联合的标准差) 

egenrowmean=mean(x1x2x3)(得出x1、x2和x3联合的平均值) 

egenrowmax=max(x1x2x3)(联合最大值) 

egenrowmin=min(x1x2x3)(联合最小值) 

egenrowmed=med(x1x2x3)(联合中数) 

egenrowmode=mode(x1x2x3)(联合众数) 

egenrowtotal=total(x1x2x3)(联合总数) 

egenxrank=rank(x)(在不改变变量x各个值排序的情况下,获得反映x值大小排序的xrank) 

数据计算器display命令:

displayx[12](显示x的第十二个观察值) 

displaychi2(n,x)(自由度为n的累计卡方分布) 

displaychi2tail(n,x)(自由度为n的反向累计卡方分布,chi2tail(n,x)=1-chi2(n,x)) 

dis

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2