《傻瓜计量经济学与stata应用》第二章do文件,记得把数据考到当前目录或带上路径,否则可能无法打开
*==============================================================================*
*===========================第2章 数据处理与图形绘制===========================*
*==============================================================================*
*-2.1 数据导入
*-(1) 复制粘贴
*-(2) 菜单-文件-导入-选定。
*-(3) import
**************注意:是否选择-第一行为变量名(据具体情况);有时中文可能报错**************
import excel "路径", sheet("Sheet1") firstrow //第一行为变量名
summarize //描述性统计分析结果
//缺失值,原因:复制粘贴过程中,地区、县区市被stata默认处理成字符型,无参数值,需转换成数值型
encode 地区, generate (province) //字符型与数值型转换,将地区变量解码成数值型变量,并将其储存在新生成的province中,省份已经被数值取代
encode 县区市, generate (county) //字符型与数值型转换
generate code =province //查看省份
by province, sort: list province code, constant //constant代表重复变量只出现一次。只是为了展示
summarize if province==16 //单独查看江西省数据。81个县市,不包含区
summarize if province==16, detail //详细信息
rename 地区生产总值万元 gdp
rename 第二产业从业人员人 employ
summarize //stata运算中系统自动忽略数据缺失项。横截面数据不可以进行插值处理
help summarize
regress gdp employ //stata会自动按照最小的数据个数进行运算
*-2.2 数据类型}
*-2.3 数据合并
use autosize.dta, clear //主数据
merge 1:1 make using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense.dta" //变量make为汽车型号
merge 1:1 make using autoexpense.dta // 改变路径之后的命令
drop _merge //了解具体匹配信息后删除_merge,否则后续无法继续匹配其他数据
merge 1:1 make id using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense.dta", keep (match) nogen //nogenerate不要创造_merge变量;keep只保留匹配成功的观测值。
merge 1:1 make id using autoexpense.dta, keep (match) nogen
*-第一种
use autosize.dta //主数据
merge 1:m make using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense2.dta" //一对多,也可以此为主数据
merge 1:m make using autoexpense2.dta
sort make year
drop _merge
list //主数据中没有的数据,无法匹配成功。_merge==2表该数据仅来源于调用数据
merge 1:1 id using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense2.dta" //
merge 1:1 make id using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense2.dta", keep(match) nogen //只保留匹配成功数据,同时删除匹配记录
merge 1:m make id using "D:\傻瓜计量经济学与stata应用\Stata数据集\autoexpense2.dta", keep(match) nogen
sort make year
drop _merge
list
*-第二种
use autoexpense2, clear //主数据
merge m:1 make using "D:\傻瓜计量经济学与stata应用\Stata数据集\autosize.dta" //多对一,也可以此为主数据
merge m:1 make using autosize.dta
*-2.4 数据转换
webuse reshape1, clear
list
reshape long inc ue, i(id) j(year) //j(year),year是生成的变量,原数据不存在此变量。
list, sepby(id) //sepby(id)表输出结果按照id进行分隔
reshape wide inc ue, i(id) j(year) //变回去,year是数据中的时间变量。
webuse reshape3, clear
preserve //暂存数据,便与后面恢复到初始状态
rename inc80r inc80
rename inc81r inc81
rename inc82r inc82
reshape long inc ue, i(id) j(year)
list
restore //数据恢复到初始状态
webuse reshape1, clear
reshape long inc@r ue, i(id) j(year) //第二种方法。@用于指明时间数字,以避免stata出错
describe //各变量的属性和名称
*-2.5 数据插值
*-(1) 时间序列数据插值
clear
set obs 20 //设定观测值数量20
set seed 10000 //设定种子为10000,以保证实验结果的可复制性
gen id=_n //设定id变量,等于_n,即系统自动生成的序号变量,从1开始
gen year=_n+2000 //生成时间变量year,从2001-2020年
gen x=runiform(5,6) //解释变量服从(5,6)上的堆积均匀分布
gen e=rnormal() //残差e服从标准的随机正态分布
gen y=1+3*x+e //因变量y是x的函数
tsset year
asdoc list
reg y x //ols回归,对比分析
***************为演示插值方法,删除部分数据。本例删除y>18的值,同时将2001和2020年一头一尾数据清除,再进行插值,比较插值与真实值的差异***************
gen y1=y
replace y1=. if y>18 //大于18,则替换为缺失值
replace y1=. if year==2001
replace y1=. if year==2020
sum //y1少了9个数据。最好缺失值低于5%
ipolate y1 x, gen(y2) //线性内推,interpolation,如果把X换成t就是平均值插值
ipolate y1 x, gen(y3) epolate //线性外推,即端点的预测问题
list //比较y2,y3可以看到线性内推和外推的差异在于对顶点2020年数据的预测
***************比较预测之后的模型估计效果***************
quietly reg y x
outreg2 using xmm, word replace //如无命令,ssc install outreg2安装
quietly reg y1 x
outreg2 using xmm, word
quietly reg y2 x
outreg2 using xmm, word
quietly reg y3 x
outreg2 using xmm, word
*-(2) 面板数据插值
*如果只是某个指标的观测值数据缺失,直接使用线性插值法即可。如果某一年(或其他时间计量单位)数据缺失,需先用tsfill命令补充相应年份,做成平衡面板数据再插值。
*首先虚构一个面板数据
clear all
local N=6 //设定研究对象个体数,local指设定局部宏变量
local T=5 //设定研究的年份
local NT=`N'*`T'
set obs `NT' //设定观测值数量
set seed 10000 //设定种子为10000,方便试验的可重复性
egen id=seq(), from(1) to (`N') block(`T') //使用egen调用等差数据函数seq(),即变量id从1到N=6,但每个id重复T=5,总共6*5=30个观测值
sort id //按id排序
by id: gen year=_n+2010 //生成时间变量year,从2011-2015
by id: gen x=runiform(5,6) //解释变量x服从(5,6)上的随机均匀分布
by id: gen e=rnormal() //残差e服从标准的随机正态分布
by id: gen y=1+3*x+e //设定函数
xtset id year
summarize
***************删除每个个体2013年的数据,同时将y>19的观测值替换为缺失值.***************
drop if year==2013
replace y=. if y>19
list if _n<=15 //如果结果没出现表格,可加选项table
tsfill, full //先把年份补齐
list
ipolate y x, gen(y1) //线性内推插值
ipolate y x, gen(y2) epolate //线性外推插值
ipolate y year, gen(y3) //线性平均值插值,对y插值
ipolate x year, gen(x1) //线性平均值插值,对x插值
list, table
by id: ipolate y year, gen(y4) epolate //线性外推法
quietly xtreg y x, fe r
outreg2 using xmm, word replace //比较不插值和插值的结果差异
quietly xtreg y1 x1, fe r
outreg2 using xmm, word
quietly xtreg y2 x1, fe r
outreg2 using xmm, word
quietly xtreg y3 x1, fe r
outreg2 using xmm, word
quietly xtreg y4 x1, fe r
outreg2 using xmm, word
tssmooth ma var1=x, w(2,0,2) //使用x变量的前两期和后两期进行移动平均
replace x=var1 if x==. //将x变量中的缺失值替换为var2中的移动平均值
*-2.6 图形绘制
use 2019countycross.dta, clear
graph twoway (scatter gdp employ) (lfit gdp employ) //scatter散点图,lift线性拟合。拟合不准确,也没有提供具体的参数。
regress gdp employ //进一步使用regress观察具体数值及显著性水平
gen y=rnormal(2237134, 3026096) //生成均值2237134,标准差3026096的正态分布
kdensity gdp
graph save kgdp.gph, replace
kdensity y
graph save ngdp.gph, replace
graph combine kgdp.gph ngdp.gph
***********取对数,优点1,更符合正态分布***********
generate lgdp=log(gdp) //不服从正态分布,取对数
kdensity lgdp //观察lgdp分布特征
quietly kdensity gdp //quietly不显示结果
graph save gdp.gph, replace //储存
quietly kdensity lgdp
graph save lgdp.gph, replace
graph combine gdp.gph lgdp.gph //放在一起对比
***********取对数,优点2,回归结果更加稳健***********
generate lemploy=log(employ)
quietly reg gdp employ
outreg2 using jufe, word replace
quietly reg lgdp lemploy
outreg2 using jufe, word //放在一起比较
***********取对数,优点3,避免由于单位不一致带来的解释难题***********
graph twoway (scatter lgdp lemploy)(lfit lgdp lemploy) //拟合线
graph twoway (scatter lgdp lemploy)(lfit lgdp lemploy)(qfit lgdp lemploy) //增加二次拟合线
generate lemploy2=lemploy^2
reg lgdp lemploy lemploy2
《傻瓜计量经济学与stata应用》第二章do文件,记得把数据考到当前目录或带上路径,否则可能无法打开相关推荐
- 计量经济学及Stata应用 第二章 Stata入门
第二章 Stata入门 2.3 Stata操作实例 打开数据文件 use file_path,clear (clear用于清空内存中的数据) 审视数据 观看数据集中的变量名.标签等 describe ...
- linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作
文档均来自网络,如有侵权请联系我删除文档 第二章 Linux 文件操作(4学时) 实验一文件属性和无缓冲I/O 实验目的 1.熟悉Linux文件系统属性控制 2.掌握不带缓存的文件I/O程序设计方法 ...
- 工程数据计算机处理的方法有,第二章 CADCAM技术基础-工程数据的计算机处理2011.ppt...
文档介绍: CAD/CAM技术基础 CAD/CAM Technology Base 主讲人:XXX E-mail:XXX 第二章 工程数据的计算机处理 Computer Processing of E ...
- 中国大学MOOC胡浩基的机器学习第二章(支持向量机)兵王问题python版本——在python上初步使用libsvm
在中国大学MOOC上看了胡浩基的机器学习课程,完全面向入门人群感觉挺好.其中有关原理的部分讲的很细.(虽然有几个细节我还是没懂.......)其中在第二章的例题兵王问题中课程只给了MATLAB的版本. ...
- Linux基础第二章:文件压缩归档及文本编辑
一.文件压缩及归档 1.文件压缩 gzip和bzip命令用于文件压缩,但是缺陷是压缩完成后源文件消失所以一般不用. 命令格式是:gzip或者bzip + 0-9的压缩等级(数字越大压缩级别越大) ...
- 《傻瓜计量经济学与stata应用》第七章do文件
*==============================================================================* *================== ...
- 慕课面板数据分析与Stata应用—第二章-长面板估计方法总结
一.长面板只需使用固定效应,不用考虑其他的. 若 扰动项存在:组间异方差.组内自相关.组间同期相关(截面相关),则选择估计方法1以及估计方法2进行处理 1. LSDV:估计最稳健 2.FGLL 3.F ...
- 《傻瓜计量经济学与Stata应用》课程笔记
encode a,generate (b):解码字符型变量,使可接summarize summarize a b if c == 10 [,detail]:summarize的限定与强化 do-fil ...
- Android 第二章 本地文件的读写
读写的第一种方式: 使用最初始的IO方式读写到应用包目录下面 package com.example.login;import java.io.BufferedReader; import java. ...
最新文章
- CodeIgniter2.0中sqlserver驱动返回受影响行数问题解决
- LELE的RPG难题
- 菜鸟要做架构师——java性能优化之for循环
- python标准库os_Python基础--人们一些最爱的标准库(sys os fileinput)
- 指纹图谱相似度评价软件_不同产地佛手指纹图谱及模式识别研究
- nginx详解反向代理,负载均衡,LNMP架构上线动态网站
- Linux运维基础知识——开发人员可以掌握的常识
- 软件项目uat测试报告,项目管理-验证阶段-UAT测试报告.doc
- 中国Blog现状和发展初探
- 【调研】DRL优化网络通信领域顶会及期刊
- Lagrange Multiplier Theorem——候选人定理
- 《学习笔记》面向对象(四)多态,instanceof关键字,抽象
- 弘辽科技:如何书写淘宝直通车创意标题才能带来更多的流量?
- 如何保证数据在传输过程中的安全
- 挂载zookeeper到文件系统 (mount zookeeper)
- c语言用赫夫曼编码压缩文件,用哈夫曼编码C语言实现文件压缩
- linux 命令 kps,ps命令
- Learning-based feature matching and pose estimation
- iview合并单元格
- 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.