当前位置:文档之家› STATA入门3 数据

STATA入门3 数据

STATA入门3 数据
STATA入门3 数据

3数据

数据文件是一个矩形的矩阵,这个矩阵的每一行都代表或对应着一个“观测单位”(比如是一个人,一个村或一个地区等等),矩阵的每一列都代表或对应着一个“变量”(比如年龄,身高、体重,月工资收入等等)。因此,数据文件矩阵中的每一个元素(case)都代表或对应着某一个“观测单位”(如张三、李四,A 厂、B厂)中的某一个“变量”(比如年龄、体重,月收入等等)的变量值或观察值。

3.1 打开示例数据和网络数据:use

3.1.1 示例数据

示例数据为STATA帮助文件中所用的数据,其后辍名为.dta,如果在STATA 软件当前路径下,直接用use命令即可打开,如果不在当前路径下,则可以使用sysuse命令打开。

. use auto,clear //打开汽车数据auto.dta

. cd d:/ //改变路径到d:/

. use auto, clear

file auto.dta not found //系统提示无法找到文件,因为auto.dta不在d:/ r(601);

3.1.2 从网络获取数据

上述示例数据可能没有全部下载安装于你的电脑中,因此简单地使用use和sysuse命令时,可能出现错误,如

. use nlswork, clear

file nlswork.dta not found

此时,如果确定该数据为示例数据,可以直接通过网络获取,其命令为:. use https://www.doczj.com/doc/7611704676.html,/data/r9/nlswork //从网站获取数据,或者. webuse nlswork, clear //与前一命令等价,从STATA官方数据库获取数据webuse只能从https://www.doczj.com/doc/7611704676.html,/data这一路径获取数据,如果不是该网站的数据,webuse失效,只能把网站地址完全写出来。使用该命令时必须确保网络连接正常.

另一个网络数据较多的地方是波士登大学的数据中心,我们所用的《计量经济学导论》一书中所使用的全部数据都可以通过该数据中心获得。比如. use https://www.doczj.com/doc/7611704676.html,/ec-p/data/wooldridge/CEOSAL1

即打开教材中例2.3中所使用的CEO数据。

use命令只能打开后辍名为“*.dta”格式的数据,.dta格式以外的数据,STATA 不能直接读取,需要从外部读入,最简单而直接的办法是复制和粘贴,但有时没有其他软件,比如有SAS格式或SPSS格式的数据,但没有SAS软件和SPSS 软件,此时需要用STATA提供的其他命令或者使用transfer数据格式转化软件。在讨论其他输入或导入数据的方法之前,我们先来学习一点数据类型的知识。

3.2数据类型

STATA通常把变量划分为三类:分别是数值型,字符型和日期型

3.2.1数值变量:

用0、1、2…9及+、–(正负号)与小数点“(.)”来表示。在输入数据时,逗号不能被识别,如1,024应该直接写成1024.其他示例

5

-5

5.2

5.2e+3

5.2e-2

后面两个数据为科学计数法的数据,分别表示5200和0.052.其中的e相当于10,因此5.2e+3的意思是:5.2*103=5200

数值型变量按其精度区分,又有五种类型,分别是:

存贮类型最小最大0-领域字节--------------------------------------------------------------------- byte -127 100 +/-1 1 int -32,767 32,740 +/-1 2 long -2,147,483,647 2,147,483,620 +/-1 4

float -1.70141173319*10^38 1.70141173319*10^36 +/-10^-36 4 double -8.9884656743*10^307 8.9884656743*10^307 +/-10^-323 8 当运算精度要求很高的时候,需要将变量设置成浮点型和双精度型。

注意1和 1.0000的精度是不同的,前者在(0.5,1.5)区间内近似,而后者在(0.99995,1.00005)区间内近似。若多次运算反复取四舍五入,精度较低时将使计算误差迅速变大,然而,精度高时占用的内存资源较多。下面的命令有助于理解变量存贮类型变换。

clear

set obs 1

obs was 0, now 1 //提示信息说,之前系统中没有观察单位,现在有了一个gen a=1 //生成一个新变量a,令a取值为1

d /*d为describ命令的略写,describ命令显示数据集的属

性信息,注意观察显示结果中,a的storage type为float型,

浮点型为默认类型*/

Contains data

obs: 1 (观察值个数)

vars: 1 (变量个数)

size: 8 (99.9% of memory free)(内存空间大小)

storage display value

variable name type format label variable label

a float %9.0g

Sorted by: (按什么分类)

Note: dataset has changed since last saved(注释)

compress //在不损害信息的基础上压缩,使数据占用空间尽可能小

a was float, now byte//a由浮点型变为了字节型

d // 注意a的storag

e type现在为byte型

replace a=101 /* 注意a的storage type现在自动升为int型,

因为byte最大只能为100*/

a was byte now int

(1 real change made)

replace a=100

compress

d//重新变回到byte型

replace a=32741//直接变到long型,因为int型最大只能到32740

gen double b=1 //直接生成双精度变量b

recast double a//将a变成双精度变量b

d//注意到a和b均为双精度型

3.2.2字符串变量:

字符变量通常是一些身份信息,如姓名,地名。另外,分类形迹也可以用字符变量来表示,如性别分为“男”和“女”。

字符串变量由字母或一些特殊的符号组成的(如地名〈籍贯〉变量,迁出地,住址,职业等等)。字符串变量也可以由数字来组成,但数字在这里仅代表一些符号而不再是数字。字符串变量通常以引号“”注标,而且引号一般不被试同为字符的一部分。注意这里的引号必须是英文输入状态下的引号。

字符串最多可以达244个字符。一般用str#来表示字符的多少,如str20表示将有20个字符。一般三个中文字的姓名需要6个字符。

字符型示例

“String”

“string”

” string”

”string ”

””//特殊字符串,表示空字符,缺失值。

””//注意与空字符串的区别,含有一个空格

”125.27”//”125.27”由于有双引号,将被视同为字符而非数值。

