STATA简单命令.docx
《STATA简单命令.docx》由会员分享,可在线阅读,更多相关《STATA简单命令.docx(10页珍藏版)》请在冰豆网上搜索。
STATA简单命令
STATA的简单命令
Stata中最重要的命令莫过于help和search了。
help用于查找精确的命令,而search是模糊查找。
例如:
helpregress
又如:
我们记不清regress命令的全名,只记得regress的前半部分reg,
那么可以输入searchreg
用户获得信息最有效的另一个途径是使用Statalist在线论坛,该论坛提供Stata用户交流的一个良好的平台。
要加入Statalist,我们可以给以下地址发个邮件:
majordomo@hsphsun2.harvard.edu
邮件的内容为:
subscribeStatalist
变量的命名:
1.变量名可达32个字符。
2.字符组成部分为A~Z、a~z、0~9与下划线“_”,这些字符以外的其他符号不可以出现在变量名中。
3.变量名不能以数字开头。
4.变量名区分大小写。
5.倘若遵循以上原则依然无法正常命名变量,那么这个变量可能与Stata自身保留的供系统使用的变量重复了。
创建数据文件的方法:
1.手动输入。
2.从excel等文件中复制粘贴到stata数据表中。
3.运用stata软件导入。
查看数据的概貌:
summarizex
codebookx
如果上面两个命令后面不加内容,那么显示的结果是所有变量的概貌。
对数据进行排序的命令:
sort标准1标准2标准3
生成数据的命令:
gen
1.如果要得到一阶差分,可以用以下命令:
genDifference_invest(新变量的名称是任意的)=d.invest(d.是运算符号,不得改变;invest是变量名称)
2.要想产生一个新的变量Lag_invest,也就是invest的一阶滞后,那么我们可以采用如下命令:
genLag_invest=l.invest
3.生成对数的命令:
genLn_invest=ln(invest)
作散点图的命令:
scatter
1.scatterx1x2:
scatter后的第一个变量是纵轴的变量,第二个变量是横轴的变量。
2.scatterx1x2,connect
(1):
以直线的方式连接相邻的两个点。
3.scatterx1x2,connect
(1)msymbol(i):
散点的显示方式为“看不见”。
相关性检验:
回归方程的斜率系数在一定程度上也是反映两个变量之间关系的密切程度,斜率系数的平方根就是相关系数。
1.pwcorr命令(用于计算Pearson相关系数),它的好处是尽可能使用两两变量中所有没有缺失的数据,而不像correlate只采用没有任何缺失数据的完整的观测值。
pwcorr[varlist],sigstar(.1):
star(.1)是为了对显著性超过0.1的相关系数打上星号
pwcorr[varlist],sigprint(.1):
print(.1)则是仅仅显示这些显著的相关系数
2.spearman命令(用于计算Spearman相关系数)。
截面数据的估计命令
如何创建一个截面数据文件?
只需要从excle中拷贝相应的数据到stata中即可,不需要特别的命令说明它是截面数据。
截面数据的回归主要需要注意以下几点:
多重共线性(当样本量较小时,例如小于100)和异方差。
而且需要考察t统计值、R2(adj-R2)、F统计量。
1.检验自变量的相关性。
(第1步也可以暂时不做,等到回归结束以后再做)
pwcorr[varlist],sigprint(.05)
2.对模型进行回归。
一个普通的回归命令:
regyx1x2x3x4x5,robust(截面数据一律加上robust)
倘若回归结果的经济学含义不合理(包括系数的正负号和显著性水平),而且前面的相关性检验中自变量的相关性十分高,那么有可能存在严重的多重共线性,为了精确起见,可以用vif来判断多重共线性是否严重(当vif的最大值大于10,同时各vif的平均值大于1时,表明多重共线性比较严重。
使用vif命令时一定要在回归命令执行以后再用)。
如何处理多重共线性?
剔除变量法、逐步回归法以及增加样本容量。
3.运用剔除变量法进行回归。
4.运用逐步回归法进行回归。
逐步回归命令:
swregyx1x2x3x4x5,pr(.1):
逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著。
swregyx1x2x3x4x5,pr(.1)lockterm1:
逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著;而且加入lockterm项,为了保证第一项自变量不被删除。
swregyx1x2x3(x4x5),pr(.1):
逐步回归,从最不显著的变量开始删除,直到所有变量在设定水平下(0.1)显著;而且加入()项,为了保证x4和x5要么同时出现,要么同时不出现。
时间序列数据的估计命令
如何创建一个截面数据文件?
先把数据转移到stata中,然后用tsset命令。
tssettime,yearly(或者weekly、monthly、quarterly)
此时,一定要保证表示时间的那一列数据(即年份)的名称为time。
时间序列数据的回归主要需要注意以下几点:
多重共线性(当样本量较小时,例如小于100)和序列相关性。
而且需要考察t统计值、R2(adj-R2)、F统计量、D.W.值。
首先用reg命令进行回归,例如:
regyx1x2x3x4x5,并考察D.W.值(使用estatdwatson这一命令),如果D.W.值严重远离2,那么要进行调整(调整方法如黄色底纹),直到调整到2附近,然后考察回归结果是否符合经济学含义,倘若不符合,那么要注意是否受到多重共线性的影响(通过相关系数和vif值来判断)。
在处理多重共线性时,可以用类似于处理截面数据的方法(剔除变量法),同时还要看D.W.值。
此外,还可以用差分法来处理多重共线性(此方法用得不多)。
检验DW值的命令:
estatdwatson
用广义差分法考虑序列相关性的命令(即调整DW值的命令):
regyx1x2x3x4x5L.y(后面还可以运用L.yL2.y)
用序列相关稳健标准误法考虑序列相关性的命令(即调整DW值的命令):
regyx1x2x3x4x5,robust
考虑多重共线性的方法除了以上截面数据中用到的方法以外,还可以用差分法,然后再看vif值。
regD.yD.x1D.x2D.x3D.x4D.x5
面板数据的估计命令
如何创建一个面板数据文件?
录入数据
xtsetidyear
面板数据的回归主要需要注意:
多重共线性(当样本量较小时),异方差和序列相关性在很多研究中可以不必深究。
而且需要考察t统计值、R2(adj-R2)、F统计量,选择固定效应(fixedeffect)或随机效应(randomeffect)。
多重共线性的处理方法可以参照截面数据和时间序列数据的处理方法。
固定效应和随机效应的选择:
(xtreg后面紧挨着的变量是被解释变量,然后接下来才是解释变量)
xtreg被解释变量解释变量,fe
eststorefe
xtreg被解释变量解释变量,re
eststorere
hausmanfe
原假设是随机效应,p值太小可以拒绝原假设,如果hausman检验的结果(Prob>chi2)小于0.1,那么选择固定效应;如果(Prob>chi2)大于0.1,或者chi2的值小于0,那么选择随机效应。
其它命令
GMM方法:
xtabonddepvarindepvars
sargan检验:
estatsargan
自相关检验:
estatabond
同时控制时间因素(year)和行业因素(industrycode),即自动加入虚拟变量的命令xi的用法:
xii.yeari.industrycode
加入自动生成的虚拟变量,并且运用稳健标准误进行固定效应回归的命令:
xtreglnexlngdpcnlngdppartnereducationjobiprrdlawhii.yeari.industrycode,ferobust
面板数据中2sls的命令(这可能是默认的命令,还可以根据具体情况更改):
(1)xtivreglnexlktfprdsizefdii.yeari.id(finance=l.finance),此时怀疑解释变量finance是内生的,而且以finance的一阶滞后作为IV。
注意:
括号前面必须有空格!
(2)xtivreglnexlktfprdsizefdii.yeari.id(finance=l.financel2.finance),此时怀疑解释变量finance是内生的,而且以finance的一阶滞后和二阶滞后作为IV。
注意:
括号前面必须有空格!
如果用overid,需要安装overid:
sscinstalloverid,replace
如果用xtoverid,需要安装xtoverid:
sscinstallxtoverid,replace
如果用ranktest,需要安装ranktest:
sscinstallranktest,replace
有时即使安装以后依然无法运用,可能是由于自变量太多导致的,例如控制行业固定效应、时间固定效应等固定效应时会增加几十个虚拟变量,这时可能由于模型无法运算而无法运用这些命令,GMM方法似乎也有类似情况。
例如:
xtivreglnexlngdpcnlngdppartnerdistancelanguageborder(fincountry=l.fincountryl2.fincountry)findepfinancefin,re
检验工具变量识别不足时用命令ranktest,以上例子应该是ranktest(fincountry)(l.fincountryl2.fincountry)【理想的结果是Kleibergen-PaaprkLM的p值小于0.1】
检验弱工具变量时也用命令ranktest,但要在后面加上wald,以上例子应该是ranktest(fincountry)(l.fincountryl2.fincountry),wald【理想的结果是Kleibergen-PaapWaldrkF的p值小于0.1】
检验过度识别时用命令xtoverid【理想的结果Sargan-Hansen检验的p值大于0.1】
博客的命令整理,供参考
,未经博主允许不得转载。
1、input:
输入数据
例:
inpurtxy
14
23.5
37
end
2、by:
按照某一变量的取值来进行分析
例:
一般要先sort(排序),然后bygroup:
regressYx1x2//按照不同的组,对Y分别作四个回归分析
3、weight:
加权或者頻数
例:
fw=頻数变量//多用在四格表资料中或者未原资料未给出所有值,只给出了值和对应的頻数
4、if:
用条件语句指定条件
例:
dropifgroup==1|group==2//把group变量值为1或者2的记录删除掉
5、in:
指定观察值的范围,对在范围内的观察值做分析处理
例:
replacex1="123"in100/200//把第100-200条记录中的X1变量值改为123
6、for:
用来指定变量
例:
fory1-y10z1-z5:
regress@x1-x22//把y1-y10,z1-z5分别于x1-x22做回归,一次性代表15次回归,其中@是替换符,代表y1-y10,z1-z5
7、函数:
abs(x)绝对值
exp(x)指数函数
log(x)自然对数
log10(x)常用对数
sqrt(x)平方根
uniform(x)生成(0,1)内均匀分布的伪随机数
length(x)计算长度
substr(s,n1,n2)获得从S的n1个字符开始的n2个字符组成的字符串
real(x)将字符串s转换为数值函数
trim(x)去除字符串前面和后面的空格
int(x)去掉x的小数部分,得到整数
sum(X)求和
max(x)min(x)最大值最小值
_n当前观察值的位置
_N观察值的总个数
8、ren:
重命名
例:
renvar1var123//把var1重新命名为var123
9、des:
描述数据库的基本情况
10、label:
为变量添加一些说明,以示说明
11、sort:
按照某一变量从小到大排序
gsort+/-:
按照某一变量从大到小或者从小到大排序
sortvar1var2:
按照var1大小排序,相同的var1按照var2大小排序
12、drop:
删除变量或者记录
dropx1x2
dropx1-x5
dropifx<0\
dropin1/100
dropifx==.|y==.
drop_all//清空数据库
13、keep:
与drop对应,保存变量
14、append:
纵向连接数据库
15、merge:
横向连接数据库
16、gen:
生成新变量
genbh=_n//将数据库的内部编号赋给变量bh
17、replace:
更改变量值
replacez=.ifz=9//将所有z=9的值用缺失值代替
18、setobs:
增加空白记录
setobs20//增加20条空白记录
19、format:
改变数据格式
formattjrq%td//将tjrq改成日期形式
20、l:
list将结果列出
21、su:
对分析数据进行描述,均值标准差等,与des不同,des是描述数据库变量个数,格式等
sux,d//对x进行统计描述,如果加了d,那么就会更加detail
22、centile:
百分位数计算
centilex,centile(2.5,50,97.5)//计算变量x的2.5,50.97.5百分位数
23、tab:
頻数表达
tabsex//计算两个性别各自的頻数
tabsexgroup//看看各组性别分布的情况
tabgroup,sum(x1)//在各组内对x1统计分析
24、ci:
计算可信区间
25、直方图:
grax,bin(9)xlab(10,20,30,40)ylab(0,1,2,3)normgap(4)b2("height(cm)")
//对x画直方图,分为9组,X轴为10,20,30,40,y轴为0,1,2,3,加上正态分布曲线,标题与坐标轴的距离(1-8),下坐标轴加标题为height(cm)
b1/t1/l1/r1("")给各个坐标轴加标题
b2/t2/l2/r2("")给各个坐标轴加副标题
title给图加总标题
条图:
grax1x2,barby(group)sh(31)l1("rateofdie")b1("comparisonofrateofdie")
//对x1,x2画条图,分组变量为group,两组的明暗对比度为3:
1,左标题rateofdie,下标题comparisonofrateofdie
饼图:
grax1x2x3x4x5,pieby(group)sh(31)total
散点图与线图:
connect(简写c)——连接散点的方式:
.不连接
l直线连接
s平滑曲线连接
||直线连接在同一纵向上的两点
J阶梯式线条连接
symbol(简写s)——各个散点的图形:
O大圆圈
S大方块
T大三角型
o小圆圈
d小菱形
p小加号
.小点
grayx,xlabylabc(l)s(d)
箱式图:
grayx,oneway/twowaybox
26、单样本均数t检验:
ttestx=14.02(总体均数μ)
ttestinmeansdμ
配对t检验:
ttestx1==x2
两样本均数t检验:
ttestx1==x2,unpaired
ttestx,by(group)
27、方差分析:
方差齐性检验:
sdtestx1=x2
sdtestx,by(group)
正态性检验:
sktestx
单因素方差分析:
oneway相应变量分组变量
两因素方差分析:
anova相应变量分组变量1分组变量2
多因素方差分析:
anovaxabc...a*bb*ca*b*c...//乘积项代表交互作用
28、率、构成比的比较:
tabvar1var2[fw=頻数变量]
chi2pearson卡方检验
exactfisher确切概率法
如果是原始资料RXC列联表:
tabi第一行数字从左到右\第二行从左到右...\最后一行从左到右,rowchi2exact
29、队列研究(暴露,不暴露):
ir病例变量暴露变量时间变量./irsabn1n2
cs病例变量暴露变量/csiabcd
病例对照研究(发病,不发病):
cciabcd
30、等级资料:
genrank编秩genrankrankx=x
signtest符号检验类似t检验,signtestx=常数,signtestx1=x2,signrankx1=x2
signrank符号秩和检验
ranksum/Wilcoxon两样本秩和检验wilcoxonvar,by(group_var)
kwallis多样本秩和检验(Kruskal-Wallis)kwallisvar,by(group_var)
spearman等级相关spearmanxy
ktau等级相关(kendall)ktauxy
31、直线相关与回归:
相关corryx
回归regyx
估计与预测preyhat
画图grayyhatl1l2l3l4x,c(.lssss)s(oiiii)xlab()ylab()
32、多元线性回归及逐步回归:
散点图矩阵:
grayx1x2,matrix
相关系数矩阵:
corr
多元回归方程:
regyx1x2//标准化偏回归系数,regyx1x2,beta
逐步回归:
stepwiseyx1-x4,forwardfe(2.73)//α等于0.05时F界值为2.73,fe代表fenter选入标准,fs代表fstay剔除标准
逐步回归法:
forward,backward,stepwise,stepwiseforward例如:
stepyx1-x4,stepfe(2.5)fs(2.6)back
33、logistic回归:
logityx[fw=f]
blogityx1x2x3/glogityx1x2x3
也可以同上做逐步Logistic回归
34、生存曲线:
中位生存时间:
survsum时间变量截尾变量,by(分组变量)
生存曲线:
kapmeier时间变量截尾变量,by(分组变量)//kaplan-meier生存曲线
生存率比较:
两组:
wilcoxon时间变量截尾变量,by(分组变量)
多组:
logrank时间变量截尾变量,by(分组变量)
COX分析:
cox时间变量自变量,dead(截尾变量)