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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

经常使用stata命令好用.docx

1、经常使用stata命令好用我经常使用到的stata命令最重要的两个命令莫过于help和 search了。即便是常常利用stata的人也很难,也没必要记住经常使用命令的每一个细节,更不用说那些不经常使用到的了。因此,在碰到困难又没有免费专家咨 询时,利用stata自带的帮忙文件确实是最正确选择。stata的帮忙文件十分详尽,面面俱到,这既是益处也是麻烦。当你看到长长的帮忙文件时,是不是对迅 速找到相关信息感到没有信心?闲话不说了。help和search都是查找帮忙文件的命令,它们之间的区别在于help用于查找精准的命 令名,而search是模糊查找。若是你明白某个命令的名字,而且想明白它的具体利

2、用方式,只须在stata的命令行窗口中输入help空格加上那个名 字。回车后结果屏幕上就会显示出那个命令的帮忙文件的全数内容。若是你想明白在stata下做某个估量或某种计算,而不明白具体该如何实现,就需要用 search命令了。利用的方式和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和那个关键词相关的帮忙文件名和链接列表。 在列表中寻觅最相关的内容,点击后在弹出的查看窗口中会给出相关的帮忙文件。耐心寻觅,反复实验,通常能够较快地找到你需要的内容。下面 该正式处置数据了。我的处置数据体会是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一

3、次完成,因此,当你下次继续工 作时。能够重复前面的工作是超级重要的。有时因为一些细小的不同,你会发觉无法复制原先的结果了。这时若是有记录下以往工作的do文件将把你从地狱带到天 堂。因为你没必要一遍又一遍地试图重现做过的工作。在stata窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会显现“bring do-file editor to front”,点击它就会显现do文件编辑器。为了使do文件能够顺利工作,一样需要编辑do文件的“头”和“尾”。那个地址给出我利用的“头”和“尾”。/*(标签。简单记下文件的使命。) */capture clear (清空内存中的数据)capture log c

4、lose (关闭所有打开的日记文件)set mem 128m (设置用于stata利用的内存容量)set more off (关闭more选项。若是打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全数输完。若是关闭那么中间不断,一次全数输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日记文件,并更新。日记文件将记录下所有文件运行后给出的结果,若是你修改了文件内容,replace选项能够将其更新为

5、最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日记文件。)exit,clear (退出并清空内存中的数据。)那个do文件的“头尾”并非我的发明,而是从沈明高教师那里学到的。版权归沈明高教师。(待续)我经常使用到的stata命令:(续)实证工作中往往接触的是原始数 据。这些数据没有通过整理,有一些遗漏和不统一的地址。比如,对某个变量的缺失观看值,有时会用点,有时会用-9,-99等来表示。回归时若是利用这些观 察,往往得出超级错误的结果。还有,在不同的数据文件中,相同变量有时利用的变量名不同,会给归并数据造成麻烦。因此,拿到原始数据后,往

6、往需要依照需要 从头生成新的数据库,而且只利用那个新库处置数据。这部份工作不难,可是超级基础。因为若是在那个地址你不够警惕,后面的情形往往会白做。假 设你清楚地明白所需的变量,此刻要做的是检查数据、生成必要的数据并形成数据库供以后利用。检查数据的重要命令包括codebook,su,ta,des 和list。其中,codebook提供的信息最全面,缺点是不能利用if条件限制范围,因此,有时还要用别的帮帮忙。su空格加变量名报告相应变量的非 缺失的观看个数,均值,标准差,最小值和最大值。ta空格后面加一个(或两个)变量名是报告某个变量(或两个变量二维)的取值(不含缺失值)的频数,比率 和按大小排列

7、的积存比率。des后面能够加任意个变量名,只要数据中有。它报告变量的存储的类型,显示的格式和标签。标签中一样记录那个变量的概念和单 位。list报告变量的观看值,能够用if或in来限制范围。所有这些命令都能够后面不加任何变量名,报告的结果是正在利用的数据库中的所有变量的相应信 息。提及来惨白无力,打开stata亲自实验一下吧。顺便说点儿题外话。除codebook之外,上述统计类的命令都属于r族命令(又 称一样命令)。执行后都能够利用return list报告贮存在r()中的统计结果。最典型的r族命令当属summarize。它会把样本量、均值、标准差、方差、最小值、最大值、总和等统计信息储 存起