“$2,343.68”

“I love you”

“旺材是条狗”

注意前四个字符串均不相同,大小写是不一样的,有无空格及空格的位置不同,都表示不同的字符串。对于”125.27”这样的数值型的字符串,可以用real()函数或者destring命令转化成数值型变量。具体操作见3.3.1。

3.2.3日期型变量

在STATA中,1960年1月1日被认为是第0天,因此1959年12月31日为第-1天,2001年1月25日为15000天。对日期型变量的讨论将在后面的时间序列分析部分。

1999 12 10

jan/10/2001

10jan2001

...

-15,000 --- 01dec1918

-31 ---01dec1959

...

-1 --- 31dec1959

0 --- 01jan1960

1 ---- 02jan1960

...

31 ---- 01feb1960

...

15,000 ---- 25jan2001

3.2.4缺失值

没有意义的计算结果显示为”.”如将一个字符型数据和一个数据值型数据相加没有意义,结果输出为“.”

. display 2/0

另一种情况是,数据中含有缺失值,STATA默认的缺失值也用“.”来表示。在有些数据文件中,缺失值不是用“.”或者空来表示的,而是用-9996等来表示,如果要将其全部替换为“.”,或者反之,将“.”替换为-9996,命令为:. mvencode age,mv(-9996)

. mvdecode age,mv(-9996)

3.3数据类型转化

任务:将destring1, destring2和tostring中的数据类型进行相互转化

*3.3.1字符型转化成数值型:destring

*destring1数据中的数据全为字符型,转换为数值型

webuse destring1, clear

des /*注意到所有的变量存贮类型(storage type)均为字符型str#,

其中#号表示字符串长度*/

Contains data from https://www.doczj.com/doc/7611704676.html,/data/r9/destring1.dta obs: 10

vars: 5 3 Mar 2005 10:15

size: 240 (99.9% of memory free)

storage display value

variable name type format label variable label

id str3 %9s

num str3 %9s

code str4 %9s

total str5 %9s

income str5 %9s

sum //因为所有变量为字符型,所以不能进行数值计算

gen nincom=incom+10 //因字符不能进行四则运算,不能进行加法运算

*type mismatch //系统提示类型不匹配,因为income为字符型,10为数值型destring, replace //全部转换为数值型,replace表示将原来的变量(值)更新

sum //注意到转换为数值型后,可以求五数概略了

gen nincom=income*1.3 //转换后,可以运算,工资终于涨了30%!

list nincom income

*----------------将字符型数据转换为数值型数据:去掉字符间的空格------------*destring2数据集中的data变量为字符型,且年月日间有空格,转移为数据型webuse destring2, clear

des //注意到所有的变量均为字符型str

list date //注意到date年月日之间均有空格

date

------------

1. 1999 12 10

2. 2000 07 08

3. 1997 03 02

4. 1999 09 00

destring date, replace//想把date转换成数值型,但失败了,系统提示说*date contains non-numeric characters; no replace /*由于含有非数值型字符

(即空格),因此没有更新,也即转换命令没有执行。*/ destring date, replace ignore(“”)/*忽略空格,然后转换,注意这里的”“中

间有一个空格,不是””。*/ date: characters space removed; replaced as long //成功转换为long型des //注意到date的storage type已变为long

list date //注意到空格消失了

date

----------

1. 19991210

2. 20000708

3. 19970302

/*与date变量类似,变量price前面有美元符号,变量percent后有百分号,换为数值型时需要忽略这些非数值型字符。*/

destring price percent, gen(price2 percent2) ignore(“$ ,%”)

list //注意到price2前面的$号消失,percent2后面的%号消失

date price price2 percent percent2 ---------------------------------------------------------

1. 19991210 $2,343.68 2343.68 34% 34

2. 20000708 $7,23

3.44 7233.44 86% 86

d //注意到price2 和percent2均变为数据值型变量double和byte

*3.3.2数值型转化为字符型:tostring

webuse tostring, clear /*该数据中年月日的数据类型不一样,不能直接相加

生成一个反映日期的新变量*/

des //注意到month为字符型,而年和日为数值型

list

gen date1=month+”/”+day+”/”+year //将年月日构成一个新的日期变量

type mismatch //由于month为字符型,年和日为数值型,不同类型不能相加r(109);

tostring year day, replace //将年和日转化为字符型

des //注意到,现在全部变为字符型

gen date1=month+”/”+day+”/”+year //将年月日构成一个新的日期变量list //生成了一个新的变量date1,其为三个字符串和两个”/”符号连接而成gen date2=date(date1,”mdy”) /* date()为日期函数,它以1960年1月1

日为第0天,计算从那天起直到括号中指定的某天date1

一共过了多少天。”mdy”指定date1的排列顺序,这里是

按照月日年的顺序来表示日期。*/

list //新生成的date2表示总天数

*请算算你活了多少天?示例:一个生于1975年12月27日的家伙,他活了?

di date(“1975/12/27”,”ymd”)

3.4数据显示格式:format

/*format只控制数据的显示格式,并不改变内存中数据的大小。*/ webuse census10,clear //美国人口普查数据

des //第三列显示了数据的格式display format

storage display value

variable name type format label variable label

state str14 %14s State

region int %8.0g cenreg Census region

pop long %11.0g Population

medage float %9.0g Median age

*注意到, stata变量的格式为%14s,表示右对齐,共14个字符,%为固定用法 list in 1/4 //注意不同的显示格式:均为右对齐

state region pop medage

------------------------------------------

1. Alabama South 3893888 29.3

2. Alaska West 401851 26.1

3. Arizona West 2718215 29.2

4. Arkansas South 2286435 30.6

format state %-14s// 该命令使stata的显示格式左对齐,14前面多了个负号list in 1/4 //注意不同的显示格式,state现在左对齐了

+------------------------------------------+

state region pop medage

------------------------------------------

1. Alabama South 3893888 29.3

