stata入门中文讲义.docx

上传人:wj 文档编号:1927008 上传时间:2023-05-02 格式:DOCX 页数:55 大小:1.40MB
下载 相关 举报
stata入门中文讲义.docx_第1页
第1页 / 共55页
stata入门中文讲义.docx_第2页
第2页 / 共55页
stata入门中文讲义.docx_第3页
第3页 / 共55页
stata入门中文讲义.docx_第4页
第4页 / 共55页
stata入门中文讲义.docx_第5页
第5页 / 共55页
stata入门中文讲义.docx_第6页
第6页 / 共55页
stata入门中文讲义.docx_第7页
第7页 / 共55页
stata入门中文讲义.docx_第8页
第8页 / 共55页
stata入门中文讲义.docx_第9页
第9页 / 共55页
stata入门中文讲义.docx_第10页
第10页 / 共55页
stata入门中文讲义.docx_第11页
第11页 / 共55页
stata入门中文讲义.docx_第12页
第12页 / 共55页
stata入门中文讲义.docx_第13页
第13页 / 共55页
stata入门中文讲义.docx_第14页
第14页 / 共55页
stata入门中文讲义.docx_第15页
第15页 / 共55页
stata入门中文讲义.docx_第16页
第16页 / 共55页
stata入门中文讲义.docx_第17页
第17页 / 共55页
stata入门中文讲义.docx_第18页
第18页 / 共55页
stata入门中文讲义.docx_第19页
第19页 / 共55页
stata入门中文讲义.docx_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

stata入门中文讲义.docx

《stata入门中文讲义.docx》由会员分享,可在线阅读,更多相关《stata入门中文讲义.docx(55页珍藏版)》请在冰点文库上搜索。

stata入门中文讲义.docx

Stata及数据处理

目录

第一章 STATA 基础 1

1.1 命令格式 2

1.2 缩写、关系式和错误信息 4

1.3 do文件 4

1.4 标量和矩阵 5

1.5 使用Stata命令的结果 6

1.6 宏 7

1.7 循环语句 8

1.8 用户写的程序 12

1.9 参考文献 12

1.10 练习 12

第二章数据管理和画图 15

2.1数据类型和格式 15

2.2数据输入 16

2.3画图 17

第3章线性回归基础 18

3.1 数据和数据描述 18

3.1.1 变量描述 19

3.1.2 简单统计 19

3.1.3 二维表 19

3.1.4 加统计信息的一维表 22

3.1.5 统计检验 22

3.1.6 数据画图 23

3.2 回归分析 24

3.2.1 相关分析 24

3.2.2 线性回归 25

3.2.3 假设检验Waldtest 26

3.2.4 估计结果呈现 26

3.3 预测 29

3.4 Stata资源 31

第4章数据处理的组织方法 31

1、可执行程序的编写与执行 31

方法1:

do文件 31

方法2:

交互式-program-命令 32

方法3:

在do文件中使用program命令 33

方法4:

do文件合并 34

方法5:

ado文件 35

2、do文件的组织 36

3、数据导入 36

4、_n和_N的用法 40

55

第一章STATA 基础

STATA的使用有两种方式,即菜单驱动和命令驱动。

菜单驱动比较适合于初学者,容易入学,而命令驱动更有效率,适合于高级用户。

我们主要着眼于经验分析,因而重点介绍命令驱动模式。

图1.1 Stata12.1的基本界面

关于STATA的使用,可以参考Stata手册,特别是[GS]GettingStartedwithStata,尤其是第1章Asamplesession和第2章TheStataUserInterface。

有关Stata使用的资料非常多,其中Stata官方的有Stata手册,比如对于初学者,[GS]GettingStartedwithStata是有用的起点,最有用的手册可能是[U]User’sGuide。

除此之外,还有很多的其他相关手册,相关介绍参见用户手册[U]1Readthis—itwillhelp。

StataJournal(SJ)和StataTechnicalBulletin(STB)是Stata的官方期刊,里面介绍一些没有包括在当前Stata安装里的例子和程序。

其中,STB是SJ的前身,自2001年起,STB改为SJ。

另外,Stata的网站上有很多有用的信息Stata软件本身也提供很多有用的帮助命令,其中使用最多的可能是help命令,比如当你忘记Stata命令regress的使用方法时,可以在命令窗口输入helpregress,从而调出Stata的viewer窗口,提供regress命令的使用方法。

