编者按:从本期开始,Stata 连享会将推出「Stata 小白系列」推文,介绍数据导入、命令语法等 Stata 入门知识,以帮助各位尽快掌握 Stata 的基本操作。需要注意的是,本文所有数据可通过
lxhget xzhstata.pkg, replace
命令获取。
目录
1. 调入 Stata 格式数据
1.1 use 命令
1.2 sysuse 命令
1.3 webuse 命令
1.4 bcuse 命令
1.5 freduse 和 import fred 命令
1.6 copy 命令
2. 调入其他格式数据
2.1 insheet 命令
2.2 infile 命令
2.3 infix 命令
2.4 import 命令
2.5 xls2dta 命令
3. 相关推文
1. 调入 Stata 格式数据
1.1 use 命令
use [varlist] [if] [in] using filename [, clear nolabel]
其中,
use
:是打开数据的命令语句;
varlist
:代表变量名称;
if
:是条件语句,用于限定样本范围;
in
:是范围语句,很少用;
using filename
:指定数据文件路径和名称。
具体来看,如果想要调入文件中全部数据,输入标准命令如下:
. use "D:\连享会\useauto.dta", clear //为了演示方便,我们将 auto 数据存放在本地
说明:
use
是表示调入的命令语句,
D:\连享会\auto.dta
则指定了数据文件的路径和名称。
有时,并不需要将数据文件中的所有变量全部调入,因为原始数据内容丰富,含有很多变量,而研究可能只涉及其中的几个变量。例如,我们只关心 auto 数据集中的
make
和
price
这两个变量,应该使用如下命令:
. use make price using "D:\连享会\useauto.dta", clear
这个命令中
use make price
部分表示需要打开
make
和
price
两个变量,
using "D:\连享会\auto.dta"
部分表示打开的数据文件路径和名称。
有时,原始数据将不同特征的样本混杂在一起,而现实的研究却要求将不同的样本分开研究,例如分别研究男性、女性的情况,城市、农村的经济问题,等等。这时就需要只调入具有这些特征的样本数据进行分析。在本例中,调入 auto 文件中进口车样本数据的命令为:
. use "D:\连享会\useauto.dta" if foreign == 1, clear
说明:这个命令语句中最重要的就是
if
语句,该命令执行的结果就是让 Stata 仅仅读入符合条件的样本数据。在本例中,
foreign == 1
就表示是进口车,故调入的数据是进口车的数据。
有时,原始数据文件的样本数量过于庞大,例如人口普查的数据动辄千百万,可是一般的研究大部分不需要全部的样本,只需要部分样本即可。例如,若只需要调入 auto 数据文件中第 5 到第 10 个样本的数据,可以使用如下命令:
. use "D:\连享会\useauto.dta" in 5/10, clear
说明:
in 5/10
表示选取的样本序号,即选取第 5-10 行观察值。
1.2 sysuse 命令
安装 Stata 时,会自带一些供练习所用的范例数据集。在命令窗口中输入命令
help dta_examples
,可以查看完整的数据列表。
auto.dta use | describe auto2.dta use | describe autornd.dta use | describe bplong.dta use | describe bpwide.dta use | describe cancer.dta use | describe census.dta use | describe citytemp.dta use | describe citytemp4.dta use | describe educ99gdp.dta use | describe gnp96.dta use | describe lifeexp.dta use | describe network1.dta use | describe network1a.dta use | describe nlsw88.dta use | describe nlswide1.dta use | describe pop2000.dta use | describe sandstone.dta use | describe sp500.dta use | describe surface.dta use | describe tsline1.dta use | describe tsline2.dta use | describe uslifeexp.dta use | describe uslifeexp2.dta use | describe voter.dta use | describe xtline1.dta use | describe
Stata 内置有以上数据集,在练习命令时我们不必舍近求远。例如,auto 数据集大名鼎鼎,笔者在不少教程中见过。由于 auto 数据库同时备份在根目录下 (
D:\stata15\ado\base/a/
),所以我们可同时用
use
或
sysuse
直接调用。显然,由于使用
use
需指定文件路径,较为繁琐,我们通常都是直接使用
sysuse
命令调入这些内置的数据文件。以 cancer 数据集为例,若想使用
use
命令调用,则需指定具体的存储路径:
. use "D:\stata15\ado\base/c/cancer.dta", clear
相比之下,若用
sysuse
命令,则可以直接调入:
. sysuse cancer.dta, clear
1.3 webuse 命令
Stata 手册里使用的数据都可以使用
webuse
命令直接下载使用。在命令窗口输入
help dta_manuals
,可以查看数据集列表信息。
如图所示,以上手册简单直译了一下,读者可以自取所需,点击进入后会有命令介绍与配套数据库。上述手册配套的所有数据库都可以用
webuse
直接调入。
webuse
的特点是可以直接在线导入网上数据而不需指定具体网络路径,因为
web set
已经默认设定了网络地址为 Stata 官网的手册地址。例如,以下两条命令语句等价:
. use http://www.stata-press.com/data/r15/lifeexp, clear . webuse lifeexp, clear
输入
webuse query
命令,我们可以看到当前默认设定的网址:
. webuse query (prefix now "http://www.stata-press.com/data/r15")
使用
webuse set
可以更改默认地址,以便下载特定网址中的 Stata 数据文件。若需恢复默认网址设定,只需执行
webuse set
,后面不加网络路径。