2. Alaska West 401851 26.1

3. Arizona West 2718215 29.2

4. Arkansas South 2286435 30.6

format region %-8.0g/*region变量看起来是字符型变量,但实际上为

数据型,它也可以左对齐,同样是加一个负号.

list in 1/4 //注意region现在左对齐了

format pop %11.0gc /*pop的显示格式为%11.0g,后面加上c,则每三位数间

用逗号分开,c为comma的意思.*/

list in 1/4 //结果加上了逗号,但是第五个观察值没有任何变化state region pop medage

-------------------------------------------

1. Alabama South 3,893,888 29.3

2. Alaska West 401,851 26.1

3. Arizona West 2,718,215 29.2

4. Arkansas South 2,286,435 30.6

5. California West 23667902 29.9

*因为这个数太大,加逗号将超过11位数,我们可以先把总的位数增加

format pop %12.0gc //把pop显示总长度数增加到12位

list in 5 //现在所有的pop都按逗号分开了

5. California West 23,667,902 29.9

format medage %8.1f //要求所有的medage都显示一位小数

list in 1/4

state region pop medage

--------------------------------------------

1. Alabama South 3,893,888 29.3

2. Alaska West 401,851 26.1

3. Arizona West 2,718,215 29.2

4. Arkansas South 2,286,435 30.6

gen id=_n

replace id=9842 in 3

list in 1/3

state region pop medage id

--------------------------------------------

1. Alabama South 3893888 29.3 1

2. Alaska West 401851 26.1 2

3. Arizona West 2718215 29.2 9842

format id %05.0f //对于编号,我们希望前面用零使得位数对齐

list in 1/3 //注意到通过在前面补零,所有的id都成了5位数。

state region pop medage id

--------------------------------------------------

1. Alabama South 3893888 29.3 00001

2. Alaska West 401851 26.1 00002

3. Arizona West 2718215 29.2 09842

3.5 在STATA中直接录入数据:input

3.5.1 菜单式操作

任务:按学号录入五个学生的经济学成绩

操作:(1)点击图标>>在打开的数据表格第一列中录入五个姓名>>在第二列中录入另五个成绩

>>双击var1弹出对话框>>将变量改名为id>>在label中写入学号>>双击var2弹出对话框>>将变量改名为name>>在label中写入姓名>>关闭数据编辑器

(2)点击图标保存数据>>给数据命令为student >>退出

在建立数据文件后,如果没有存盘,这个文件即是一个“临时的”数据文件,它将随着退出STATA系统时而消失。当数据文件被存储在后,它将成为一个“永久性”的数据文件,用户可以在以后经常使用它而不必重新建立之。

3.5.2 命令操作

操作:在command窗口中键入(注:前面的点号不必健入,每完成一行按回车键,黑体为命令,斜体为变量名或文件名):对于字符型变量,需要指明其为字符型并指明最大的字符长度。

?clear //清空内存

?input id str10 name economy//输入变量名,特别注意姓名前的str10.

? 1 John 40 //录入第一个学生的学号和成绩

? 2 Chris 80

? 3 Jack 90

? 4 Huang 70

? 5 Tom 53

?end //录入数据结束

?save economy//保存数据到当前路径,文件名为economy

3.5.3 程序操作

(1)打开do file editor,键入(注:前面的点号不心健入,每完成一行按回车键):clear //清空内存

input id str10 name economy//输入变量名,特别注意姓名前的str10.

1 John 40 //录入第一个学生的学号和成绩

2 Chris 80

3 Jack 90

4 Huang 70

5 Tom 53

end //录入数据结束

save economy,erplace //保存数据到当前路径,文件名为economy

(2)保存程序文件为mydo

(3)点击,执行后得到数学成绩

3.6导入其他格式数据:insheet

经常会遇到的情形是:我们有其他格式的数据,需要导入到STATA中进行分析,建议大家此时将其他格式数据复制到分析数据的文件目录下,然后直接用STATA的导入数据文件命令导入原始数据,用程序模式进行处理,然后导出处理结果。这样做的最大好处是:既不会破坏最原始的数据文件,又使我们的每一步数据处理和分析过程都有章可循。

3.6.1 insheet命令

找到“3origin.xls”数据,将其打开并另存为“3origin.csv”,然后在STATA 命令窗口中用下述命令导入

. insheet using 3origin.csv, clear

查看数据,发现变量名为v1-v6。可以用第二小节的办法将其整理成一个完整的数据文件。

也可以先将“3origin.xls”数据打开并另存为“3origin.txt”,然后用下面的命令导入

. insheet using 3origin.txt, clear

当数据中某个变量的位数特别长的时候,需要在该命令后面加double选项。

3.6.2 infile命令

对于“3origin.txt”a或“3origin.csv”,还可用infile命令导入STATA,此时需要先指出变量名。尤其要注意,当变量为字符型时,要先指明。

infile id str10 name gender minority economy math using origin.txt, clear

或者

infile id str10 name gender minority economy math using origin.csv, clear

3.6.3 infix命令

还有一种标准化的数据,每个变量的位数是确定的,不足时,前面用0补齐,以origin.数据的后面四个变量为例,其数据格式为

114068

128052

029076

024390

037096

115385

028536

129565

如果遇到这种数据格式,需要对照数据说明导入数据,相应的命令为:infix gender 1 minority 2 economy 3-4 math 5-6 using origin.csv, clear

其中的数字为对应的数字位数。

3.6.4 outsheet命令

与前述三个命令相反,有时我们需要将STATA数据导出为其他格式数据,

比如文本格式:此时需要使用outsheet命令实现,该命令的基本格式如下。

outsheet using myresult.txt

此时建立的文件myresult.txt第一行为变量名,第2~6行为变量值。变量列间用Tab键分隔。如果不希望在第一行存储变量名,则可以使用nonames选项。如果文件已经存在,则需要使用replace选项,相应的命令分别为。

outsheet using myresult.txt, nonames