有时,你如果不知道具体的命令,也可以使用help命令获得帮助,比如想了解特征的函数命令,但有忘记了,可以使用helpfunction调出所有的函数。

另外,Stata还提供search、findit、hsearch等搜索命令。

search会在Stata官方帮助文件、FAQS、例子、SJ、STB等搜索关键词,但不会搜索网络。

netsearch会在网络(包括SJ/STB)上搜索可安装的程序。

findit会进行更广范围的搜索,包括本机和网络信息,并且关键词不必完整。

hsearch会在本机上搜索所有的帮助文件(扩展名为.sthlp或hlp的文件),包括官方命令和用户写的命令。

1.1命令格式

所有Stata命令基本具有下列模式

[prefix:

]command[varlist][=exp][if][in][weight][usingfilename][,options]

方括号表示可选项,打字机体是直接输入,斜体需要用户替代,其中

Prefix表示前缀,command是相应的Stata命令,varlist是变量列表,exp是表达式,filename是文件名,options表示适用于该命令的一个或多个可选项。

Supric

比如,简单统计命令summarize的命令格式为

summarize[varlist][if][in][weight][,options]

下划线表示该命令也可缩写为su。

以系统自带数据auto.dta为例,看一下summarize命令的使用。

可以利用helpsummarize查看它的可选项,比如用detail可选项,还可以把变量的偏度和峰度显示出来。

再比如回归命令regress的格式为

regressdepvar[indepvars][if][in][weight][,options]

假设我们用mpg(每加仑汽油可以跑多少英里,测度油耗)对价格price和车重weight回归,如下

Weight的系数是-0.0058175,表示如果车重增加1000磅,每加仑汽车将少跑5.8英里。

一个更复杂一些的使用如下:

有时,我们不想看到输出结果,可以使用前缀quietly,比如

1.2缩写、关系式和错误信息

Stata命令可以缩写,比如summarize可以缩写为su,regress可以缩写为reg,在help文件中,Stata命令下划线部分即该命令可以缩写的最短形式。

加外,任意符*可以表示任意字母,比如sumt*表示对所有首字母为t的变量进行简单统计。

数学运算符有加(+)、减(-)、乘(*)、除(/)、指数(^)、负(前缀-);关系运算符有大于(>)、小于(<)、等(==)、不等于(!

=或~=)。

逻辑运算符有与(&)、或(|)、非(!

或~)。

Stata运行出错时,会提供错误代码,比如r(111),用户可以交互式的通过searchrc111命令,获得错误代码的意思或直接在输出窗口中点击r(111)得到相应解释。

1.3do文件

do文件是将Stata命令列表形式生成的一个文本文件,运行该文件时,Stata即会按照文件命令的排列顺序逐条执行。

do文件是Stata软件的一个重要特色,在数据处理和实证分析中特别有用。

do的书写可以使用任何文本编辑器进行,也可以使用Stata自带的编辑器书写,可以用命令doedit直接调出Stata自带文本编辑器进行编辑。

比如我们写一个简单的do文件,将命令sysuseauto.dta,clear、summarizempg,detail放在同一个do文件中,起名为example.do。

则我可以使用命令doexample.do来执行该文件。

当do文件比较大,命令比较多时,加入解释和说明是必要的。

Stata允许在do文件中加入说明。

有三种方式,

第1种,直接以*开头进行的一行的说明。

第2种在命令后面直接加//

第3种用/**/或///加注

比如下面的example.do文件

*Thisisanexampleofdofileswithcomments

logusingauto,replace//generatealogfile

sysuseauto,/*

*/clear

/*Summarizevariablempg*/

summpg///

detail

logclose//closethelogfile

当然,也可以通过改变结尾分隔符的方式来做,比如

*changedelimiterfromcrtosemicolomnandbacktocr

#delimit;

*morethanonecommandperlineandcommandspansmorethanoneline;

logusingauto,replace;sysuseauto,clear;summarize

mpg;log

close;

#delimitcr

为了程序可读性,我们通常用///而不使用改变分隔符的形式。

do文件的运行非常简单,直接在命令窗口输入dofilename.do即可。

1.4标量和矩阵

