ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:29.44KB ,
资源ID:22695533      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22695533.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(stata常用命令Word下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

stata常用命令Word下载.docx

1、xtivreg :Instrumental variables and two-stage least squares for panel-data models xtabond:Arellano-Bond linear, dynamic panel data estimator xttobit :Random-effects tobit models xtlogit : Fixed-effects, random-effects, population-averaged logit models xtprobit :Random-effects and population-averaged

2、 probit models xtfrontier :Stochastic frontier models for panel-data xtrc gdp invest culture edu sci health social admin,beta xtreg命令的应用:声明面板数据类型:tsset sheng t xtsum gdp invest sci admin 1.固定效应模型估计:xtreg gdp invest culture sci health admin techno,fe 固定效应模型中个体效应和随机干扰项的方差估计值(分别为sigma u 和sigma e),二者之间的

3、相关关系(rho)最后一行给出了检验固定效应是否显著的F 统计量和相应的P 值2.随机效应模型估计:xtreg gdp invest culture sci health admin techno,re 检验随机效应模型是否优于混合OLS 模型:在进行随机效应回归之后,使用xttest0检验得到的P 值为0.00,表明随机效应模型优于混合OLS 模型3.最大似然估计Ml:xtreg gdp invest culture sci health admin techno,mle Hausman检验Hausman检验究竟选择固定效应模型还是随机效应模型:第一步:估计固定效应模型,存储结果est st

4、ore fe 第二步:估计随机效应模型,存储结果est store re 第三步:进行hausman检验hausman fe Hausman检验量为:H=(b-B)Var(b)-Var(B)-1(b-B)x2(k)Hausman统计量服从自由度为k的2分布。当H大于一定显著水平的临界值时,我们就认为模型中存在固定效应,从而选用固定效应模型,否则选用随机效应模型如果hausman检验值为负,说明的模型设定有问题,导致Hausman 检验的基本假设得不到满足,遗漏变量的问题,或者某些变量是非平稳等等可以改用hausman检验的其他形式:hausman fe, sigmaless 对于固定效应模型的

5、异方差检验和序列相关检验:Xtserial gdp invest culture sci health admin techno 异方差检验: xtreg gdp invest culture sci health admin techno,fe xttest3 (Modified Wald statistic for groupwise heteroskedasticity in fixed effect model)随机效应模型的序列相关检验:Xttest1Xttest1用于检验随机效应(单尾和双尾)、一阶序列相关以及两者的联合显著检验结果表明存在随机效应和序列相关,而且对随机效应和序列相

6、关的联合检验也非常显著可以使用广义线性模型xtgls对异方差和序列相关进行修正:xtgls gdp invest culture sci health admin techno, panels(hetero),修正异方差xtgls gdp invest culture sci health admin techno, panels(correlated),修正依横截面而变化的异方差xtgls gdp invest culture sci health admin techno, panels(hetero)corr(ar1),修正异方差和一阶序列相关ar(1)我常用到的sta命令 sta的帮助

7、文件十分详尽,面面俱到,这既是好处也是麻烦。当你看到长长的帮助文件时,是不是对迅速找到相关信息感到没有信心?闲话不说了。help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在sta的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。如果你想知道在sta下做某个估计或某种计算,而不知道具体该如何实现,就需要用 search命令了。使用的方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词

8、相关的帮助文件名和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容。下面该正式处理数据了。我的处理数据经验是最好能用sta的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在sta窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-fileeditor to fr

9、ont”,点击它就会出现do文件编辑器。为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。/*(标签。简单记下文件的使命。)*/capture clear (清空内存中的数据)capture log close (关闭所有打开的日志文件)set mem 128m (设置用于sta使用的内存容量)set more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000(设置矩阵的最大阶数。我用的是不是太大了?)c

10、d D:(进入数据所在的盘符和文件夹。和dos的命令行很相似。log using (文件名).log,replace(打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。use (文件名),clear(打开数据文件。(文件内容)log close (关闭xx文件。exit,clear (退出并清空内存中的数据。这个do文件的“头尾”并非我的发明,而是从沈明高老师那里学到的。版权归沈明高老师。(待续)我常用到的sta命令:(续)实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对

11、某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数据造成麻烦。因此,拿到原始数据后,往往需要根据需要重新生成新的数据库,并且只使用这个新库处理数据。这部分工作不难,但是非常基础。因为如果在这里你不够小心,后面的事情往往会白做。假设你清楚地知道所需的变量,现在要做的是检查数据、生成必要的数据并形成数据库供将来使用。检查数据的重要命令包括codebook,su,ta,des 和list。其中,codebook提供的信息最全面,缺点是不能使用if条件限制范围,所以,有时还要

12、用别的帮帮忙。su空格加变量名报告相应变量的非缺失的观察个数,均值,标准差,最小值和最大值。ta空格后面加一个(或两个)变量名是报告某个变量(或两个变量二维)的取值(不含缺失值)的频数,比率和按大小排列的累积比率。des后面可以加任意个变量名,只要数据中有。它报告变量的存储的类型,显示的格式和标签。标签中一般记录这个变量的定义和单位。list报告变量的观察值,可以用if或in来限制范围。所有这些命令都可以后面不加任何变量名,报告的结果是正在使用的数据库中的所有变量的相应信息。说起来苍白无力,打开sta亲自实验一下吧。顺带说点儿题外话。除了codebook之外,上述统计类的命令都属于r族命令(又

13、称一般命令)。执行后都可以使用return list报告储存在r()中的统计结果。最典型的r族命令当属summarize。它会把样本量、均值、标准差、方差、最小值、最大值、总和等统计信息储存起来。你在执行su之后,只需敲入return list就可以得到所有这些信息。其实,和一般命令的return命令类似,估计命令(又称e族命令)也有ereturn命令,具有报告,储存信息的功能。在更复杂的编程中,比如对回归分解,计算一些程序中无法直接计算的统计量,这些功能更是必不可少。检查数据时,先用codebook 看一下它的值域和单位。如果有-9,-99这样的取值,查一下问卷中对缺失值的记录方法。确定它们

14、是缺失值后,改为用点记录。命令是replace (变量名)=. if (变量名)=-9。再看一下用点记录的缺失值有多少,作为选用变量的一个依据。得到可用的数据后,我会给没有标签的变量加上注解。或者统一标签;或者统一变量的命名规则。更改变量名的命令是ren (原变量名)空格(新变量名)。定义标签的命令是label var (变量名)空格”(标签内容)”。整齐划一的变量名有助于记忆,简明的标签有助于明确变量的单位等信息。如果你需要使用通过原始变量派生出的新变量,那么就需要了解gen,egen和replace这三个命令。gen和replace常常在一起使用。它们的基本语法是gen (或replace

15、)空格(变量名)(表达式)。二者的不同之处在于gen是生成新变量,replace是重新定义旧变量。虚拟变量是我们常常需要用到的一类派生变量。如果你需要生成的虚拟变量个数不多,可以有两种方法生成。一种是简明方法:gen空格(变量名)(限制条件)这外面的小括弧是命令需要的,里面的小括弧不是命令需要的,只是说明“限制条件”并非命令。如果某个观察满足限制条件,那么它的这个虚拟变量取值为1,否则为0。另一种要麻烦一点。就是gen (变量名)1 if(取值为一限制条件)replace(相同的变量名)0 if(取值为零的限制条件)两个方法貌似一样,但有一个小小的区别。如果限制条件中使用的变量都没有任何缺失值

16、,那么两种方法的结果一样。如果有缺失值,第一种方法会把是缺失值的观察的虚拟变量都定义为0。而第二种方法可以将虚拟变量的取值分为三种,一是等于1,二是等于0,三是等于缺失值。这样就避免了把本来信息不明的观察错误地纳入到回归中去。下次再讲如何方便地生成成百上千个虚拟变量。大量的虚拟变量往往是根据某个已知变量的取值生成的。比如,在某个回归中希望控制每个观察所在的社区,即希望控制标记社区的虚拟变量。社区数目可能有成百上千个,如果用上次的所说的方法生成就需要重复成百上千次,这也太笨了。大量生成虚拟变量的命令如下;ta (变量名), gen(变量名)第一个括号里的变量名是已知的变量,在上面的例子中是社区编

17、码。后一个括号里的变量名是新生成的虚拟变量的共同前缀,后面跟数字表示不同的虚拟变量。如果我在这里填入d,那么,上述命令就会新生成d1,d2,等等,直到所有社区都有一个虚拟变量。在回归中控制社区变量,只需简单地放入这些变量即可。一个麻烦是虚拟变量太多,怎么简单地加入呢?一个办法是用省略符号,d*表示所有d字母开头的变量,另一法是用破折号,d1-d150表示第一个到第150个社区虚拟变量(假设共有150个社区)。还有一种方法可以在回归中直接控制虚拟变量,而无需真的去生成这些虚拟变量。使用命令areg可以做到,它的语法是areg (被解释变量)(解释变量), absorb(变量名)absorb选项后

18、面的变量名和前面讲的命令中第一个变量名相同。在上面的例子中即为社区编码。回归的结果和在reg中直接加入相应的虚拟变量相同。生成变量的最后一招是egen。egen和gen都用于生成新变量,但egen的特点是它更强大的函数功能。gen可以支持一些函数,egen支持额外的函数。如果用gen搞不定,就得用egen想办法了。不过我比较懒,到现在为止只用用取平均、加和这些简单的函数。有的时候数据情况复杂一些,往往生成所需变量不是非常直接,就需要多几个过程。曾经碰到原始数据中记录日期有些怪异的格式。比如,1991年10月23日被记录为。我想使用它年份和月份,并生成虚拟变量。下面是我的做法:gen yr=in

19、t(date)gen mo=int(data-yr*100)/100)ta yr, gen( yd)ta mo, gen( md)假设你已经生成了所有需要的变量,现在最重要的就是保存好你的工作。使用的命令是save空格(文件名),replace。和前面介绍的一样, replace选项将更新你对数据库的修改,所以一定要小心使用。最好另存一个新的数据库,如果把原始库改了又变不回去,就叫天不应叫地不灵了。前面说的都是对单个数据库的简单操作,但有时我们需要改变数据的结构,或者抽取来自不同数据库的信息,因此需要更方便的命令。这一类命令中我用过的有:改变数据的纵横结构的命令 reshape,生成退化的数据

20、库collapse,合并数据库的命令append和merge。纵列(longitudinal)数据通常包括同一个行为者(agent)在不同时期的观察,所以处理这类数据常常需要把数据库从宽表变成长表,或者相反。所谓宽表是以每个行为者为一个观察,不同时期的变量都记录在这个观察下,例如,行为者是厂商,时期有2000、2001年,变量是雇佣人数和所在城市,假设雇佣人数在不同时期不同,所在城市则不变。宽表记录的格式是每个厂商是一个观察,没有时期变量,雇佣人数有两个变量,分别记录2000年和2001年的人数,所在城市只有一个变量。所谓长表是行为者和时期共同定义观察,在上面的例子中,每个厂商有两个观察,有时

21、期变量,雇佣人数和所在城市都只有一个,它们和时期变量共同定义相应时期的变量取值。在上面的例子下,把宽表变成长表的命令格式如下:reshape long (雇佣人数的变量名), i(标记厂商的变量名) j(标记时期的变量名)因为所在城市不随时期变化,所以在转换格式时不用放在reshape long后面,转换前后也不改变什么。相反地,如果把长表变成宽表则使用如下命令reshape wide (雇佣人数的变量名), i(标记厂商的变量名) j(标记时期的变量名)唯一的区别是long换成了wide。collapse的用处是计算某个数据库的一些统计量,再把它存为只含有这些统计量的数据库。用到这个命令的机

22、会不多,我使用它是因为它可以计算中位数和从1到99的百分位数,这些统计量在常规的数据描述命令中没有。如果要计算中位数,其命令的语法如下collapse (median) (变量名), by(变量名)生成的新数据库中记录了第一个括号中的变量(可以是多个变量)的中位数。右面的by选项是根据某个变量分组计算中位数,没有这个选项则计算全部样本的中位数。合并数据库有两种方式,一种是增加观察,另一种是增加变量。第一种用append,用在两个数据库的格式一样,但观察不一样,只需用append空格 using空格(文件名)就可以狗尾续貂了。简单明了,不会有什么错。另一种就不同了,需要格外小心。如果两个数据库中

23、包含共同的观察,但是变量不同,希望从一个数据库中提取一些变量到另一个数据库中用merge。完整的命令如下:use (文件名)打开辅助数据库sort (变量名)根据变量排序,这个变量是两个数据库共有的识别信息save (文件名), replace 保存辅助数据库use (文件名)打开主数据库sort (变量名)对相同的变量排序merge (变量名) using (文件名), keep(变量名)第一个变量名即为前面sort后面的变量名,文件名是辅助数据库的名字,后面的变量名是希望提取的变量名ta _merge显示_merge的取值情况。_merge等于1的观察是仅主库有的,等于2的是仅辅助库有的,

24、等于3是两个库都有的。drop if _merge=2 删除仅仅来自辅助库的观察drop merge 删除_mergesave (文件名), replace 将合并后的文件保存,通常另存讲到这里似乎对于数据的生成和处理应该闭嘴了。大家可能更想听听估计、检验这些事情。但我并不想就此止住,因为实际中总是有一些简单套用命令无法轻易办到的特殊要求。此时至少有两条路可以通向罗马:一是找到更高级的命令一步到位;二是利用已知简单命令多绕几个圈子达到目的。下面讲一个令我刻骨铭心的经历,这也是迄今我所碰到的生成新数据中最繁复的了。原始数据中包含了可以识别属于同一个家庭中所有个人的信息和家庭成员与户主关系的信息。

25、目的是利用这些信息建立亲子关系。初步的构想是新数据库以子辈为观察,找到他们的父母,把父母的变量添加到每个观察上。我的做法如下:use a1,clear 打开全部样本数据库keep if gender=2&agemos=96&a8=1&line10保留已婚的一定年龄的女性replace a5=1 if a5=0变量a5标记和户主的关系。等于0是户主,等于1是户主的配偶。这里不加区分地将户主及其配偶放在一起。keep if a5=1|a5=3|a5=7保留是户主(1),是户主的子女(3),或是户主的儿媳(7)的那些人。ren h hf 将所需变量加上后缀f,表示女性ren line lf 将所需变

26、量加上后缀f,表示女性sort wave hhid save b1,replace 排序并保存keep if a5f=1 留下其中是户主或户主配偶的save b2,replace 保存use b1,clear keep if a5f=3|a5f=7save b3,replace 留下其中是户主女儿或儿媳的并保存use a3,clear 打开与户主关系是户主子女的儿童数据库merge wave hhid using CHNS01b2, keep(hf lf)ta _merge drop if _merge=2sort hhid line wave 处理两代户,将户主配偶女性库与儿童库合并by h

27、hid line wave: egen x=count(id)drop x _merge计算每个年份家庭匹配的情况,x只取值1,表明两代户匹配成功save b4,replace 保存use a4,clear 打开与户主关系是户主孙子女的儿童数据库merge wave hhid using CHNS01b3,keep(a5f a8f schf a12f hf agemosf c8f lf)ta _merge drop if _merge=2 处理三代户,将户主女儿或儿媳女性库与孙子女儿童库合并sort hhid line wave by hhid line wave:gen a=agemosf-agemos drop if a216&x=3 计算每个年份家庭匹配的情况,x不只取1,三代户匹配不完全成功。删除不合理的样本,标准是年龄差距和有三个可能母亲的那些家庭。gen xx=x_n+1gen xxx=x_n-1gen y=lf if x=1replace y=lf_n+1 if x=2&xx=1replace y=lf_n-1 if x=2&xxx=1keep if x=1|(lf=y&x=2)对于有两个可能母亲的儿童,有相同编码的女性出现两次的情况。上面的做法是为了保证不删除这部分样本。drop a x xx xxx y _merge save b5,repla

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1