outsheet using myresult.txt, nonames replace

3.6.4 使用transfer软件

Transfer软件专用于转换不同格式的数据文件,使用起来非常方便。只需要在input File Type栏中选择需要转化的原数据文件类型,然后定位打开需要转化的原数据文件。再选定输出文件类型,指定输出文件的存放位置和文件名。最后点击transfer按钮。数据便被转化。

3.7标签数据:label

要掌握的命令:为了创建一个完整的文件,要掌握下面的命令。

以上命令可以通过help command查看到具体的命令格式.

要完成的任务:创建一个文件(文件名为mydata.dta)并将其放在D:/mydata 文件夹下(如果没有该文件夹,请用mkdir命令创建)。标签该数据(用label 命令)使得任何一个使用该数据的人都能明白该数据(包括整个数据/其中的变量及变量值)的含义。

0表示女性),第四列为民族minority(1表示汉族,2表示少数民族,3表示不知道);第五列为经济学成绩economy,第六列为数学成绩math。

案例的参考操作

注:红色双线之间的内容可以复制到STATA的程序编辑器中直接执行,执行到红色错误信息处会停止,如要继续执行,可选定后面的内容接着执行。

另下面程序中的所有命令中加黑的为固定用法,不能灵活选择;而斜体表示文件名和变量名,可以自己根据自己的文件和变量情况灵活选择或改动。

*===================chapter2.do============================== *————————路径和环境设定————————

/*假设你想在D盘的根目录下创建一个新的文件夹mydata来存放数据文件,命令为mkdir。如果该文件夹已经存在,运行该命令时会出现错误信息,加上capture 后,STATA会自动判断,如果mydata文件夹存在,则跳过该命令,如果不存在,则创建。*/

clear

capture mkdir d:/mydata

*然后,进入该目录,命令为cd

cd d:/mydata

*3.7.1变量重命令:rename

/*采用直接复制粘贴法,将原始数据粘入stata。

然后退出数据编辑器,先将该数据保存起来,文件名为3origin.dta。*/

save 3origin, replace

/* 新粘入的变量自动命令为var1, var2,...var6,为使变量容易理解和记忆,要将变量重新命名,命令为name。在此之前,可以先用一个describ命令看看数据情况*/

use 3origin, clear

des //查看数据集的整体情况,注意变量名为var1-var6

rename var1 id //将第一个变量重新命令为id

. rename var2 name

. rename var3 gender

. rename var4 minority

. rename var5 economy

. rename var6 math

. des //再次查看数据集的整体情况,注意变量名变为id-math

*3.7.2标签文件:label data

/* 为免时间太长,忘记变量的含义,我们可以用label命令来标记。该命令可以用来标记数据文件,如我们将该文件取名为“2004年秋5632班学习成绩单”*/ label data “2004年秋5632班学习成绩单”

* 在文件处理过程中加注说明,命令为notes

note: 2006年9月6日由任我行创建该数据

* 下一次打开数据,要查看创建和数据处理的说明时,直接键入

note

*3.7.3标签变量:label var

*也可以用来标记变量,如将id标记为“学号”

label var id “学号”

label var name “姓名”

label var gender “性别1=男2=女”

label var minority “民族”

*3.7.4标签变量值:label define和label values

*还可以标记变量的取值。注意要按以下两步来操作:

label define genderlb 1 "男" 0 "女"

list //注意此时gender变量显示的值为0或1

label values gender genderlb //该命令仅仅是显示的变化,实质不变

list //注意此时gender变量显示的值男或女

label define minoritylb 1"汉族" 2 "少数民族"

label values minority minoritylb

*3.7.5标签增加与修改:add和modify

/* 定义完汉族和少数民族后发现还有些学生的民族是不知道的(原始值为3),则*/

label define minoritylb 3 ”不知道”

*注意,结果窗口中显示出如下错误信息,

label minoritylb already defined

* minoritylb因为已经存在并被定义,我们需要加上选项,add

label define minoritylb 3 “不知道”, add

label define minoritylb 3 “don’t know”, add

/*试图将“不知道”改为英文“don’t know”,再次显示错误

*invalid attempt to modify label

因为3已被定义,不是增加而是修改,所以选项为,modify*/

label define minoritylb 3 “don’t know”, modify

*3.7.6标签显示与删除:dir和drop

/* 显示或删除哪些变量被赋以相应含义*/

label dir

label list minoritylb

label drop minoritylb

list

label values minority minoritylb

label define minoritylb 1"汉族" 2 "少数民族" 3 “不知道”

list

*注意到前后两次使用list命令后的不同输出结果。

*3.7.7保存和删除数据文件:save和erase

compress //压缩数据,使之在损失任何信息的前提下占用空间最小save mydata//保存数据,数据文件名为mydata

*如果同一文件夹下已经存有mydata.dta,而你又要再次执行save mydata时,系统会出现提示

save mydata

file mydata.dta already exists

*该提示表示数据已经存在,此时我们可以换名保存

save mydata1

*或者将原文件覆盖,方法是加上replace选项

save mydata, replace

*删除文件,erase

erase mydata1.dta

*注意:删除文件时一定要带上后缀名。

*===================end==============================

3.8 复习与练习

STATA 十八讲:3数据

(2) 建立自己所在省数据库:从网上收集家乡所在省各年的GDP 数据和人口数(3) 复习:本节学习的主要命令input, end, save, exist, clear, list, help, use , search, use webuse sysuse insheet infile infix

STATA面板数据模型操作命令要点

STATA 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 μβit +=x y it it ε αμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量

gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS混合模型)●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F统计量便在于检验所有的个体效应整体上显著。在我们这个例子中发现F统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM统计量) (原假设:使用OLS混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui”之后第一幅图将不会呈现) xttest0

可以看出,LM检验得到的P值为0.0000,表明随机效应非常显著。可见,随机效应模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显著优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。

最新Stata软件基本操作和数据分析入门