8、来。你在执行su以后,只需敲入return list就能够够取得所有这些信息。其实,和一样命令的return命令类似,估量命令(又称e族命令)也有ereturn命令,具有报告,贮存信息的功 能。在更复杂的编程中,比如对回归分解,计算一些程序中无法直接计算的统计量,这些功能更是必不可少。检查数据时,先用codebook 看一下它的值域和单位。若是有-9,-99如此的取值,查一下问卷中对缺失值的记录方式。确信它们是缺失值后,改成用点记录。命令是replace (变量名)=. if (变量名)=-9。再看一下用点记录的缺失值有多少,作为选用变量的一个依据。取得可用的数据后,我会给没有标 签的变量加上

9、注解。或统一标签;或统一变量的命名规那么。更改变量名的命令是ren (原变量名)空格(新变量名)。概念标签的命令是label var (变量名)空格”(标签内容)”。整齐划一的变量名有助于经历,简明的标签有助于明确变量的单位等信息。若是你需要利用通过原始 变量派生出的新变量,那么就需要了解gen,egen和replace这三个命令。gen和replace常常在一路利用。它们的大体语法是gen (或replace)空格(变量名)(表达式)。二者的不同的地方在于gen是生成新变量,replace是从头概念旧变量。虚拟变量是 咱们常常需要用到的一类派生变量。若是你需要生成的虚拟变量个数不多,能够有两

10、种方式生成。一种是简明方式:gen空格(变量名)(限制条件)这 外面的小括弧是命令需要的,里面的小括弧不是命令需要的,只是说明“限制条件”并非命令。若是某个观看知足限制条件,那么它的那个虚拟变量取值为1,否 那么为0。另一种要麻烦一点。确实是gen (变量名)1 if (取值为一限制条件)replace(相同的变量名)0 if (取值为零的限制条件)两 个方式貌似一样,但有一个小小的区别。若是限制条件中利用的变量都没有任何缺失值,那么两种方式的结果一样。若是有缺失值,第一种方式会把是缺失值的观看 的虚拟变量都概念为0。而第二种方式能够将虚拟变量的取值分为三种,一是等于1,二是等于0,三是等于缺

11、失值。如此就幸免了把本来信息不明的观看错误地纳 入到回归中去。下次再讲如何方便地生成成百上千个虚拟变量。我经常使用到的stata命令:(续)大量的虚拟变量往往是依照某个已知变量的取值生成的。比如,在某个回归中希望操纵每一个观看所在的社区,即希望操纵标记社区的虚拟变量。社区数量可能有成百上千个,若是用上次的所说的方式生成绩需要重复成百上千次,这也太笨了。大量生成虚拟变量的命令如下;ta (变量名), gen((变量名))第一个括号里的变量名是已知的变量,在上面的例子中是社区编码。后一个括号里的变量名是新生成的虚拟变量的一起前缀,后面跟数字表示不同的虚拟变量。若是我在那个地址填入d,那么,上述命令

12、就会新生成d1,d2,等等,直到所有社区都有一个虚拟变量。在回归中操纵社区变量,只需简单地放入这些变量即可。一个麻烦是虚拟变量太多,怎么简单地加入呢?一个方法是用省略符号,d*表示所有d字母开头的变量,另一法是用破折号,d1-d150表示第一个到第150个社区虚拟变量(假设共有150个社区)。还有一种方式能够在回归中直接操纵虚拟变量,而无需真的去生成这些虚拟变量。利用命令areg能够做到,它的语法是areg (被说明变量) (说明变量), absorb(变量名)absorb选项后面的变量名和前面讲的命令中第一个变量名相同。在上面的例子中即为社区编码。回归的结果和在reg中直接加入相应的虚拟变量