一个标量可以用来储存数字或字符,比如

矩阵的使用有两种方式,一种是直接在命令窗口利用matrix前缀,另一种使用mata命令。

1.5使用Stata命令的结果

Stata命令的结果有两类,一类是r类、一类是e类,Stata中分析数据但不估计参数的命令称为r类命令,这类命令的结果会保存在r()中,通过returnlist命令可以列出该命令产生的所有结果,比如,

因而,可以利用这些信息计算一些有用的参数,比如我们计算mpg的极差,

那些估计参数的命令称为e类命令,其结果会保存在e()中,利用ereturnlist可以列出所有的结果。

比如回归命令,

1.6宏

宏(macro)是利用一个字符串代表另一个字符串。

比如,我们可以利用宏xlist来代替”priceweight”。

这种替代可以使程序更短,增加易读性,并且很容易修改。

宏分为全局宏和局部宏。

全局宏用global进行定义,并用$进行引用,比如,

全局宏可以适用于Stata软件的整个期间。

比如修改example.do,调整宏xlist,都会起作用的。

Example.do

sysuseauto,clear

sumpgpriceweight

regmpg$xlist

regmpg`xlist’

局部宏用local进行定义,用`’进行引用(其中左引号通常在~键上,与通常的单引号是不同的)。

另一个例子

1.7循环语句

Stata的循环语句有三种:

foreach、forvalues、while。

foreach是根据列表中的每一项进行循环,forvalues是根据连续整数进行循环,while是根据用户的条件是否满足进行循环。

先看两处数据产生命令generate和replace,和随机数产生器runiform()。

下面,我们分别用三种循环语句实现4个变量的求和。

首先用foreach

*foreachloopwithavariablelist

quietlyreplacesum=0

foreachvarofvarlistx1x2x3x4{

quietlyreplacesum=sum+`var'

}

summarizesum

下面用forvales

quietlyreplacesum=0

forvaluesi=1

(1)4{

quietlyreplacesum=sum+x`i'

}

summarizesum

利用while命令

quietlyreplacesum=0

locali=1

while`i'<=4{

quietlyreplacesum=sum+x`i'

locali=`i'+1

}

summarizesum

1.8有用的其他命令

用户手册中提出的每个人需要知道的最常用的42条命令

Gettingonlinehelp[U]4Stata’shelpandsearchfacilities

help,hsearch,

netsearch,search,

findit

KeepingStatauptodate

ado,net,update[U]28UsingtheInternettokeepuptodate

adoupdate[R]adoupdate

Operatingsysteminterface

pwd,cd[D]cd

Usingandsavingdatafromdisk

save,saveold[D]save

use[D]use

append,merge[U]22Combiningdatasets

compress[D]compress

InputtingdataintoStata[U]21Inputtingandimportingdata

import[D]import

edit[D]edit

Basicdatareporting

describe[D]describe

codebook[D]codebook

list[D]list

browse[D]edit

count[D]count

inspect[D]inspect

table[R]table

tabulate[R]tabulateonewayand[R]tabulatetwoway

Datamanipulation[U]13Functionsandexpressions

generate,replace[D]generate

egen[D]egen

rename[D]rename,[D]renamegroup

clear[D]clear

drop,keep[D]drop

sort[D]sort

encode,decode[D]encode,destring/tostring

recode

order[D]order

by[U]11.5byvarlist:

construct

reshape[D]reshape

Keepingtrackofyourwork

log[U]15Savingandprintingoutput—logfiles

notes[D]notes

Convenience

display[R]display

[R]BaseReferenceManual

[D]DataManagementReferenceManual

[G]GraphicsReferenceManual

[M]MataReferenceManual

[MV]MultivariateStatisticsReferenceManual

[P]ProgrammingReferenceManual

[ST]SurvivalAnalysisandEpidemiologicalTablesReferenceMaunal

[SVY]SurveyDataReferenceManual

[TS]Time-SeriesReferenceManual

[XT]Longitudinal/Panel-DataReferenceManual

1.8用户写的程序

比如ivreg2,psmatch2,可以运用finditivreg2并安装使用

1.9参考文献

Baum,ChristopherF.AnIntroductiontoModernEconometricsUsingStata

Cameron,A.C.andP.K.Trivedi,2009,MicroeconometricsUsingStata,StataPress,Texas.

1.10练习

1.运用数据auto.dta,获得价格price的简单统计信息,并利用r()的储存的信息计算价格的变异系数(即标准差除以平均值)。

2.利用数据auto.dta,做mpg对price,weight的回归,并利用e()中储存的信息计算R2。

3.利用数据auto.dta,定义一个全局宏变量varlist,代替变量mpg,price,weight,并获得varlist所代表变量的简单统计信息,利用局部宏重复上述过程。

4.利用数据auto.dta,利用循环语句foreach产生一个新的变量total,等于headroom和length的加和,并用summarize命令检验均值是否正确。

参考答案:

1.

sysuseauto,clear

sumprice

retulist

gcv=r(sd)/r(mean)

dicv

2.

sysuseauto,clear

regmpgpriceweight

gr2=e(mss)/(e(mss)+e(rss))

dir2

3.

sysuseauto,clear

globalvarlistmpgpriceweight

sum$varlist

localvarlistmpgpriceweight

sum`varlist’

