Stata学习笔记和国贸理论总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Stata学习笔记
一、认识数据
(一)向stata中导入txt、csv格式的数据
1.这两种数据可以用文本文档打开,新建记事本,然后将相应文档拖入记事本即可打开数据,复制
2.按下stata中的edit按钮,右键选择paste special
3.*.xls/*.xlsx数据仅能用Excel打开,不可用记事本打开,打开后会出现乱码,也不要保存,否则就恢复不了。逗号分隔的数据常为csv数据。
(二)网页数据
网页上的表格只要能选中的,都能复制到excel中;网页数据的下载可以通过百度“国家数据”进行搜索、下载
二、Do-file 和 log文件
打开stata后,第一步就要do-file,记录步骤和历史记录,方便日后查看。Stata处理中保留的三种文件:原始数据 (*.dta),记录处理步骤 (*.do),以及处理的历史记录 (*.smcl)。
三、导入Stata
Stata不识别带有中文的变量,如果导入的数据第一行有中文就没法导入。但是对于列来说不会出现这个问题,不分析即可(Stata不分析字符串,红色文本显示;被分析的数据,黑色显示);第一行是英文变量名,选择“Treat first row as variable names”
在导入新数据的时候,需要清空原有数据,clear命令。
导入空格分隔数据:复制——Stata中选择edit按钮或输入相应命令——右键选择paste special——并选择,确定;导入Excel中数据,复制粘贴即可;逗号分隔数据,选择paste special后点击comma,然后确定。
Stata数据格式为 *.dta,导入后统一使用此格式。
四、基本操作(几个命令)
(一)use auto,clear 。在清空原有数据的同时,导入新的auto数据。
(二)browse 。浏览数据。
(三)describe 和 list。查看数据,describe 和 list 使用list命令能使我们根据自己的需要选择数据(例如其与in/if语句的结合使用)。
(四)Scatter。作图命令,scatter 散点图(scatter price mpg )
(五)Summarize。描述统计,常写作sum/su,求变量的个数、平均值、标准差、最小值和最大值。
(六)generate。生成数据,简写为gen。
(七)replace。修改数据,命令 replace 该命令不推荐使用,一般不会改变原始数据的。剔除缺失值、异常值, 或者批量修改数据均可以通过 replace 命令加上条件语句实现.
(八)Tabstat 。描述性统计,tabstat 变量列表,statistics(统计量列表)
(九)Rename 。对变量更名,rename 旧变量名新变量名。一次只能对一个变量名重命名。
(十)Order 。对变量排序,order变量列表[,选项]
(十一)Sort/gsort 。对观测值排序,sort 变量列表;gsort [+/-]变量,注意,方括号可有可无。Sort是升序排序,当第一个变量出现相同时,才会对第二个变量排序,否则是不会管后面的变量的排序的;gsort(general sort)即可升也可降,视+和-而定。为了保证数据的原始性,为了最后恢复数据排序,一般在排序前,生成新的变量num,最后对num排序就可以恢复。
(十二)Keep/drop 。保留/删除变量或数据,keep/drop 变量列表;keep/drop 条件。注意:请不要随意删除变量或数据,因为可以使用if条件句!(对行改变)每一次只能使用keep 和drop 中的一个命令。
(十三)Count 。按条件对观测值计数,count [条件],方括号可有可无,直接输入条件。
(十四)Recode 。批量修改观测值,recode 变量列表(规则),括号必须有。规则如下:#=#,比如3=1,值为3的全改为1;#/#=#,比如min/3000=0,3000以下全为0。如果加generate,则会生成新的变量。规则为:recode 变量列表 (规则)(规则), gen (新变量)。
(十五)Encode/decode。字符串与数值转换,encode变量,generate(新
变量)。将stata不能识别的红色字符串改为数值,而且必须生成新变量,即generate(新变量)不能省。Decode是将label 的数值转换为字符串变量,也必须生成新变量,即generate(新变量)不能省。
(十六)Display。显示字符串/变量值,display 字符串或变量或表达式。By/bysort 分组地重复执行某一命令:by 变量列表;bysort变量列表。By后面一般是一个类别的变量。一般在命令前加by 变量列表:就可以,冒号后的命令碧血是完整的。此命令实际是先按变量列表分组,然后再执行后面的命令。Egen 生成新变量:egen 新变量= 函数表达式。Generate 新变量= sum(变量)是逐个加总,egen 新变量= sum(变量)是求和。
(十七)Forvalues/ Forrach。循环命令,Forvalues 有规律的循环,Forrach 任意循环。
(十八)Reshape。面板数据的变换,reshape long 变量列表, i(样本变量名) j(时间变量名); reshape wide 变量列表, i(样本变量名) j(时间变量名)
(十九)merge。横向拼接,merge 拼接形式变量列表using 被拼接数据集。merge 命令是用于横向拼接, 即为了增加变量。拼接形式有1:1、1:m、m:1 和m:m 四种。“1”方是需要复制多份, 并与“m”方拼接的; 而“m”方的记录数是不会增加的。变量列表是在拼接时, 用于识别拼接记录的; 一般是两数据集的共同变量. 可以是一个, 也可以是多个. 比如要把学生的考试成绩(变量为姓名、考试科目、成绩) 和学生学号(变量为姓名、学号) , 那么姓名就是这里用于识别的变量。被拼接数据集只支持*.dta 格式数据。若被拼接数据集的名称中包含空格, 请将其置于英文状态下的引号内。若被拼接数据集不在Stata 当前路径下, 请在数据集名称前加上路径, 支持放在英文状态下的引号内。
(二十)append 。纵向拼接,append using 一个或多个数据集。append 命令是用于纵向拼接, 即为了增加样本或观测值。此命令支持多个*.dta 文件拼接, 多个数据集需用空格隔开。
(二十一)Duplicates。删除重复数据,duplicates report 变量列表,报告是否有重复。duplicates list 变量列表,列出重复的;duplicates tag 变量列表,generate(新变量),报告重复的,并生成新变量;duplicates drop 变