Stata软件基本操作和数据分析入门 第一讲Stata操作入门 张文彤赵耐青 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。

除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。 2.命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

[推荐] stata基本操作汇总常用命令

[推荐] Stata基本操作汇总——常用命令 help和search都是查找帮助文件的命令,它们之间的 区别在于help用于查找精确的命令名,而search是模糊查找。 如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在stata的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部 内容。如果你想知道在stata下做某个估计或某种计算,而 不知道具体该如何实现,就需要用search命令了。使用的 方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名 和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容.下面该正式处理数据了。我的处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在stata 窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出

现“bring do-file editor to front”,点击它就会出现do文件编 辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。capture clear (清空内存中的数据)capture log close (关闭所有 打开的日志文件)set more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日志文件。)exit,clear (退出并清空内存中的数据。) 实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果 使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数

5分钟速学stata面板数据回归(初学者超实用!)

5分钟速学stata面板数据回归(超实用!) 第一步:编辑数据。 面板数据的回归,比如该回归模型为:Y it=β0+β1X1it+β2X2it+β3X3it+εt,在stata中进行回归,需要先将各个变量的数据逐个编辑好,该模型中共有Y X1 X2 X3三个变量,那么先从Y的数据开始编辑,将变量Y的面板数据编辑到stata软件中,较方便的做法是,将excel的数据直接复制到stata软件的数据编辑框中,而excel中的数据需要如下图编辑: 从数据的第二行开始选中20个样本数据,如图:

直接复制粘贴至stata中的data editor中,如图: 第二步:格式调整。 首先,请将代表样本的var1Y变量数据是选20个省份5年的数据为样本,那么口令为rename var1 province 。例如:本例中的Y变量数据编辑接下来需要输入口令为reshape long var,i(province) 其中,var代表的是所有的年份(var2,var3,var4,var5,var6),转化后格式如图: 转化成功后,继续重命名,其中_j这里代表原始表中的年份,var代表该变量的名称

例如,我们编辑的是Y变量的数据,所以口令3和口令4的输入如下: 口令3:rename _j year 口令4:rename var taxi (注:taxi就是Y变量,我们用taxi表示Y) 命名完,数据编辑框如下图所示。 第三步:排序。 例如,本例中的Y变量(taxi),是20个省份和5年的面板数据, 那么口令4为sort province year (虽意思是将province按升序排列,然后再根据排好的province数列排year这一列升序排列。然很多时候在执行sort之前,数据已经符合排序要求了,但为以防万一,请务必执行此操作) 第三步:保存。

Stata操作入门(中文)

第一讲Stata操作入门 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来 越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才 和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同 一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹 服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。 除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。 事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口 位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。

stata入门教程