4.

capdropsum

quigeneratesum=0

foreachvarofvarlistheadroomlength{

quireplacesum=sum+`var’

}

sumsum

第二章数据管理和画图

2.1数据类型和格式

内部数值型数据有五种模式

存在类型 字节数 最小 最大

byte 1 -127 100

int 2 -32,767 32,740

long 4 -2,147,483,647 2,147,483,620

float 4 -1.70141173319х1038 1.70141173319х1038

double 8 -8.9984656743х10307 8.9984656743х10307

另外,还有字符型数据,与其相关的两条命令是destring,将字符型变量转变为数值型,tostring则将数值型转化为字符型。

encode/decode

数据显示格式可以利用命令format来进行调整,具体参数有

f 固定形式 %12.2f3.55553.56

g 一般形式

e 指数形式

c 千分位加豆号

可以利用命令helpformat了解数据显示格式的更多内容。

2.2数据输入

use

importexcel

insheet

odbc

infile(freeformat)

infix(fixedformat)

importsasxport

haver

xmluse

Stata格式数据的输入

usefilename[,clearnolabel]

use[varlist][if][in]usingfilename[,clearnolabel]

例:

useauto,clear

useifforeign==1usingauto,clear

输入文本文件数据

insheet[varlist]usingfilename[,options]

[no]doubleoverridedefaultstoragetype

tabtab-delimiteddata

commacomma-delimiteddata

delimiter("char")usecharasdelimiter

clearreplacedatainmemory

casepreservevariablename'scase

[no]namesvariablenamesareincludedonthefirstlineofthefile

例:

insheetusing[path]gdp.txt,clear

….

ODBC调入ACCESS文件(工业企业数据)

c:

\Windows\SysWoW64\odbcad32

odbcload,table(“QY05”)

直接从键盘输入

两种方法:

edit和input

.inputyx

yx

1.3232343

2.4332445634

3.3242345343

4.end

其他输入方式,参考helpimport

*StatTransfer软件可以进行不同格式数据转换

2.3画图

1.散点图

[twoway]scattervarlist[if][in][weight][,options]

graphmatrixvarlist[if][in][weight][,options]

scmpgweight

scmpgweight||lfitmpgweight

twoway(lfitcimpgweight,lwidth(medthick))(scmpgweight)

scatterlwageeduc,msize(small)||lfitlwageeduc,lwidth(medthick)

graphtwoway(scatterlwageeduc,msize(small))(lfitlwageeduc,lwidth(medthick)),title("ScatterplotandOLSfittedline")

加置信区间:

lfitci,qfit,qfitci,fpfitci

graphsave[graphname]filename[,asisreplace]

或直接用选项

saving(filename[,asisreplace])

保存的图可以组合起来graphcombine,打开盘中的图用graphuse

graphsavesavegraphtodisk

graphuseredisplaygraphstoredondisk

graphdisplayredisplaygraphstoredinmemory

graphcombinecombinemultiplegraphs

2.直方图

histogramvarname[if][in][weight][,[continuous_opts|discrete_opts]options]

3.核密度图(Kerneldensityplot)

kdensityvarname[if][in][weight][,options]

twowaykdensityvarname[if][in][weigh

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

当前位置:首页 > 自然科学 > 物理

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

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