Stata统计分析与应用(第3版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-21 17:43:24

点击下载

作者:马慧慧

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Stata统计分析与应用(第3版)

Stata统计分析与应用(第3版)试读:

前言

Stata是近年来兴起的一款短小精悍、功能强大的统计计量软件,相比于功能强大但是臃肿的 SAS,它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件。由于 Stata本身的统计方法非常先进,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。其普遍使用的12.0、13.0、14.0 版安装文件只有200MB左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是它的统计分析功能极为全面,比起1GB以上大小的SAS系统也毫不逊色。

本书的内容及知识体系

本书基于Stata而编写,分为Stata使用基础、Stata与回归分析、Stata与多元统计分析、Stata编程入门共14章。内容涵盖了Stata从入门的数据管理、图形绘制到各种高级的统计、回归分析以及编程入门知识,不仅详细地讲解了Stata各种命令的相关参数,还列举了大量的实例加以说明,非常方便读者进行理解和学习。

第1章首先带领读者了解Stata的发展里程,了解Stata的基本功能,熟悉Stata的界面和各种相关的学习资料。

第2章切入正题,介绍Stata的数据管理功能,包括如何创建和导入数据集、如何对变量进行相关的操作、如何对两个数据集进行合并等,这一部分是Stata使用的基础。

第3章和第4章详细讲解了Stata的绘图功能。第3章以散点图为例,介绍了Stata绘图的各种选项的使用,第4章进一步介绍了曲线标绘图、连线标绘图、拟合图、条形图等,读者一旦掌握了这些内容,就可以对Stata绘图运用自如了。

第5章到第7章介绍了描述性统计分析、列联分析、方差分析三种基本的统计分析手段在Stata中的实现。第5章首先回顾了统计学的基本知识,然后向读者展示了如何使用Stata进行描述性统计分析、探测异常值、计算相关系数以及进行数据的正态性转换。第6章是列联分析的内容,包括如何利用Stata进行列联分析、如何生成包含描述性统计量的表格等。第7章介绍方差分析的内容,包括t检验、单因素方差分析、多因素方差分析、协方差分析等。

第8章到第10章介绍了Stata的回归分析功能,这也是Stata最擅长的工作。第8章介绍了经典假设下的横截面数据单方程线性回归模型的Stata实现,包括单方程回归分析的基础知识、使用Stata进行回归的各种命令、如何进行变量变换来更好地拟合方程。第9章是非经典假设、线性方程组、面板数据估计的Stata实现,包括存在内生性、异方差、多重共线性时如何使用Stata进行相关的处理,还包括对似不相关方程组、联立方程组以及面板数据进行回归分析的命令。第10章是非线性回归分析及回归分析专题,这是计量分析中较高级的内容,包括了二值响应模型、多值响应模型、角点解和样本选择模型,最具特色的是我们专门介绍了如何在Stata中进行回归诊断。

第11章介绍Stata的时间序列分析功能,包括基本时间序列模型的估计、ARIMA模型的估计、单位根与协整、VAR与VEC的估计、ARCH与GARCH的估计,囊括了时间序列分析中各种常见的内容。

第12章和第13章是多元统计分析中的内容,这两章在回顾了相关的基础知识后,详细介绍了聚类分析、主成分分析、因子分析的Stata命令。

最后,第14章简要介绍了Stata编程中的基础知识,内容包括全局宏与局部宏、标量与矩阵、循环语句,以及Stata计算结果的提取。

本书有何特色(1)配有多媒体语音视频进行讲解。

为了方便读者更加直观地学习Stata软件,作者为本书专门录制了大量的多媒体语音视频进行讲解,视频适合使用Stata 10.0~14.0版本的用户,相信通过这些视频读者可以更快地掌握本书的内容。(2)内容全面,讲解详细,即用即查。

本书是一本百科全书式的Stata著作,详细讲解了Stata的大部分常用功能,对参数的介绍非常细致,本书既可作为很好的入门教程,也可以作为即用即查的参考手册。(3)进行了详尽的理论知识讲解。

本书对每一个知识点都进行了详尽的回顾,在诸如回归分析、时间序列、方差分析等内容上达到了高级计量的程度,在这个基础上介绍Stata命令更加顺理成章,读者使用起来也更加游刃有余。(4)列举了几百个典型实例。

本书对每一个命令都配备了一个以上的实例,对于常用命令则在全书中反复使用,示例中的命令大都进行了详细的解释,读者只需按照书中介绍的步骤一步步地实际操作,就能完全掌握本书的内容。

本书的对象

本书的内容和实例满足金融、经济、生物、医疗卫生保健、社会人文、心理学等多学科的需要,可供高等院校相关专业本科生、研究生以及从事统计分析的研究者参考使用,也可作为Stata软件培训和自学的教材。

本书作者

本书是集体智慧的结晶,由马慧慧、郭庆然、丁翠翠、吴磊、程利敏、聂艳玲、马晓鑫、庄君、蒋敏杰、李丽丽、鲁啸、刘娟、李嫣怡、丁维岱、许小荣编写,在此,编者对以上人员致以诚挚的谢意!本书在编写过程中吸收了前人的研究成果,在此一并表示感谢。

由于作者水平有限,书中的缺点甚至错误在所难免,恳请广大读者批评指正。作者2016年1月第1章Stata概述

在本书第1章自然要介绍Stata软件的入门知识。但作者希望不限于此,而是在介绍Stata基础知识的同时,能使读者感受到 Stata 的软件文化。Stata 一个最大的特点就是用户可以简单地编写自己的Stata应用程序,然后上传到相关论坛与其他用户交流。如果用户的自编程序拥有良好的应用前景,Stata 公司甚至会将你的程序加入到 Stata 标准版本中,让世界各地的用户分享你的成果。我们将在本章中介绍Statalist,它提供了一个极有价值的供Stata活跃用户联系的在线论坛。

本章将从以下四个部分简单地介绍Stata。

在第一部分介绍Stata的历史和特点,这有助于读者在后续的学习中更好地理解Stata命令。第二部分介绍Stata的使用界面,使读者对Stata的外观有一个感性的认识。第三部分介绍Stata中最基本的help和search命令。第四部分将介绍Stata的各种学习资源,Statalist的申请与退订,便于读者在阅读完本书后可以进一步深入研究Stata的使用方法。1.1 Stata的历史和特点

Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为14.0版。相比于功能强大但略显臃肿的SAS,它操作灵活、简单、易学易用,是一个非常轻便的统计分析软件。由于在Stata软件中能便捷地实现多种先进统计方法,它越来越受到用户的推崇,并和SAS、SPSS一起被称为新的三大权威统计软件。自1985年推出至今,Stata不断更新、日趋完善。

Stata 最突出的特点是短小精悍、功能强大。最新的 14.0 版安装文件不到 1GB,但包含了全部的统计分析、数据管理和绘图等功能。此外,由于Stata在分析时将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。

Stata 不仅操作方式简捷,它的数据格式简单,分析结果输出简洁明快,易于阅读,这都使得Stata成为极其适用于统计教学的软件。

Stata的许多高级统计模块是编程人员用宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到 Stata 网站搜索并下载最新的升级文件。Stata 的这一特点使得它始终处于统计分析方法发展的最前沿,用户总能很快找到最新统计算法的Stata程序版本,而这也使得Stata成了几大统计软件中升级最多、最频繁的一个。

Stata同时具有数据管理软件、统计分析软件、绘图软件、矩阵计算软件和程序语言的特点,而且可用于制作精美的图形,图形可直接被图形处理软件或字处理软件(如Word等)调用。

相比于之前的版本,Stata 14.0的新功能亮点是:(1)Unicode支持。Stata现在支持Unicode utf - 8格式的字符串。(2)新的语言下的Stata。Stata的用户界面现在支持西班牙语和日语。(3)贝叶斯分析。Stata 14.0为贝叶斯统计分析提供了新的bayesmh命令和相应的套件的功能。(4)IRT模型。Stata14.0包括一个控制面板来指导用户通过IRT模型进行拟合和分析。(5)Stata/MP现在支持超过21.4亿个观察值。(6)扩展效果。Stata14.0添加了支持概率(抽样)权重teffects ipwra,teffects ipw,和teffects ra。(7)更多级mixed-effects模型。Stata14.0添加了一些新的有关多级mixed-effects的命令和功能模型。(8)新的扩展面板数据估计。Stata14.0现有的默认伽玛残差的命令xtpoisson,re以及xthtaylor现在接受vce(robust)和vce(cluster clustvar)选项。(9)新的SEM和广义SEM特性。Stata14.0为gsem添加了相关的五个新的生存分析。当新选项 vce(sbentler)指定时,sem 现在提供了 Satorra-Bentler 扩展卡方和 model-versus-saturated测试。此外,相应的稳健标准误差(SEs)已有生成和报告。(10)新的时间序列。Stata 14.0新的mswitch命令适用于转折点模型。新的估计命令mswitch提供两种建模方式切换过程:自回归(AR)和动态回归(DR)。(11)生存分析的动力分析和应急表。Stata 14.0 为权力分析、生存分析和应急表添加了新命令。Stata 14.0添加了两个新的命令来计算能力测试的优势比(ORs),也添加了power trend,它可以计算功率和样本Cochran-Armitage(CA)趋势测试。(12)新的生存分析命令。Stata 14.0做了与生存分析有关的一些改变。(13)icd - 10编码。Stata 14.0新的icd10命令设计来与世界卫生组织(世卫组织)的icd - 10编码配合工作。(14)阶段的权重。Stata 14.0的Svyset现在允许用户指定阶段抽样权重。

对Stata的特点进行了大量文字描述后,接下来介绍Stata的使用界面。1.2 Stata的使用界面

首先以Stata/MP 14.0为例介绍Stata的使用界面。双击Stata图标将显示如图1-1所示的Stata 启动界面。除了 Windows版本的软件惯有的菜单栏、工具栏、状态栏等外,Stata的界面主要由以下4个窗口构成。图1-1 Stata的启动界面(1)结果窗口:位于界面上部(见图1-2),软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均列于此。窗口中不同颜色的文本有不同的含义,如黑色表示命令、蓝色代表链接、红色表示错误信息。图1-2 Stata图形界面的结果窗口(2)命令窗口:位于结果窗口下方(见图1-3),相当于 DOS 软件中的命令行,此处用于键入需要执行的命令,按Enter键后即开始执行,相应的结果会呈现在结果窗口中。图1-3 Stata图形界面的命令窗口(3)命令回顾窗口:如图1-4所示,即Review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动复制到命令窗口中;如果需要重复执行,双击相应的命令即可。(4)变量名窗口:如图1-5所示,位于界面右上方,列出当前数据中的所有变量名称。图1-4 Stata图形界面的命令回顾窗口图1-5 Stata图形界面的变量窗口

除了以上4个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口和Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。

除了各种窗口以外,Stata 的菜单栏也是很重要的。我们在后面的章节中对 Stata 各种常用命令的介绍,都是通过示范如何使用命令语句实现的。但是,这些命令中有很多也可以使用菜单栏而不需要输入相关命令来实现。

Stata菜单栏主要由File、Edit、Data、Graphics、Statistics、User、Window、Help组成。其中File、Edit与多数Windows软件使用方法一致。Data主要用来导入导出数据,可以完成数据管理一章的部分任务。Graphics可以用来实现Stata强大的作图功能,它可以实现Stata有关图形绘制章节的部分功能。Statistics则与本书的介绍回归部分的相关章节有关,可以实现线性、非线性回归的绝大部分功能。User用来管理用户的数据、图片、回归结果。Window可以帮助我们管理以上所介绍的四个窗口和编辑、查看窗口的设置。Help用来为用户提供帮助信息。1.3 Stata命令——help、search命令

Stata中最重要的两个命令莫过于help和search了。即使经常使用Stata的人也很难,也没必要记住常用命令的每一个细节,更不用说那些不常用的了。所以,在遇到困难又没有免费专家咨询时,使用Stata自带的帮助文件就是最佳选择。Stata的帮助文件十分详尽,面面俱到,这既是好处也是麻烦。当你看到长长的帮助文件时,是不是对迅速找到相关信息没有信心?

help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在Stata的命令行窗口中输入help空格加上这个名字。按Enter键后屏幕上就会显示出这个命令的帮助文件的全部内容。如果你想在Stata下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。使用的方法和help类似,只需把准确的命令名改成某个关键词。按 Enter 键后窗口会给出所有和这个关键词相关的帮助文件名和链接列表。在列表中寻找最相关的内容,单击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实践,通常可以较快地找到用户需要的内容。

举个例子来说,如果我们要寻找关于基本回归命令regress命令(将在第7章中具体介绍)的使用方法,我们只需要在前面介绍过的命令窗口输入:

help regress

Stata会显示如图1-6所示的窗口。图1-6 help命令的结果

这个窗口详尽地展示了regress命令的信息。从命令名regress到语法(syntax),到对语法的解释(description),其后还有例子说明和参考内容(限于篇幅,我们只列出了help结果的一部分)。可以说,Stata的帮助文件是各种统计软件的帮助文件中最完备、思路最清晰的了。

当使用help命令时,Stata默认读者进行的是精确查询,如果我们对某个命令不太确定,就可以使用search命令来进行模糊查询。

举个例子,我们同样要查询关于 regress 命令的信息,但是我们记不清 regress 命令的全名,只记得regress的前半部分reg的话,我们可以在Stata命令窗口中输入:

search reg

Stata会输出如下结果:

限于篇幅,仅列出一部分。

我们可以比较一下help和search命令的区别。相比于help命令的精确,search命令输出所有与reg关键词相关的帮助结果。这一点是search命令的缺点,它往往会输出太多内容,使用户的搜索相当困难。

除了输入help、search命令来查看帮助文件外,我们还可以使用工具栏中的help标签。对于初学者,使用帮助文件的最简单方法是选择help| contents命令,则将显示如图1-7所示的窗口。

Content窗口中按各种功能将命令的帮助文件分类,读者可以逐级寻找需要的帮助文件。以上窗口中的蓝色部分都是可以继续单击的,我们通过单击自己感兴趣的部分向下逐级寻找具体内容。所有你希望寻找的答案,都可以通过这个页面进入。比如,最简单的描述统计sum,就可以通过单击:Top > Statistics > Summary statistics & tests > Summary statistics找到。这一过程用以下方式总结:图1-7 help菜单栏下contents的内容

在我们单击statistics之后,得到如图1-8所示的结果。图1-8 Help\Contents\Statistics的内容

之后单击Basic statistics,可以进入下一级,内容显示如图1-9所示。图1-9 help\contents\statistics\Basic statistics的内容

最后,单击Summary statistics则可以得到summary命令的帮助文件(见图1-10)。图1-10 help\contents\statisticsBasic statistics\Summary statistics的内容

值得注意的是这种方法和我们直接输入help summarize产生的效果是一样的。1.4 Stata学习资源

Stata 之所以受到广泛应用和关注,除了软件本身的特点外,还在于 Stata 公司为用户提供了很好的学习、讨论、研发平台。Stata公司提供完整的使用手册,包含统计样本建立、解释、模型与语法、文献等超过1600页的出版物。除了之外,通过网络可以得知Stata软件的最新功能,更可以得知世界各地的使用者对于Stata公司提出的问题与相应的解决之道。

除了使用Stata公司研制的产品这一途径之外,用户获得信息最有效的另一个途径是使用Statalist在线论坛,该论坛提供Stata用户交流的一个良好平台。用户可以给以下地址发个电子邮件申请加入Statalist:

majordomo@hsphsun2.harvard.edu

邮件的内容为:

subscribe Statalist

处理器会将你加入论坛并介绍如何使用论坛资源,包括如何将你自己的消息张贴到论坛上。你的动态都可以向以下地址发送,当前所有订阅者都能接收到你的消息:

Statalist@hsphsun2.harvard.edu

要想从论坛上取消订阅,只需要向申请的地址发送:

unsubscribe Statalist即可。

要搜寻Statalist档案,可以登录

http://www.Stata.com/Statalist/archive/

Statalist的材料包括索取程序、求解方法、有关建议,以及回答和一般讨论。

除了上述两种途径之外,使用者也可以通过 Stata Journal获得 Stata的许多相关信息以及书籍介绍等。Stata Journal包括用户描述研制新命令的文章,也包括Stata公司雇员编制的非正式命令。Stata Journal可以从Stata公司直接订购。第2章数据管理

数据分析的起点是数据的搜集和整理,在统计软件的使用中,一般用户最关心的是软件的统计分析功能。然而,随着用户分析技术水平的提高和数据复杂性的增加,软件的数据管理功能将变得越来越重要。数据管理是指对原始数据进行加工、重组、合并,使之能满足特定统计分析要求的前期数据处理工作。事实上,一个高级的统计分析员的绝大部分时间是用在数据管理上的。对于很多复杂数据来说,对原始数据进行管理、使之成为可以分析的数据比起对完善的数据进行分析要更加复杂。因此,一定的数据管理能力是合格的数据和统计分析员的必备素质。

相比其他统计软件,灵活而完善的数据管理功能是Stata的一个主要优势特色。本章的内容有:变量的基础知识、创建和导入数据集、定义新变量、转换数值型变量和字符型变量、创建虚拟变量和分类变量,以及进行数据的抽样、分割和合并。本章是学习Stata的重要基础,是学习以后各章的前提。2.1 变量和变量的取值

介绍Stata的数据管理功能,我们从介绍变量的相关知识入手。无论哪种统计数据,其格式总是以变量为列,以观测案例为行的矩阵格式的结构,如表 2-1 所示。其中变量是统计分析语言的基本单位,本节介绍关于变量的一些基本知识。表2-1 数据结构2.1.1 变量的命名

在数据处理的过程中,变量是由变量名来代表的。数据矩阵的每一列抬头即是变量的名称,Stata有着自己特殊的命名原则,具体如下:

●变量名可达32个字符。

●字符组成部分为 A~Z、a~z、0~9 与下划线“_”,这些字符之外的其他符号不可以出现在变量名中。

●变量名不能以数字开头,所以5shanghai是不合法的,而shanghai5是合法的。

●变量名区分大小写,所以shanghai和Shanghai以及ShangHai是3个不同的变量名。Stata自身保留了以下名称供系统使用,所以它们也不可以被当成变量名:

实际上,上述名称都是系统变量、数据存储格式或者命令的名称,读者一旦熟悉 Stata软件就可以很自觉地避免使用上述名称了。根据笔者经验,读者可以应用汉语拼音或者英文缩写为变量命名,这样可使得变量名简洁且易于理解。2.1.2 变量的取值类型

所有的数据最终存储在电脑中都以1或者0的二进制存储数据的方式存储。Stata的存储方式被分为两类,一类是以ASCII为基础的字符型数据,另一类则是数值型数据。本节除介绍这两类不同的数据类型外,还会简要说明缺失变量的取值。

1.字符型数据

在Stata中字母当然是字符型数据,但是数字则不一定:比如5当作为年龄时是数值型数据,当作为5 street(第五大街)时就是字符。字符变量的存储格式是str#,其中str表示Stata使用字符型变量的格式,而#表示Stata该变量的存储最多可容纳的字符数。

比如,str7表示该变量最多容纳的字符个数为7,这就意味着这个变量所包含的字符个数可以是 0~7,但不可以超过 7,比如 beijing 是可以的,但是 shanghai 则不可以,为了容纳shanghai作为变量的取值,必须将str7改为str8。

2.数值型数据

当数据是数值型的时候,Stata会以不同于字符型数据的方式存储,以便可以进行数字的算术运算并节约存储空间。字符型数据的两种主要的存储方式是整数(integer)和浮点(floating point)。由于电脑基于二进制工作,所以实际上电脑是以二进制来逼近十进制的。

对于整数而言,电脑可以以精确的方式予以保存。1 字节是 8个8比特,如果我们分配给某个整数1字节,那么理论上有2=256个不同的整数可以被存储,比如-127、-126…127、128。

非整数的数值(甚至是整数的数值)往往采用浮点的形式存储。标准的浮点数据被存储在4字节里。尽管每一个整数都有对应的二进制数字,但是非整数则往往没有,所以电脑实际上使用二进制的数字来大致地逼近十进制的数字,因而一个数值存储占用的空间越大,其逼近的近似程度越高,也就越准确。双精度浮点数据采用了两倍于一般浮点数据的存储空间,即每个数字占用8个字节,这样的存储使得数据更加准确,从而满足统计计算的要求。

表2-2列举了Stata使用的5种数据存储格式,其中3种是存储整数的,2种是存储浮点数据的。表2-2 Stata的数字存储格式

显然,我们可以看到:采用long、float和double三种存储格式的好处在于节省存储空间,整数123 456 789如果采用字符型数字(ASCII)来存储需要占用9字节,而采用long或者float则只需要4字节。可以看到,对于较大的数值,这样存储可以节约很可观的空间。Stata默认将数字存储为浮点(float)数据,而将计算的结果存为双浮点(double)精度数据。

3.缺失数据

在 Stata 中有一种特殊的变量取值——缺失数值。Stata 有27个数值型代码代表缺失值:.、.a、.b、.c、.d、….z,它们依次增大,而“.”被认为成大于任何数,同时也是所有缺失值中最小的。一般而言,只使用“.”作为缺失值就足够了。2.1.3 变量的显示

数据的显示格式决定了 Stata 在结果窗口和 log 日志文件中怎样显示数据结果。比如,0.98926,Stata可以将这一数字显示为1、0.99、9.989e-1等。下面我们依次介绍数值变量的显示格式和字符变量的显示格式。

1.数值变量的显示格式

Stata中数值变量的基本显示格式有3种:e格式(科学计数法格式)、f格式(固定格式)和g格式(一般格式)。这3种格式的表达式中均包含用黑点隔开的两个数字w.d。其中的w表示整个显示所占的字符数,即宽度;d 表示显示的数字中小数点后的位数。一般格式 g 中的d要灵活一些,它自动调整显示的格式。

显示格式是%w.d加上3种基本格式的显示符。例如,%9.2f表示变量的整个显示宽度为9个字符,其中小数点后有两个数位的固定显示格式。另外,在 f 后面加上字母 c 则是要求Stata给出带逗号“,”的数字显示格式,如表2-3所示。表2-3 数值型变量的显示格式举例

2.字符变量的显示格式

字符变量的显示格式只有一种。其表达式为%#s。其中,%是一个提示符;#表示显示的字符数,即宽度;s表示字符变量的显示格式。例如,%22s表示22个字符的字符变量显示格式。

Stata中的显示均以右对齐为默认格式,用户也可以根据需要指定左对齐。这时,需要用户在定义显示格式时使用左对齐的选项“-”。值得注意的是,数值变量的显示格式也可以使用同样的方法更改成左对齐。

3.使用format命令规范变量的显示格式

我们了解了各种类型的变量的显示格式,那么如何让某个变量按照我们的要求显示呢?这就要用到format命令了,该命令的语法如下:

为变量规定显示格式:

format varlist %fmt

或者

format %fmt varlist

显示变量目前所采用的格式:

format [varlist]

其中,%fmt可以是数值型变量或者字符型变量的格式。

常用的数值型变量的显示格式有:%#.#g,如%9.0g;%#.#f,如%9.2f;%#.#e,如%10.7e;%#.#gc,如%9.0gc,表明有三位数的分节符;%#.#fc,如%9.2fc,表明有三位数的分节符。

上述情形均为默认的右对齐,如果在上面的“%”后加上“-”,则表明是左对齐。

常用的字符型变量的显示格式有:%#s,如%15s。【例2-1】有如表2-4所示的一个数据集format.dta,每个变量在Stata中的显示类型如下:state为%14s表明美国各州的名称,因而是字符型变量;pop为%11.0g表明该州的总人口,是数值型变量;而 medage 是各州人口的年龄中位数,显示格式是%9.0g,以浮点型方式存储。表2-4 数据集format.dta

我们希望将各个变量的显示方式做如下转换:state %14s——>%-14s(即由右对齐改为左对齐);pop %11.0g——>%14.0gc(增加三位一个的数字分界符);medage %9.0g——>%8.1f (要求显示一位小数)。完成这个任务的命令如下:

log using c213.txt, text replace

use format //打开format文件

list //按照旧的显示格式列举数据

format state %-14s //重新规定state的显示格式为%-14s

format pop %14.0gc //重新规定pop的显示格式为%14.0gc

format medage %8.1f //重新规定medage的显示格式为%8.1f

list //按照新的显示格式列举数据

在Stata中,这个数据原始的显示方式如下(list命令的运行结果):

经过重新定义,这个数据的显示方式变为(list命令的运行结果):

读者对比上述两个结果就可以发现我们对显示规定所做的改变:

●state变量由右对齐改为左对齐;

●pop变量增加了三位数一个的数字分界符;

●medage没有变化,这是因为在新旧不同的规定下该变量的显示效果一致。2.1.4 变量的标签

标签是为变量、数据等提供说明的,便于使用者更清晰地了解数据的结构和变量。Stata的标签工具不仅可以为数据加上标签,同时也可以为变量和变量的数值加上标签。为变量添加标签的命令是label,下面先介绍这个命令的语法,然后会在例2-2中说明如何使用。

label命令是一组用于设定标签(label)的命令,这里主要介绍它用于为整个数据集和每个变量添加标签以说明数据的含义。(1)添加数据集的标签使用:

label data ["label"]

其中,"label"是要添加的数据说明。比如,对于一个失业率的数据我们可以添加标签“unemployment rate”。(2)添加变量的标签使用:

label variable varname ["label"]

其中,varname 指定要添加说明的变量,"label"是要添加的变量说明。比如,对于 GDP这个变量,我们可以添加标签“Gross domestic production”。(3)label为变量数值添加标签的语法包括两部分,首先是定义数值标签(value label):

label define lblname # "label" [# "label" ...]

其中,lblname是标签的名称。

然后将定义好的数值标签(value label)添加到变量上:

label values varlist [lblname|.]2.2 创建一个新的数据集

本节介绍如何在 Stata 中创建一个新的数据集,创建数据集所需要了解的基本命令包括browse、edit、rename、save、describe、list、codebook 等。我们将首先介绍这些命令的格式和常用选项,然后说明如何利用它们创建一个新的数据集。2.2.1 关于数据集操作的基本命令

这里将依次介绍browse、edit、rename、save、describe、list、codebook这7个基本命令,它们是使用Stata的基础。

1.browse和edit命令

browse 命令用于打开数据浏览器,相当于单击数据浏览器按钮,edit 命令用于打开数据编辑器,相当于单击数据编辑器按钮,两者在外观上没有区别,唯一的不同在于后者可以进行编辑,而前者只能浏览。

这两个命令的格式如下:

edit [varlist] [if] [in]

browse [varlist] [if] [in]

其中,[varlist]表明可以在命令后加入需要的变量名称,如果只输入edit或者browse将会打开包含所有变量的数据集,[if]和[in]用于选择需要的子集,这两个选项将在2.6节中加以介绍。

2.rename命令

rename命令用于对变量重新命名,其格式如下:

rename old_varname new_varname

其中,old_varname是变量原来的名称,new_varname是新的命名。

3.save命令

save命令用于将内存中的数据保存到硬盘上,其命令格式如下:

save [filename] [, save_options]

选项([, save_options])如表2-5所示。表2-5 save命令选项说明

4.describe命令

describe命令用于产生一个对数据集的简明总结表格,其格式如下:

describe [varlist] [, memory_options]

这个命令的选项如表2-6所示。表2-6 describe命令选项说明

5.list命令

list命令用于显示变量的数值,其后可以跟需要显示的变量名称。如果没有设定变量,则默认显示所有的变量数值。

这个命令的语法如下:

list [varlist] [if] [in] [, options]

选项(options)包括表2-7所示内容。表2-7 list命令选项说明

6.codebook命令

codebook命令用于详尽地描述变量的内容,包括变量名称、变量标签和变量的赋值。这个命令的语法如下:

codebook [varlist] [if] [in] [, options]

命令的常用选项如表2-8所示。表2-8 codebook命令选项说明2.2.2 举例应用:创建新的数据集auto.dta

下面用一个实例:创建新的数据集 auto.dta 来说明如何使用上述这些基本命令,读者也可以利用这个机会对创建新数据的流程有一个清晰的认识。【例2-2】本例使用2.1.1节中所介绍的命令创建表2-9所示的名为auto.dta的数据集。这个数据集共有74个观测值,表2-9列举了部分数据。读者可以使用sysuse auto来查看这个数据,之所以使用sysuse是因为auto.dta是Stata自带的数据集。表2-9 数据集auto.dta(部分数据)(续表)

我们分5步来创建这个数据集:输入原始数据、定义变量名、添加标签、查看数据概貌、保存数据到硬盘工作目录下。下面是这5个步骤的详细解释。

1.输入原始数据

创建包含表2-9所示数据的文件,最简单的方法是使用Stata表格化的数据编辑器,单击数据编辑器按钮即可,也可选择菜单Window|Data Editor命令,或直接输入edit命令。Stata会自动生成var1、var2等变量列,用于可以开始为每个变量输入数据。变量var1包含表2-9中变量make的内容(也就是生产制造商的内容),变量var2包含表2-9中变量price的内容(也就是汽车的价格),以此类推,第一个观测数据见图2-1。图2-1 数据编辑窗口

如果为某一变量输入的第一个值是一个数字,比如是价格,那么Stata便默认该列为数值型变量,从此以后只允许输入数值。如果为某一变量输入的是非数值字符,比如是地名的输入,那么Stata便会认为此列是字符型变量。在数据浏览器或是数据编辑器中,字符串变量显示为红色,所以我们很容易区分这两类变量。

2.定义变量名

按照以上方式将表2-9的信息输入完毕后,我们可以输入以下命令,更改变量名:

rename var1 make //改变变量名var1到make,以下类似

rename var2 price

rename var3 mpg

rename var4 rep78

rename var5 headroom

rename var6 trunk

rename var7 weight

rename var8 length

rename var9 turn

rename var10 displacement

rename var11 gear_ratio

rename var12 foreign

3.添加标签

Stata还允许我们为数据添加好几种类型的标签。正如之前所介绍的,label data用于描述整个数据,而label variable则可用于添加单个变量的描述。例如:

label data″1978 Automobile Data″ ///为整个数据添加标签说明这个数据是关于1978汽车的数据

label variable make ″Make and Model″///为make变量添加标签

label variable price ″Price″///为price变量定义标签

label variable mpg ″Mileage (mpg)″

label variable rep78 ″Repair Record 1978″

label variable headroom ″Headroom (in.)″

label variable trunk ″Trunk space (cu.ft.)″

label variable weight ″Weight (lbs.)″

label variable length ″Length (in.)″

接下来为foreign这个变量添加变量值标签,foreign这个变量的取值是0和1,其中0代表国内产(domestic),而1代表国外产(foreign)。我们接下来为foreign添加变量值标签,在命令框中输入如下命令:

label define origin 0 ″domestic″ 1 ″foreign″//指定一个标签名为origin,这个标签的内容是0代表“domestic”,1代表“foreign”

label values foreign origin //将origin这个我们刚刚定义好的标签分配给foreign这个变量

4.使用describe和codebook命令查看数据概貌

我们可以使用describe命令来查看数据的概要:

.describe

命令输出结果如下所示:

输出结果中,表头是这个数据的存储位置,观测值数目(为74),变量12个,整个数据的标签是“1978 Automobile Data”。表格则依次显示了每个变量的名称、储存方式、显示格式、变量标签和变量值标签。比如,make变量是以字符型变量存储的,共占有18个字符,而price变量则是按照整数方式存储,以占用 8 位数的一般方式显示。其他的变量中,headroom 和gear_ration是按照浮点存储的,foreign是按照字节存储的,其他均是按照整数的方式存储的。我们给foreign所定义的origin标签也显示在“value label”一栏中。大致了解这些变量的存储方式和显示方式有利于我们深入了解Stata的使用。

我们还可以使用codebook命令来获得更加详细的变量的解释:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载