第三章 stata的基本概念
本章导读:
在了解了stata系统的概况后,有必要了解下stata的基本概念。只有搞懂了这些stata的概念,才可能熟练掌握它的功能。本章介绍的基本概念包括:什么是数据文件,什么是do-file文件,什么是log文件以及它们的用法和操作。最后简单介绍什么是stata程序。
3.1 Stata的文件
Stata相关的文件有三类:数据文件,do-file文件,log文件。
3.1.1 stata 数据文件
数据文件以后缀“.dta”表示。数据文件是Stata处理和分析的对象。数据文件具有如下的逻辑结构:(如表3-1)
variable 1 | variable 2 | …… | variable K | |
1 | ||||
2 | ||||
…… | ||||
N | ||||
表3-1
其中每一行表示一个观测,每一列表示一个变量。每个观测都有一个编号(表3-1左起第1列),是系统自动加上去的。Stata对数据类型的区分不是很细致,分为数据型和字符型。缺失数据用“.”表示。
数据文件可以在Data Editor中生成,如图3-2所示。在方格中输入相应的变量名和数据后,点击Preserve按钮即可。
图3-1 Data Editor
也可以将文本文档(.txt)和Excel表格(.xls)中的数据读入,并存为数据文件。比如,假设D:\dividend\data下有一个txt文件cg.txt,现在要将其读入,并存为cg.dta。可以使用如下指令:
insheet using D:\dividend\data\cg.txt
save cg.dta
在读入数据后,Stata Command会显示读入了多少个观测,多少个变量,Variables会显示变量名列表。数据文件data1.dta存放在Stata默认路径中。
图3-2 读入.txt文件
而如果本身就在Stata的默认路径中,则第1条指令可以简化为:
insheet
要打开已经存在的数据文件,可以使用Open按钮,或使用use命令。假设Stata的默认路径中有数据文件cg2.dta,则可使用如下指令:
use cg2.dta
(至此不难看出,在Stata中,同一个功能,既可以用命令实现,也可以用工具栏和菜单栏实现。)
有必要介绍Stata中一个重要的概念:memory。memory可以视为Stata的工作环境。数据文件只有在被读入memory后才能被处理。在一个时点上,memory中最多只能有一个数据文件。如果在一个数据文件处理途中想处理另一个数据文件,必须先用clear命令清空memory后(此时Variables会显示没有变量)再打开后一数据文件。
对已在memory中的数据文件,可以用Data Browser按钮查看,但不能修改。如果想做修改,可以用Data Editor按钮,注意修改后用Save按钮保存即可。也有命令来查看和修改在memory中的数据文件。值得注意的是,在memory中,数据文件是以变量为单位存在的。具体而言,处理和分析数据只能在变量层面进行。Stata的语法和命令都是针对变量的。
3.1.2 stata do-file文件
在第二章中,我们在简单介绍stata的操作方式时提到do-file的作用并给出了例子。本章将对do-file文件进行进一步的介绍。顾名思义,do-file文件以后缀“.do”表示的文件。
在command窗口输入命令很不方便,而且也不利于保存对数据文件处理和分析的过程。替代的做法是使用工具栏中“Do-file-editor”(左起第7个)在Do-file中编程。
在do-file文件中,用*表示注释内容,Stata在运行do-file文件时会跳过这些注释语句。加入注释语句能增强do-file文件的可读性。最好为每一个do-file文件写详细的注释内容。比如文件名称,计量分析的目的,时间和结果存放位置。如果过程中生成并保存了数据文件,应写出相应数据文件的名称等。如果中途对do-file文件进行过修改,最好将修改过文件保存为另一个文件,以便于将来对比分析原文件和修改后的文件。
以下是一个do-file文件的格式:
*heckman.do
*The program is written for the solution of sample selection problem .
*Data management: using heckman methods as test tax cost of cash dividend
*This result will be saved in the data file: heckman1.dta
* written: 09/11/10
图3-3是一个do-file的例子。
图3-3 .do文件
工具栏最右边(do-file文件的工具栏)的两个按钮分别是Do current file和Run current file。点击后便可运行do-file文件。也可以选择部分命令让Stata只运行选中部分。
图memory按键是什么意思3-4 do file工具栏
可以保存当前使用的do-file文件。Review窗口中的命令也可以保存为do-file。方法是点击Review窗口左上角,选择send to do-file editor(Save Review Contents)。
图3-5 将review窗口命令发送到do file文件
3.1.3 log文件
log文件以后缀“.log”表示,用于记录Stata的运行结果。
在开始运行Stata时,创建一个log文件,并指定其路径和文件名,在结束运行时,再将其关掉,则可记录此间Stata的运行结果。
以下是使用的方法:
(开始运行)
log using d:\stata10\logfiles\dividend.log
………………….
(Stata命令)
…………………..
log close
(结束运行)
从而dividend.log就记录了从“log using”命令到“log close”命令之间Stata运行的所有结果。
图3-6 log命令
3.2 stata 程序
Stata系统提供了编辑stata程序解决问题和使用无需程序的stata模块解决问题两种方式。Stata程序就是用户运用stata语言编辑而成的在stata系统下可以运行的一段命令程序。Stata命令可以大体上分成4类:help命令;针对memory的命令;处理和分析数据的命令;数学命令。
3.2.1 help命令
Help命令相对简单,比如想了解“regress”的用法,可在Stata Command中输入如下语句后回车: help regress 。Stata会提供关于“regress”用法的详细说明,并配以例子。、
3.2.2 针对memory的命令
针对memory的命令有清空命令clear和设置memory大小的set memory命令。memory有一个默认的大小,但如果数据文件太大,必须重设memory的大小,如下所示:set memory 2m 该指令将memory大小设为2兆。
3.2.3 处理和分析数据的命令
处理和分析数据的命令构成Stata命令的主体。它们可实现各种各样的功能,但大体具有如下的格式:
[by varlist1:] command [varlist2] [if exp] [in range] [,options]
其中[by varlist1:]表示按一组变量(由varlist1指定)分组;
command [varlist2]表示命令是针对由varlist2指定的变量;
[if exp]表示命令只针对满足exp(一般是一个逻辑表达式)的观测;
[in range]表示命令只针对处在range指定的范围内的观测,如in 5指执行的范围是第5个观测,in -5指执行的范围是倒数第5个观测,in 5/12指执行的范围是从第5到第12个观测;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论