Stata 快速入门 1、Stata的窗口 ?在最上方有一排菜单,即“File Edit Data Graphics Statistics User Window Help”。?左上“Review”(历史窗口):此窗口记录着自启动Stata以来执行过的命令。?右上“Variables”(变量窗口):此窗口记录着目前Stata内存中的所有变量。?正上方“Results”(结果窗口):此窗口显示执行Stata命令后的输出结果。 ?正下方“Command”(命令窗口):在此窗口输入想要执行的Stata命令。 2、将数据导入Stata ?打开Stata软件后,点击Data Editor(Edit)图标(也可以点击菜单“Window”→“Data Editor”),即可打开一个类似Excel的空白表格。 ?用Excel打开文件“nerlove.xls”,复制文件中的所有数据,并粘贴到Data Editor 中。 ?导入数据的另一方法是,点击菜单“File”→“Import”,然后导入各种格式的数据。但这种方法有时不如直接从Excel表中粘贴数据来得方便直观。 3、变量窗口 ?关闭Data Editor后,即会看到右上方的“Variables”窗口出现了5个变量:?分别为tc(total cost,总成本),q(total output, 总产量),pl(price of labor,小时工资率),pf(price of fuel,燃料价格),与pk(user cost of capital,资本的租赁价格。 4、存为dta数据文件 ?此时,可以点击Save图标(也可以点击菜单“File”→“Save”),将数据存为Stata格式的文件(扩展名为dta),比如nerlove.dta。 ?以后就可以用Stata直接打开这个数据集了(不需要再从Excel表中粘贴过来)。 5、打开dta数据文件 打开的方式有三种: 1.点击Open图标(也可以点击菜单“File”→“Open”),然后寻找要打开的dta 文件的位置。 2.直接双击想要打开的dta文件 3.在命令窗口输入以下命令(假设文件在E盘的根目录)并回车(按Enter键)

1 STATA入门

1 STATA入门 Stata统计软件包是目前世界上最著名的统计软件之一,与SAS、SPSS一起被并称为三大权威软件。它广泛的应用于经济、教育、人口、政治学、社会学、医学、药学、工矿、农林等学科领域,同时具有数据管理软件、统计分析软件、绘图软件、矩阵计算软件和程序语言的特点,几乎可以完成全部复杂的统计分析工作。其功能非常强大且操作简单、使用灵活、运行速度极快,在许多方面别具一格,而且操作灵活简单,易学易用。 Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。尽管它也提供了窗口菜单式的操作方式,但强烈建议大家坚持使用命令行/程序操作方式,很快你就会体会到使用程序和命令方式所带来的那种随心所欲自由地处理和分析数据的快感。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。这一特点使得STATA始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 STATA由美国计算机资源中心(Computer Resource Center)研制,现为STATA 公司的产品。从1985至2007的二十多年时间里,已连续推出1.1,1.2,…,7.0,8.0,9.0,10.0等多个版本。我们将要学习的是9.0版本。 1安装 (1) https://www.doczj.com/doc/7611704676.html,/bbs/dispbbs.asp?boardID=67&ID=97705&page=2 上有stata9.rar下载,但是做正式的论文或工作还是应该尽量用正版软件。 (2)将其解压到D:/stata9。 (3)点击setup安装>>改变安装路径到D:/stata8>>选择Stata/SE版本。 1.2启用和退出 (1) 程序→Stata,即可进入Stata,启动后出现文件对话框,要求输入注册单位和密码等。

Stata软件学习者应该收藏的学习资源

此软文主要面向讲师和做科研的人员,建议发布在此类人员关注的互动性强的网站 Stata软件学习者应该收藏的学习资源 ---- Stata牛人的学习笔记分享(转帖) 前言: 小弟小本,非统计专业科班出身,参加工作才知道原来学的统计知识不够用,在头儿的刺激下开始学习统计软件,计量知识薄弱,为了理清一堆模型,在各经济论坛潜水多时,水平没见涨,倒是收集了不少学习资料。这里转一篇Stata牛人前辈的笔记分享,供广大奋战在软件学习道路上的同学参考+瞻仰 正文如下: 我经常会被问到“Stata好学吗”、“我多长时间能学会Stata”,诸如此类的问题。诚然,相比于SPSS和Eviews等软件,Stata的门槛的确要高一些。然而,问题的关键并不在于Stata本身有多么难学,而在于你在统计和计量方面花费了多少时间,这与学习Stata所需的时间显著负相关。因此,我的回答往往会是:“哦,这个不好说,如果……,其实很简单……”。 相比于十年前,现在学习Stata的资料已经非常丰富了。虽说殊途同归,但不同的学习路径却存在着巨大的效率差异。对于初学者而言,我的建议是,首要的问题是知道“Stata能做什么”,继而才是“Stata如何做什么”。 第一个问题之所以重要,是因为从本质上讲,Stata只是我们完成统计分析的工具而已,因此,其基本平台是否宽广、是否有扩展潜力,以及它提供的分析工具是否能满足你的专业需求,都是你在选择Stata之前需要深入了解的。Stata User’s Guide(400页,中文)对这些问题做出了很好的解答,是一幅绝佳的导航图,能帮助你在短时间内了解Stata的基本架构、语法特征和核心功能。对于第二个问题,则有众多的资料可供参考: (1)网络资源 我精选了一些链接。值得一提的有如下几个: ●Stata官方网站。Stata公司提供的Web resources,涵盖了大量相关网络资源; 其FAQ则提供了各种常见问题的解答;Statalist则是一个类似于人大经济论坛 的免费的讨论区。加入Statalist的方法很简单,你只需要发送邮件至 majordomo@https://www.doczj.com/doc/7611704676.html,,邮件内容无需任何称谓,只需写上“subscribe Statalist”的字样即可。接到确认信息后,你便成为一名Statalist的成员了。当 然,即使不加入,你仍然可以浏览,但不能提问。 ●UCLA(加州大学洛杉矶分校)提供的网络教程。该网站提供的Data Management、

计量经济学stata操作指南

计量经济学stata操作(实验课) 第一章stata基本知识 1、stata窗口介绍 2、基本操作 (1)窗口锁定:Edit-preferences-general preferences-windowing-lock splitter (2)数据导入 (3)打开文件:use E:\example.dta,clear (4)日期数据导入: gen newvar=date(varname, “ymd”) format newvar %td 年度数据 gen newvar=monthly(varname, “ym”) format newvar %tm 月度数据 gen newvar=quarterly(varname, “yq”) format newvar %tq 季度数据 (5)变量标签 Label variable tc ` “total output” ’ (6)审视数据 describe list x1 x2 list x1 x2 in 1/5 list x1 x2 if q>=1000 drop if q>=1000 keep if q>=1000 (6)考察变量的统计特征 summarize x1 su x1 if q>=10000 su q,detail su tabulate x1 correlate x1 x2 x3 x4 x5 x6 (7)画图 histogram x1, width(1000) frequency kdensity x1 scatter x1 x2 twoway (scatter x1 x2) (lfit x1 x2) twoway (scatter x1 x2) (qfit x1 x2) (8)生成新变量 gen lnx1=log(x1) gen q2=q^2 gen lnx1lnx2=lnx1*lnx2 gen larg=(x1>=10000) rename larg large

STATA高级视频教程简介(连玉君)

STATA高级视频教程简介 培训目的: STATA高级视频教程的目的是使学员熟练使用STATA进行实证分析工作,主要包括: (1) 掌握多种常用的估计方法(如普通最小二乘法、广义最小二乘法、非线性最小二乘法、最大似然估计、IV估计和GMM); (2) 学会估计和分析时间序列和面板数据常用模型(如单位根检验、协整分析、VAR、固定效应模型、随机效应模型、动态面板模型、面板单位根检验和面板协整分析等等); (3) 学会编写一个完整的STATA程序; (4) 学会应用STATA进行抽样和模拟分析,包括Bootstrap和Monte Carlo 模拟分析。 课程简介:(详见课程目录) STATA高级视频教程共9讲,共48个视频文件,总计50余个学时。 第1-5讲介绍计量经济学中最为常用的五种估计方法,包括:普通最小二乘法(OLS)、广义最小二乘法(GLS)、非线性最小二乘法(NLS)、最大似然法(MLE)和广义矩估计法(GMM)。 第6讲介绍时间序列模型,包括:ARIMA模型、VAR模型、单位根检验、协整分析、误差修正模型、GARCH模型。这些模型基本上涵盖了宏观时间序列、金融时间序列分析中的常用工具。 第7讲介绍面板数据模型,包括:固定效应模型、随机效应模型、异方差和序列相关、动态面板模型、面板随机系数模型、面板随机前沿模型、面板单位根检验、面板协整分析等。这些模型由浅入深,基本上涵盖了目前文献中使用的多数面板分析方法。 第8讲介绍STATA编程技巧,包括:输入项、输出项的设定,子程序、可分组执行、可重复执行等程序高级功能,以及帮助文件的编写方法。通过本讲的学习,学员将能够独立编写复杂的STATA程序,这些程序和STATA官方提供的程序完全一致。 第9讲介绍自抽样和模拟分析,包括:Bootstrap(自抽样)、组合检验(Permutation tests)、刀切法(Jackknife)和蒙特卡洛模拟。不同于传统的假设检验和统计推断方法,这些方法都是以计算机模拟和抽样为基础的,在最近十年

STATA 学习入门必须知道的基础

STATA 学习入门必须知道的基础 作者:量化研究方法 关于Stata软件,我经常会被人问道:“你知道它到底能做什么吗?”那我们今天就带大家来了解一下这门当下热门的软件究竟的用处是什么? 1 关于Stata,这些基础的东西你必须要知道 很长一段时间里,我一直把“Stata”读为“Stay-ta”。有一次和一个从日本回来的朋友聊天,她把Stata读为“Star-ta”,让我甚感不适。经查阅,方才发现,原来“Stata”并非数个单词的缩写(因此其正确拼写为Stata 而非STATA),而是由“statistics”和“data”合成的一个新词。从这个小小的趣闻中,可以看出Stata 在问世之初(1985年)的主要功能在于统计分析和数据处理。经历了三十余年的发展,Stata 已经升级到第15版,在不断强化上述功能的同时,Stata在矩阵运算、绘图、编程等方面的功能也在不断加强。Stata 擅长数据处理、面板数据分析、时间序列分析、生存分析,以及调查数据分析,但其它方面的功能也并不逊色。(表1) 2为何选择Stata? 这是个不太容易回答的问题。Stata网站列举了数条可能的原因。Edwards(2005)曾经非常细致地对比了Stata,SPSS和SAS的优劣。Princeton大学的Torres-Reyna博士则将四种常用软件的特征总结为表2。整体而言,Stata具有较强的优势。 3 弱水三千,我为何钟情于Stata? 就我个人的经历而言,如下几个原因使我自2003年以来一直钟情于Stata。 Stata的数据处理功能很强大。由于将数据导入内存后进行运算,其速度非常快。在多个数据文件的合并和追加,以及文字资料、时序资料,以及调查资料的处理方面,Stata 总能以极为简洁的命令完成分析。

STATA初级视频教程说明书(连玉君)

STATA初级视频教程(2010版) 使用说明 连玉君 (中山大学 岭南学院 金融系) arlionn@https://www.doczj.com/doc/7611704676.html, 目 录 1 课程简介 (1) 2 课程特色 (2) 3 课程配套资料 (2) 4 配套资料的使用方法 (2) 5 讨论和建议 (4) 6 讲师介绍 (4) 7 报名咨询 (4) 8 培训优惠 (4) 附录A:STATA初级视频目录(时间节点) (5) 第一讲STATA简介 (5) 第二讲数据处理 (9) 第三讲Stata绘图 (13) 第四讲矩阵操作 (16) 第五讲STATA 编程初步 (18) 附录B:STATA高级视频教程简介 (20)

工欲善其事,必先利其器。无论是经济学、管理学还是社会科学的其他学科,定量分析都变得越来越重要了。作为一个较为年轻的计量软件,STATA自1985年问世以来,以其在数据处理、绘图、回归分析等方面的出色表现,赢得了越来越多的青睐。然而,相比于SPSS、Eviews等以菜单操作为主的软件,以命令操作见长的STATA软件门槛相对较高。由于进入国内的时间较短,相关的参考资料甚为有限,而STATA公司提供的近10000页的全英文使用手册更是令多数初学者望而生畏。这也成为阻碍多数国内同仁学习这款功能强大的计量软件的主要障碍。 鉴于上述情况,我们分别于2007年11月和2008年10月推出了“STATA初级视频教程”和“STATA高级视频教程”,内容涉及STATA的基本操作、数据处理、绘图、编程、常用计量模型的估计,以及Bootstrap和Monte Carlo模拟等内容。视频教学的直观性,加之课程的实用性导向,使这两套教程获得了广泛的好评。承蒙广大STATA视频教程学员的积极参与和反馈,我在过去两年多的时间里收集到了100余条修改建议,历经半年多的制作,最终得以为大家呈现这套新版STATA初级视频——“STATA初级视频教程(2010版)”。 STATA初级视频教程(2010版)共5讲,包含36个视频文件,总计40余个学时。内容涉及:STATA入门、数据处理、绘图、矩阵以及编程。内容简介如下(详细目录见附录A):第1讲从整体上介绍了STATA的基本架构,以便使学员在最短的时间内掌握STATA的精髓,包括:数据的导入导出、执行命令、修改和查验资料、log文件和do文件的使用、STATA与Word(Excel、LaTeX)等软件的完美结合,以及STATA常用设定等内容。 第2讲通过大量的实例,介绍了各种数据处理技巧,是本课程最为核心、最有特色的内容。主要包括:复杂变量的创建;分位数;重复样本值、缺漏值和离群值的处理;资料的合并、追加和重新组合;文字变量、类别变量的处理;时间序列和面板资料的处理;以及数据的查验和对比等内容。这些内容的学习将大幅提高学员的数据处理能力。 第3讲介绍STATA绘图。为了达到举一反三的效果,我先从整体上介绍STATA绘图的基本知识,进而将绘图命令拆解成8类选项和5类元素,并最终通过40余个实例全面介绍了15类常用图形的绘制方法。 第4讲介绍STATA矩阵操作,包括矩阵的定义和管理、矩阵运算、矩阵解析等四个主题,为后续学习STATA编程知识奠定了扎实的基础。 第5讲介绍STATA编程的基本知识,包括:程序的定义和调用、单值、暂时性物件(暂元、暂时性变量、暂时性文件、暂时性矩阵等)、循环语句、条件语句,以及STATA返回值的引用等内容。通过本讲的学习,学员将能够通过独立编写STATA程序来提高数据处理和模型估计的效率,为后续学习STATA高级程序奠定基础。 以上各讲都以专题的形式进行讲解,其中不但包含了STATA官方提供的常用命令,还包含了大量外部命令(520多个),为学员提供了强有力的实证分析工具。

5分钟搞定Stata面板数据分析

【原创】5分钟搞定Stata面板数据分析简易教程ver2.0作者:张达 5分钟搞定Stata面板数据分析 简易教程 步骤一:导入数据 原始表如下, 数据请以时间(1998,1999,2000,2001??)为横轴,样本名(北京,天津,河北??)为纵轴 将中文地名替换为数字。

注意:表中不能有中文字符,否则会出现错误。面板数据中不能有空值。 去除年份的一行,将其余部分复制到stata的data editor中,或保存为csv格式。

打开stata,调用数据。 方法一:直接复制到data editor中。 方法二:使用口令:insheet using 文件路径 调用例如:insheet using C:\STUDY\paper\taxi.csv 其中csv格式可用excel的“另存为”导出 如图:

步骤二:调整格式 首先请将代表样本的var1重命名 口令:rename var1 样本名 例如:rename var1 province 也可直接在var1处双击,在弹出的窗口中修改:

接下来将数据转化为面板数据的格式 口令:reshape long var, i(样本名) 例如:reshape long var, i(province) 其中var代表的是所有的年份(var2,var3,var4??) 转化后的格式如图: 转化成功后继续重命名,其中_j 这里代表原始表中的年份,var代表该变量的名称口令例如: rename _j year rename var taxi 也可直接在需要修改的名称处双击,在弹出的窗口中修改 如图:

stata 使用入门

Stata入门介绍 Stata入门介绍 转载,原作者不详。 (1) Stata要在使用中熟练的,大家应该多加练习。 (2) Stata的很多细节,这里不会涉及,只是选取相对重要的部分加以解释,大家在使用Stata 过程中留心积累。作为入门性质的介绍,本文只选取和中级计量经济学作业相关的内容和一些处理数据所使用的基本命令。对于更高深的内容,请大家参看STATA manual.” 界面 当我们把stata装好以后,首先需要了解的是它的界面。打开Stata后我们便可以看到它常用的四个窗口:Stata Results; Review; Variables; Stata Command。我们所有的运行结果都会在Stata Results界面中显示;而命令的输入则在Stata Command窗口;Review窗口记录我们使用过的命令;最后Variables窗口显示存在于当前数据库中的所有变量的名称。可以直接点击 Review窗口来重新输入已使用过的命令,我们所需变量可以通过点击Varaibles窗口来得到,这些都可以简便我们的操作。 Stata 命令 Stata软件功能强大,体现在它提供了丰富的命令,可以实现许多功能。每一个stata命令都相应的命令格式。我们在这里介绍常用的一些命令的功能和相应的格式,大家在使用stata的过程中会不断积累命令的相关知识。 需要对命令的帮助时可以用help命令查询。例如了解命令:“reg” ,就可以在Stata Command 窗口输入“help reg” ,也可以在Help选项下content中查找我们需要的相关命令。用help 查询,则窗口会显示关于该命令的详尽说明。更直接的办法是看Examples中的范例是如何使用该命令,阅读一些相关的说明并加以模仿。 重要习惯 我们使用stata进行回归分析时,需要养成一些好的习惯。在进行一些数据量很大,过程复杂的分析时尤其重要。 (1)使用日志(log)。它可以帮助我们记录stata的运行结果。 格式:log using c:\stata8\logfiles\10.21.5_30.log (注意:我们需要先建好文件夹c:\stata8\logfiles) 关闭log的命令为“log close”。 格式: log close 那么“10.21.5_30.log”文件就记录了从“log using”命令到“log close”命令之间stata

STATA面板数据模型操作命令

S T A T A 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 εαμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量 gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS 混合模型) ●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F 统计量便在于检验所有的个体效应整体上显着。在我们这个例子中发现F 统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS 模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM 统计量) (原假设:使用OLS 混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui ”之后第一幅图将不会呈现) xttest0 可以看出,LM 检验得到的P 值为0.0000,表明随机效应非常显着。可见,随机效应

模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显着优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。 (三)静态面板数据模型估计 ●1、固定效应模型估计 ●xtreg sq cpi unem g se5 ln,fe (如下图所示) 其中选项fe表明我们采用的是固定效应模型,表头部分的前两行呈现了模型的估计方法、界面变量的名称(id)、以及估计中使用的样本数目和个体的数目。第3行到第5行列示了模型的拟合优度、分为组内、组间和样本总体三个层面,通常情况下,关注的是组内(within),第6行和第7行分别列示了针对模型中所有非常数变量执行联合检验得到的F统计量和相应的P值,可以看出,参数整体上相当显着。 需要注意的是,表中最后一行列示了检验固定效应是否显着的F统计量和相应的P值。显然,本例中固定效应非常显着。 ●2、随机效应模型估计

stata命令大全(全)

*********面板数据计量分析与软件实现********* 说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。本人做了一定的修改与筛选。 *----------面板数据模型 * 1.静态面板模型:FE 和RE * 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验 * 4.动态面板模型(DID-GMM,SYS-GMM) * 5.面板随机前沿模型 * 6.面板协整分析(FMOLS,DOLS) *** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。 * 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA) *** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog 生产函数,一步法与两步法的区别。常应用于地区经济差异、FDI溢出效应(Spillovers Effect)、工业行业效率状况等。 * 空间计量分析:SLM模型与SEM模型 *说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。 * --------------------------------- * --------一、常用的数据处理与作图----------- * --------------------------------- * 指定面板格式 xtset id year (id为截面名称,year为时间名称) xtdes /*数据特征*/ xtsum logy h /*数据统计特征*/ sum logy h /*数据统计特征*/ *添加标签或更改变量名 label var h "人力资本" rename h hum *排序 sort id year /*是以STATA面板数据格式出现*/ sort year id /*是以DEA格式出现*/ *删除个别年份或省份 drop if year<1992 drop if id==2 /*注意用==*/

相关主题
文本预览
相关文档 最新文档