13、相同。生成变量的最后一招是egen。egen和gen都用于生成新变量,但egen的特点是它更壮大的函数功能。gen能够支持一些函数,egen支持额外的函数。若是用gen弄不定,就得用egen想方法了。只是我比较懒,到此刻为止只用用取平均、加和这些简单的函数。有的时候数据情形复杂一些,往往生成所需变量不是超级直接,就需要多几个进程。曾经碰着原始数据中记录日期有些怪异的格式。比如,1991年10月23日被记录为。我想利用它年份和月份,并生成虚拟变量。下面是我的做法:gen yr=int(date)gen mo=int(data-yr*10000)/100)ta yr, gen( yd)ta mo,

14、 gen( md)假 设你已经生成了所有需要的变量,此刻最重要的确实是保留好你的工作。利用的命令是save空格(文件名),replace。和前面介绍的一样, replace选项将更新你对数据库的修改,因此必然要警惕利用。最好另存一个新的数据库,若是把原始库改了又变不归去,就叫天不该叫地不灵了。我经常使用到的stata命令(续)前面说的都是对单个数据库的简单操 作,但有时咱们需要改变数据的结构,或抽取来自不同数据库的信息,因此需要更方便的命令。这一类命令中我用过的有:改变数据的纵横结构的命令 reshape,生成退化的数据库collapse,归并数据库的命令append和merge。纵列(lon

15、gitudinal)数据 通常包括同一个行为者(agent)在不同时期的观看,因此处置这种数据常常需要把数据库从宽表变成长表,或相反。所谓宽表是以每一个行为者为一个观看, 不同时期的变量都记录在那个观看下,例如,行为者是厂商,时期有2000、2001年,变量是雇佣人数和所在城市,假设雇佣人数在不同时期不同,所在城市 那么不变。宽表记录的格式是每一个厂商是一个观看,没有时期变量,雇佣人数有两个变量,别离记录2000年和2001年的人数,所在城市只有一个变量。所谓长 表是行为者和时期一起概念观看,在上面的例子中,每一个厂商有两个观看,有时期变量,雇佣人数和所在城市都只有一个,它们和时期变量一起概念

16、相应时期的变量 取值。在上面的例子下,把宽表变成长表的命令格式如下:reshape long (雇佣人数的变量名), i((标记厂商的变量名)) j((标记时期的变量名))因为所在城市不随时期转变,因此在转换格式时不用放在reshape long后面,转换前后也不改变什么。相反地,若是把长表变成宽表那么利用如下命令reshape wide (雇佣人数的变量名), i((标记厂商的变量名)) j((标记时期的变量名))唯一的区别是long换成了wide。collapse的用途是计算某个数据库的一些统计量,再把它存为只含有这些统计量的数据库。用到那个命令的机遇不多,我利用它是因为它能够计算中位数和

17、从1到99的百分位数,这些统计量在常规的数据描述命令中没有。若是要计算中位数,其命令的语法如下collapse (median) ((变量名)), by((变量名))生成的新数据库中记录了第一个括号中的变量(能够是多个变量)的中位数。右面的by选项是依照某个变量分组计算中位数,没有那个选项那么计算全数样本的中位数。合 并数据库有两种方式,一种是增加观看,另一种是增加变量。第一种用append,用在两个数据库的格式一样,但观看不一样,只需用append空格 using空格(文件名)就能够够狗尾续貂了。简单明了,可不能有什么错。另一种就不同了,需要额外警惕。若是两个数据库中包括一起的观看,可是变量

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

19、两个库都有的。drop if _merge=2 删除仅仅来自辅助库的观看drop merge 删除_mergesave (文件名), replace 将归并后的文件保留,通常另存我经常使用到的stata命令(续)讲到那个地址似乎关于数据的生 成和处置应该闭嘴了。大伙儿可能更想听听估量、查验这些情形。但我并非想就此止住,因为实际中老是有一些简单套用命令无法轻易办到的特殊要求。现在至少有两 条路能够通向罗马:一是找到更高级的命令一步到位;二是利用已知简单命令多绕几个圈子达到目的。下面讲一个令我刻骨铭心的经历,这也是迄 今我所碰着的生成新数据中最繁复的了。原始数据中包括了能够识别属于同一个家庭中所有

