Stata常用命令集锦【计量经济系列(一)】
Stata常用命令集锦【计量经济系列(一)】
文章目录
- 1.数据集的打开、关闭与保存
- 1.1 导入Excel数据
- 1.2 打开dta数据
- 1.3 关闭数据集
- 1.4 保存数据
- 2.stata运算符
- 2.1 代数运算符
- 2.2 逻辑运算符
- 2.3 比较运算符
- 3. 数据查询
- 3.1 describe
- 3.2 list
- 3.2.1 查看一条数据
- 3.2.2条件查询
- 4. 删除数据
- 4.1 keep
- 4.2 drop
- 5. 排序
- 5.1 sort
- 5.2 gsort
- 5.2.1 语法
- 5.2.2 gsort降序
- 5.2.3 gsort升序
- 6. 统计分析摘要summarize
- 7.生成新变量 gen
- 8. 修改数据
- 8.1 修改单个数据
- 8.2 按条件修改多个数据
- 9.数据的合并
- 9.1 纵向合并 append
- 9.2 横向合并 merge
- 10.数据重整
- 10.1 reshape
- 10.2 多列转一列 stack
- 10.3 转置 xpose
ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ
1.数据集的打开、关闭与保存
1.1 导入Excel数据
import excel "E:\stata_projects\data\test1.xlsx", sheet("Sheet1") firstrow
从左到右,依次指定Excel文件目录,sheet工作簿,第一行为列名。
1.2 打开dta数据
以acemoglu.dta数据集为例。
打开dta文件类型的数据集,使用use命令。
use "E:\stata_projects\data\acemoglu.dta"
clear表示关闭上一个数据集。
1.3 关闭数据集
如果上一个打开的数据集是被导入的,则需要使用clear将其关闭,才能打开下一个数据集。
clear命令可以单独使用,
clear
use "E:\stata_projects\data\acemoglu.dta"
也可以写成:
use "E:\stata_projects\data\acemoglu.dta", clear
1.4 保存数据
使用save加保存的文件名及其目录。
save "E:\stata_projects\data\test1.dta"
这里保存为了stata专有的dta数据文件格式。
2.stata运算符
stata支持的运算符如下:
2.1 代数运算符
符号 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
^ | 指数 |
2.2 逻辑运算符
符号 | 描述 |
---|---|
! | 不 |
~ | 不 |
| | 逻辑或 |
& | 逻辑并 |
2.3 比较运算符
符号 | 描述 |
---|---|
> | 大于 |
< | 小于 |
== | 等于(一个等号时表示赋值) |
~=或!= | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
3. 数据查询
3.1 describe
describe用于描述生成内存中的数据集或存储在Stata格式数据集中的数据的摘要。
要获得变量名的紧凑列表,请使用descripe,simple。
语法
describe [varlist] using filename [, file_options]
示例
use "E:\stata_projects\data\acemoglu.dta"
describe
也可以简写为d
obs是数据条数,vars是变量个数,12 Mar 2015 20:26是数据文件的修改日期
然后依次是每个变量的:
- variable name 变量名
- storage type 存储类型(数据类型),
- display format 展示格式,
- value label 变量的值标签,
- variable label(变量标签)
3.2 list
3.2.1 查看一条数据
如果要查看某条数据
则使用list命令
list
list不加任何参数默认查看所有数据。
在上边五个变量中,查看shortnam变量的数据:
list shortnam
呈现效果:
stata中的变量名可以使用前几个字符的简称,使用简称的前提是该简称能够指代的变量名唯一,否则会发生报错ambiguous abbreviation(模棱两可的缩写)。
如查看logem4变量,因为还存在一个logpgp95变量,,所以简可以写成
list loge
而不能写成
list log
3.2.2条件查询
同时查询shortnam和logem4两个变量,并只要第5个到第10个(总计6个)数据。
指定数据范围使用 in
list s loge in 5/10
第五个到第十个数据中变量logem4大于4.25的。
list s loge in 5/10 if logem4>4.25
4. 删除数据
4.1 keep
keep含义为保留,即,将keep命令指定范围外的数据删除。
如保留logpgp95 > 9的数据。
keep if logpgp95 > 9
然后需要恢复刚刚删除的数据(才能便于博客的继续展示):
clearuse "E:\stata_projects\data\acemoglu.dta"
(即 先清除所有变量,重新读取文件)
4.2 drop
删除logem4大于4的为例
drop if logem4>4
如果想要删除变量,则只需要drop加变量名,或者keep加想要保留的变量的变量名。
5. 排序
5.1 sort
clear
use "E:\stata_projects\data\acemoglu.dta"sort logpgp95
按照变量 logpgp95 升序(从小到大)排列。
5.2 gsort
5.2.1 语法
gsort按指定变量的升序或降序排列观察值,所以它和sort的不同之处在于,sort只生成升序排列。且得到的数据结构中没有数据类型为字符串类型的变量。
语法
gsort [+|-] varname [[+|-] varname …] [, generate(newvar) mfirst]
5.2.2 gsort降序
gsort -logpgp95
5.2.3 gsort升序
gsort +logpgp95
或
gsort logpgp95
6. 统计分析摘要summarize
summarize计算并显示各种单变量摘要统计信息。如果未指定varlist,则会计算数据集中所有变量的汇总统计信息。
语法
summarize [varlist] [if] [in] [weight] [, options]
且最短可缩写为su
summarize
查看更为详细的摘要统计信息,则加上可选参数(options),detail
summarize,detail
执行结果如图所示,其中圈出的部分是每个变量的标签,作为输出表格中每个变量的唯一标识。
7.生成新变量 gen
gen是generate的简写,用于生成新的变量。如:
gen y1 = sum( logem4 )gen y2 = sqrt(logem4)gen y3 = logem4*2
8. 修改数据
8.1 修改单个数据
将第11条数据的avexpr改为8。
replace avexpr = 8 in 11
8.2 按条件修改多个数据
将表格中第2条数据到第20条数据范围内,变量logpgp95大于9.8且小于9.99的数据修改为8为例:
replace logpgp95 = 8 in 2/20 if logpgp95>9.8 & logpgp95<9.99
9.数据的合并
9.1 纵向合并 append
数据集test1和数据集test2如下:
将两组数据纵向合并,保存为test3.dta。
use test1,clear
append using test2
save test3,replace
其中append命令是将数据集test2纵向合并到了当前数据集(test1),但是并没有更改任何文件。这个时候使用list命令看到的是:
查看test3
use test3,clear
9.2 横向合并 merge
test4
test5
横向排序需要选择一列作为基准列,这里以变量id为例,合并前需要先使两个合并的数据集有着相同的id(值相同,顺序也要相同),这里先使用sort方法进行排序。
use test4,clear
sort id
save test5,replace
use test4,clear
sort id
merge id using test4
save test6
表格合并结果如图所示
合并过程会产生标识变量 _merge,为了不影响数据操作过程,通常使用drop _merge将其删除。
drop _merge
10.数据重整
10.1 reshape
stack命令的官方说明文档如下
通过stack命令,可以成功实现如图所示的long数据可wide数据之间的转化。
以mywide.dta数据集为例,数据具体如下:
将如图所示的wide数据转换为long数据,
命令示例如下:
use mywide
reshape long math economy, i(id name) j(year)
其中i()中的变量名是保持不变的变量名,j()中的变量名是新添加的一列的变量名。
除了指定的不变的变量名之外,只有命名方式为 字符+数字形式的变量名,如economy2003,economy2004才会被合并,且变量名中的数值会作为新的变量的值,而math2003和math2004会变成math,economy2003和economy2004则会变成economy。
不满足这样形式变量名的变量,会保持不变。
处理效果具体如下:
沿着上边的命令继续执行,将刚刚得到的long数据再变为wide数据:
只需要将reshape long改为reshape wide,其他部分不变:
reshape wide math economy, i(id name) j(year)
10.2 多列转一列 stack
还使用mywide数据集:
将数据集中的math2003 economy2003 math2004 economy2004四个变量合并成为一个新的变量,且变量名为x:
最后并删除产生的标识变量_stack:
use mywide
stack math2003 economy2003 math2004 economy2004,into(x) clear
drop _stack
10.3 转置 xpose
依然使用mywide.dta数据集:
将其转置:
use mywidexpose, clear
转置结果如图所示,可以看到,原来数据类型为字符串类型的变量,在转置后成为了缺失值。因为每个变量中的所有数据必须属于同一数据类型。
本次分享就到这里,小啾感谢您的关注与支持!
Stata常用命令集锦【计量经济系列(一)】相关推荐
- stata 模型设定专题【计量经济系列(六)】(遗漏变量、无关变量、多重共线性、leverage、虚拟变量、线性插值......)
stata 模型设定专题[计量经济系列(六)] 文章目录 1. 遗漏变量 与 无关变量 1.1 遗漏变量 1.2无关变量 2. 解释变量的权衡标准 3. 检验函数形式 4. 多重共线性 4.1 检验多 ...
- stata 工具变量法【计量经济系列(七)】
stata 工具变量法[计量经济系列(七)] 文章目录 1. 内生性 2. 工具变量 3. 2SLS (二阶段最小二乘法) 4. 弱工具变量 5. 工具变量外生性的过度识别检验 6. 豪斯曼检验 6. ...
- stata 异方差专题【计量经济系列(四)】
stata 异方差专题[计量经济系列(四)] 文章目录 1. 异方差检验方法 2. 散点图法 3. BP检验 4. 怀特检验 5. FWLS 可行权的最小二乘法 6. 小练习 ʚʕ̯•͡˔•̯ ...
- 工具变量法案例【计量经济系列(八)】
stata 工具变量法案例[计量经济系列(八)] 文章目录 1.数据集 2. 初步回归,发现内生变量 3. 使用工具变量,2SLS回归 4. 检验外生性,过度识别检验 5. 检验 工具变量与内生变量 ...
- stata代码命令全集:跟检验do文件、stata常用命令、代码大合集、面板熵值法
一.常用模型代码整理 1.数据来源: 2.时间跨度:无 3.区域范围:无 4.指标说明: 包含如下模型代码: l OLS模型 l Heckman两阶段模型 l PSM+DID模型 l 固定效应模型( ...
- oracle clearing,ORACLE DBA常用命令集锦(2)
ORACLE DBA常用命令集锦(2)[@more@] 接上篇 ORACLE DBA常用命令集锦(1): sql> revoke create session from scott; 7.gra ...
- Elasitcsearch 开发运维常用命令集锦
Elasitcsearch 集群开发运维常用命令集锦,后面会逐步扩展完善. 早期总结的开发.运维常见命令清单列表如下: 1.干货 | Elasticsearch 运维实战常用命令清单 2.干货 | E ...
- Git 常用命令集锦
文档已储存在 GitHub,这里不再更新校正,请原谅. 远程仓库相关命令 克隆远程仓库:git clone git://github.com/jquery/jquery.git 查看远程仓库:git ...
- windows常用命令集锦
开始→运行→输入的命令集锦 gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 lo ...
最新文章
- linux异常断电usb驱动丢失,如何修复Linux中损坏的USB驱动器 | MOS86
- 小白学python,零基础学Python难不难?
- linux弹性网卡,将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡
- Java StringBuilder codePointCount()方法与示例
- 【OGG】 RAC环境下管理OGG的高可用 (五)
- linux 查看磁盘分区,文件系统,使用情况的命令和相关工具介绍,新型linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍.doc...
- Python XML读写(xml.etree.ElementTree模块)(转载)
- java反编译能拿到源码吗_大牛带你解读Spring源码,编写自定义标签,您能学会吗?
- sed,awk,grep教程
- matlab 平滑曲线连接_MATLAB数据可视化
- edge 临时文件夹 位置_如何更改Microsoft Edge的下载文件夹的位置
- 【Python 3.7】分子运动:修改 rw_visual.py,将其中的 plt.scatter() 替换为 plt.plot() 。为 模拟花粉在水滴表面的运动路径
- 如何在Hyper-V、Virtual PC等虚拟机中使用USB设备
- Fluid Motion by Curl Noise
- 完蛋!面试官问我 InnoDB 的物理存储结构!
- java项目小组项目总结报告_项目总结报告
- android上调试H5小工具
- AS3使用,播放声音和加载外部声音文件
- 线性代数笔记:逆矩阵及伪逆矩阵,最小二乘估计,最小范数估计
- 基于遥感的大蒜种植面积量测