全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4952 0
2022-01-07
Stata 入门介绍


了解数据特征

“describe” 命令可以告诉我们每一个变量的含义。格式:describe

具体了解每一个变量的特征,我们可以用 tabstat 命令。例如我们可以计算 wage 的均值,方差, 中位数,范围,具体可以用help tabstata 查询。


格式:

tabstat wage,stats(mean)

tabstat wage,stats (sd median range) (注意不要逗号)



如果我们想要了解不同教育水平的工资的均值,可以用如下命令: 格式: tabstat wage, by (educ)stats(mean)

此外可以使用 “Sum”,它是命令 “summarize” 的简写。Summarize(Sum)将汇报数据的均值和方差等信息。



格 式 : summarize wage sum educ exper


需要了解如“中位数”(median),我们可以进一步使用后缀 detail。此时会详细报告百分比所对应的样本值。


格式:sum wageeduc, detail



此外Stata 还提供了别的命令帮助我们了解数据,如“codebook” 命令,它与带 detail 后缀的“sum”命令相似。 “table”,它将报告数据取值和相应的频率。 “tabulate” (或简写为 ta) 是一个很有用的命令。与 table 相比,ta 将进一步报告数据分布的百分比。


格式:

codebook wage educ table wage

ta educ



利用“by”命令,我们可以了解数据更细致的特征。例如我们想知道受不同教育的人群中工资的分布。


格式:

sort educ(这一步不可缺,一定需要先排序) by educ: table wage

by educ: tabulate wage 画图

很多时候,画图能够直观地看到数据分布和它们之间关系。比如我们可以 “histogram” 命令画出数据分布的柱状图(histogram)。


格 式 : histogram wage


“scatter”命令可以画出两个变量之间的分布关系。例如我们想直观的看到教育水平变化时工资的变化,可以用 “scatter” 命令或者 “graph twowayscatter” 命令。




格式:

scatter wageeduc

graph twowayscatter wage educ



“graph twoway”命令可以带别的后缀,例如 “graph twowayline” 则画的是线状图。




格式:

graph twowayline wage educ



“graph”命令还有很多别的功能。例如使用“graph matrix”可以了解更多的变量之间的关系。“graph bar(mean) y, over(x)”就可以了解 y 的平均值关于 x 分布的柱状图。


格式:

graph matrixwage educ

graph matrix wage educ exper graph bar (mean) wage, over (educ)


右键点击 graph 窗口可以将图片进行保存和复制。变量

在分析的过程中,有些变量并没有在数据中提供,需要我们用原始数据或者回归的结果构造。常用的命令是 “gen” 和 “egen” 。


格式

geneducsqr=educ^2



egen 命令相对复杂一些,它能生成一些“gen”命令无法生成的变量。例如可以生成 wagesum 为每个人的工资和,以及生成wagemedian 为工资的中位数(median),wagemax 为工资的最大值。




格式:

egenwagesum=sum(wage)

egenwagemedian=median(wage)



egenwagemax=max(wage)



更复杂的如想产生一个变量“wagemax”为相同教育水平里的最高工资。格式: egen wagemaxeduc=max (wage),by (educ)

如果我们需要替换某一变量,我们可以用的命令是“replace”。



格式:

replace wagemax=wage replace wagemax=1


有时候我们在生成变量时可以加上一定条件,例如如果一个样本工资超过 3,我们就定义它的变量wagehigh 的取值为 1,否则为 0。


格式:

gen wagehigh=1if wage>=10

replacewagehigh=0 if wagehigh ==.(注意是两个等号)



我们也需要去掉过程中的暂用的变量,以方便我们浏览数据和重新定义变量。我们可以用 drop 命令。


格式: drop educsqr wagesum wagemedianwagemax wagemaxeduc wagehigh



我们可以用“keep”或“drop”命令来删除一些样本,在删除之前,我们需要了解删除带来的影响, 则可以用“count”命令来了解样本取值的情况。


格式:

count if wage<100 count if wage<10


我们可以用“sort”和“list”命令来了解数据分布的细节。例如我们想知道工资值从小到大排列在第 50 到 70 的样本的工资值。


格 式 : sort wage



list wage in50/70

如果我们想保留工资小于 100 的样本,可以有两种命令。格式:

keep if wage<100 drop if wage>=100


有时我们关心变量之间的相关性,可以使用“correlate”命令,它将报告变量之间的相关系数。



格式:

correlate wage educ exper tenure 回归

现在我们以进入最重要的环节:回归分析。进行 OLS 回归的命令为“reg”。


格式: reg wage educ



Stata Results 窗口将报告这一回归的相关结果:



. reg wage educ




表格中最后两行报告回归的斜率和截距的系数,相应的标准差、t 值和P 值,同时给出 95%的置信区间。在表格左上方,报告了回归的总变异、解释变异和残差变异。表格右上方报告回归的R 方和调整后的 R 方。其中 F 是自变量所有的系数都为 0(即自变量完全没有解释力)这样一个零假设对应的 F 分布值。


回归会产生很多我们感兴趣的值,例如回归的拟合值以及回归的残差。Stata 提供了 predict 命令帮助我们存储这些变量。例如我们把拟合值定义为wagehat,残差定义为  wageresid。


格式:

predict wagehat predict wageresid, re


我们常常需要检验某一个零假设,例如在我们作了如下回归格式: reg wage educ exper tenure nonwhitefemale

之后,我们想要知道 nonwhite 的系数是否显著,我们可以直接看回归结果报告,也可以用 test 命令。


格式: test nonwhite

test 命令报告的结果为 F 值。而回归结果报告的为t 值。它们之间是平方关系,而 p 值是一样的。对于更复杂的零假设,比如 nonwhite 和 female 是否同时为 0。exper 的系数和tenure 的系数是否相等,则只能借助“test”命令。


格式:

test nonwhite female test exper=tenure


报告回归结果

一般需要报告回归系数和相应的残差,同时报告系数的显著性。此外根据需要往往还要报告回归的拟合优度和使用的样本个数。对于回归系数的符号和大小变化,要给出相应的分析和解释。许多时候还会把检验的结果附在表格中。


下面是一个报告回归结果的表格(摘自经济学论文)。其中括号里报告的是系数的方差, All Women



和 Married Women 表示两个总体,(1)(2)(3)对应不同的模型设定。计算器

Stata 可以充当计算器用,使用 “display” 命令: 格式: displaysqrt(5)*sin(0.5)

关于 Stata 的数学函数的命令格式,可以查询 help function。


免查表指令
右端概率 greater than: di 1-normal(数值)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群