20、个人的信息和家庭成员与户主关系的信息。目的是利用这些信息成立亲子 关系。初步的构思是新数据库以子辈为观看,找到他们的父母,把父母的变量添加到每一个观看上。我的做法如下: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 将所需变量加上

21、后缀f,表示女性ren line lf 将所需变量加上后缀f,表示女性sort wave hhidsave b1,replace 排序并保留keep if a5f=1 留下其中是户主或户主配偶的save b2,replace 保留use b1,clearkeep if a5f=3|a5f=7save b3,replace 留下其中是户主女儿或儿媳的并保留use a3,clear 打开与户主关系是户主子女的儿童数据库sort wave hhidmerge wave hhid using CHNS01b2, keep(hf lf)ta _mergedrop if _merge=2sort hhid

22、 line wave 处置两代户,将户主配偶女性库与儿童库归并by hhid line wave: egen x=count(id)drop x _merge 计算每一个年份家庭匹配的情形,x只取值1,说明两代户匹配成功save b4,replace 保留use a4,clear 打开与户主关系是户主孙子女的儿童数据库sort wave hhidmerge wave hhid using CHNS01b3, keep(a5f a8f schf a12f hf agemosf c8f lf)ta _mergedrop if _merge=2 处置三代户,将户主女儿或儿媳女性库与孙子女儿童库归并s

23、ort hhid line waveby hhid line wave: egen x=count(id)gen a=agemosf-agemosdrop 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)关于有两个可能母亲的儿童,有相同编码的女性显现两次的情形。

24、上面的做法是为了保证不删除这部份样本。drop a x xx xxx y _mergesave b5,replace 保留归并后的数据库对男性数据的归并完全类似,不赘述。log closeexit,clear我 的方式是属于利用简单命令反复迂回地达到目的那一类的,因此超级希望有更简便的方式来替代。只是做实证时往往不是超级追求程序的漂亮,常常也就苟且偷生 了。曾经有人向我索要过上面的处置方式,因为一直杂事缠身,就没有答复。此刻公布了,希望对需要的人能有所帮忙,我也懒得再去一一回答了。本文来自: 人大经济论坛 详细出处参考:我经常使用到的stata命令(六)(续)stata壮大的功能体此刻它能够方

25、便地回归微观数据。而回归也是微观实证中最重要的方式。下面就开始讲stata中和回归有关的经常使用命令。大体回归方式有两种:线性设定下的最小二乘法(OLS)和两时期最小二乘法(2SLS)。他们在实证分析中应用普遍,十分详细地把握这两种方式是实证研究的大体要求。讲解的顺序是先依次介绍如安在stata中实现OLS和2SLS估量,然后再分析如安在实际问题当选择合理的方式。后一部份受Joshua Angrist教授的阻碍专门大,因此,在后面引用他的思想时会详细注明。假设你已经清楚地了解待估量方程的形式,那么回归命令的大体魄式就十分简单明了:reg (被说明变量) (说明变量1) (说明变量2)方程中的相

26、应变量能够简单地放在reg的后面。执行上面的命令后,stata会显现两个表格,别离报告一些方差分析和回归的参数估量结果。咱们最关切的是参数的大小和显著性,这在第二个表格中列出。表格的最左侧一栏列出了说明变量,在它的右边是相应的系数估量值,然后依次是估量值的标准误,t比率,原假设为系数的真实值等于零时错误地拒绝该假设的概率p值,和该估量值的置信度为(1-5%)的置信区间。我看到回归结果的第一眼是瞄着最关切的说明变量的符号、大小和显著性。看看说明变量阻碍的方向和大小是不是符合理论的预期,是不是合乎常识,和那个估量值是不是显著。标记显著性的统计量是t统计量,在经典假设下,它服从t散布。t散布和标准正

