为便于实际操作,笔者将命令与显示结果存储成do文件(直接可以在Stata软件中查看,便于学习),移步资源窗口下载。
基本操作命令:
-
查看数据:
browse #看到全部数据 list q #只看到q的数据 list q area in 4/10 #显示指定变量从i=4到i=10的数据 describe #查看数据集中的变量名单、标签 summarize q #查看变量q的统计特征 summarize q,detail #查看变量q更多的统计指标 summarize #若未指明变量,则显示数据集中所有变量的统计指标 tabulate pl #显示变量pl的经验累积分布函数 pwcorr pl pf pk,sig star(.05) #显示变量pl、pf、pk之间的相关系数,.05表示显著性水平为5% I q farmm if q<=200 #显示满足条件的指定变量的数据 #还可以设置多个条件,中间要用&连接
-
输入数据:
cd G:\Stataex #指定默认路径 pwd #查看当前路径 import excel "G:\Stataex\expd.xls", sheet("sheet11") firstrow clear #输入数据 save "G:\Stataex\expanel.dta" #保存数据 # 在 Stata中“/* */”、“*”表示对命令进行注解,在Stata中不会被执行
-
调用数据:
use G:\Stataex\expanel.dta,clear #打开指定路径下的数据文件,这里的clear表示把之前的数据都清除掉。 shellout "auto.xls" #打开auto.xls, 注意要写全后缀 import excel "auto.xls",sheet(domestic) #导入Excel数据 label variable lnprice "ln(汽车价格-price)" #为变量lnprice添加标签 cls #清屏,stata16里的新功能
-
显示面板数据结构:
xtdescribe #显示面板数据结构
-
显示面板数据的统计特征:
xtsum q area provi year #可以查看多个变量(q,area,provi,year)的统计特征
-
查看数据的分布频率:
xttab q in 1/100 #查看前1到100个q的分布情况 多用于离散模型 #在此基础上变形 xttab q if q<=100 #查看 q小于等于100时的分布频率 ##在使用xttab命令时,需要设置最大值 set maxsize * #在Stata/MP和Stata/SE中,允许的范围:10< * < 11000 #Stata/IC中:10< * < 800 超过此范围会报错
-
画图:
xtline q, overlay #表示在同一图里,画变量q的时间序列图,否则,画n个(n个个体)时间序列图 histogram q,width(1000) frequency #变量q的直方图 kdensity q #变量q的连续经验分布图/核密度函数图 scatter tc q #tc与q之间的散点图 twoway (scatter tc q)(lfit tc q) #散点图上画出回归直线 twoway (scatter tc q)(qfit tc q) #散点图上画出二次回归曲线 graph combine scatter1.gph scatter2.gph #将两张图并列排放在一张图上 #scatter1,scatter2为事先生成图的文件名 help histogram #查看对于该命令的详细说明 #保存图 graph save panel2 replace #表示将图片保存至默认路径,将已存在的panel2替换掉
-
生成新变量 (generate/gen/g):
gen lnq = log(g+farmm) g lnq = log(g+farmm) #虚拟变量的生成 qy的取值为1,2,3 1代表东部,2代表中部,3代表西部 g d_qy2=(qy==2) #如果是中部省,生成虚拟变量d_qy2=1,否则为0
-
安装第三方包:
ssc install st0085_2 #安装第三方包 help esttab #找到esttab对应的软件包
-
数据分析:
reg lnq lnarea lnfarmm, r #pool回归 estimates store POOL11 #est sto POOL11 xtreg lnq lnarea lnfarmm lnagchf, fe vce(cluster provi) #个体固定效应变截距模型--组内估计 est sto FE1 esttab POOL11 FE1, ar2(%8.4f) se(%8.4f) star(*0.1 **0.05 ***0.01) # esttab using test.doc, ar2(%8.4f) se(%8.4f) brackets aic bic mtitles esttab using test1.xls, ar2(%8.4f) se(%8.4f) brackets aic bic mtitles replace #默认展示最近一次回归的结果 # (%8.4f)表示数据保留小数点后4位有效数字 # star(*0.1 ** 0.05 *** 0.01) 显著性水平--默认也显示 # barckets表示se放在中括号里--默认是小括号 # ar2表示修正的R2--r2表示R2 # se表示标准误 # aic、bic是信息准则 # mtitles表示把POOL11、FE1作为标题名,默认是被解释变量名 # using test1.doc表示将回归结果保存至Word文档
-
变量重命名:
rename larg large #将larg重命名为large
-
计算器功能:
display log(2) #计算log(2)的值
-
线性回归:
regress lntc lnq lnpl lnpk lnpf #对变量lntc lnq lnpl lnpk lnpf进行回归分析 vce #显示估计系数的协方差矩阵 predict lntchat #计算被解释变量的拟合值,并将其记为lntchat predict e1,residual #计算残差,并将其记为e1
-
自相关检验
#DW检验:可检验一阶自相关(高阶无效),在回归后输入 estat dwatson #LM检验: estat bgodfrey #1阶自相关检验 estate bgodfrey,lags(2) #检验几阶自相关就在括号内输入几阶
-
异方差检验(更新中)
在这里插入代码片
特殊情况的处理:
情况一:个体变量名非数值
例如,province 是个体变量名, year是时点变量名
(注:在运行面板数据的相关命令前,要运行下列命令)
第一步:
encode province, gen(id)
#生成新变量ID(取值为1,2,3...)来替代province
#若个体变量为1,2,3...整数,就无需使用encoder命令
第二步:
xtset id year
#本命令相当于告诉Stata, 该数据为面板数据
以下命令慎用
drop farmm #删除变量farmm
drop if q<=2000 #删除满足条件的数据
keep q area #仅保留q、area两个变量