27、态散布形状很相似,但它的“尾巴”要比标准正态散布的“肥”一些,在样本量比较小的时候尤其明显,当样本量趋于无穷时,t散布的极限散布是标准正态散布。大伙儿对标准正态散布的散布函数上一些关键点比较熟悉,比如,是%的关键点,是95%的关键点,因此,咱们希望明白何时能够平安地利用标准正态散布。下表列出了一些小自由度下二者的不同(Beyer 1987 “CRC Standard Mathematical Tables, 28th ed.”;Goulden 1956 “Methods of Statistical Analysis, 2nd ed.”)。能够看出,自由度超过一百时,二者的不同就已经相当小了。

28、因此,当样本量的数量级是100个或以上时,能够直接以为t比率服从标准正态散布,并以此做查验。90% 95% % %1 2 3 4 5 10 30 100 读者读到那个地址可能会笑话我了,stata不是已经报告了t查验的p值和置信区间了吗?什么缘故不直接观察这些结果呢?缘故在于实证文献往往只报告参数的估量值和标准误,需要读者自己将估量值和标准误相除,计算显著性。而且当你在写实证文章时,也应该报告参数的估量值和标准误。这比报告估量值和它的p值更标准。伴随回归命令的一个重要命令是predict。回归终止后,利用它能够取得和回归相关的一些关键统计量。语法如下:predict (新变量名), (统计量名

29、)那个地址的统计量名是一些选项。经常使用的选项有:xb(回归的拟合值。这是默许选项,即不加任何选项时,predict给予新变量前一个回归的拟合值。);residuals(残差);leverage(杠杆值)。下面具一个例子来讲明predict的用法。有时样本中的一个专门的观看值会显著地改变回归结果。如此的观看值能够笼统地分为三类:outliers,leverage和influence。Outliers是针对残差而言的,指那些回归中残差专门大的观看;leverage是针对说明变量而言的,是说明变量相对其平均值偏里专门大的观看;influence是针对估量结果而言的。若是去掉那个观看会明显地改变估量

30、值,那么那个观看确实是一个influence。Influence能够看做outliers和leverage一起作用的结果。异样观看可能是由于样本的特性,也可能是因为录入错误。总之,咱们希望找到它们。回归后的predict命令能够发觉这些异样观看(命令来自UCLA的“Regression with Stata”第二章)。发觉outliers,leverage和influence的命令如下:predict rs, rstudentpredict l, leveragepredict csd, cooksdpredict df, dfits这些统计量都有相应的关键值。当统计量(或其绝对值)超过关键值

31、时就应该认真检查相应的观看,确认是不是属于录入错误。rstudent是用来发觉outliers的统计量,其关键值是2,和3。leverage 是用来发觉leverage 的统计量,其关键值是(2k+2)/n,其中k说明变量的个数,n是样本量。Cooksd和DFITS是探测influence的统计量。它们都综合了残差和杠杆的信息,而且二者超级类似,只是单位不同,因此给出的结果也差不多。Cooksd的关键值是4/n。DFITS的关键值是2*sqrt(k/n)。我经常使用到的stata命令(七)中心牛师兄的大作,转帖过来 呵呵我经常使用到的stata命令:(续)在利用最小二乘法估量时,两个通常被质疑的问题是数据是不是存在多重共线性和异方差。多重共线性是指说明变量之间的相关性。通常咱们假设说明变量之间是相关的,而且许诺说明变量存在相关性,并操纵能够观看的因素正是OLS的优势。若是把多重共线性看做一个需要解决的问题,那么需要把它说明为相关性“较大”。如此,变量之间没有相关性不行,相关性太大也不行,好坏的分割真是颇费琢磨。而且多重共线性并无违背任何经典假定,因此,那个问题没有专门好的概念。本质上讲,在样本给按时,多重共线性问题无法解决,或说它是一个伪问题。先看一下什么缘故说明变量之间的相关性大会有问题。在OLS回归的经典假设(除正态假设外)下

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

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