*==============================================================================*
*===========================第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文件,记得把数据考到当前目录或带上路径,否则可能无法打开相关推荐

  1. 计量经济学及Stata应用 第二章 Stata入门

    第二章 Stata入门 2.3 Stata操作实例 打开数据文件 use file_path,clear (clear用于清空内存中的数据) 审视数据 观看数据集中的变量名.标签等 describe ...

  2. linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作

    文档均来自网络,如有侵权请联系我删除文档 第二章 Linux 文件操作(4学时) 实验一文件属性和无缓冲I/O 实验目的 1.熟悉Linux文件系统属性控制 2.掌握不带缓存的文件I/O程序设计方法 ...

  3. 工程数据计算机处理的方法有,第二章 CADCAM技术基础-工程数据的计算机处理2011.ppt...

    文档介绍: CAD/CAM技术基础 CAD/CAM Technology Base 主讲人:XXX E-mail:XXX 第二章 工程数据的计算机处理 Computer Processing of E ...

  4. 中国大学MOOC胡浩基的机器学习第二章(支持向量机)兵王问题python版本——在python上初步使用libsvm

    在中国大学MOOC上看了胡浩基的机器学习课程,完全面向入门人群感觉挺好.其中有关原理的部分讲的很细.(虽然有几个细节我还是没懂.......)其中在第二章的例题兵王问题中课程只给了MATLAB的版本. ...

  5. Linux基础第二章:文件压缩归档及文本编辑

    一.文件压缩及归档 1.文件压缩 gzip和bzip命令用于文件压缩,但是缺陷是压缩完成后源文件消失所以一般不用. 命令格式是:gzip或者bzip  + 0-9的压缩等级(数字越大压缩级别越大)   ...

  6. 《傻瓜计量经济学与stata应用》第七章do文件

    *==============================================================================* *================== ...

  7. 慕课面板数据分析与Stata应用—第二章-长面板估计方法总结

    一.长面板只需使用固定效应,不用考虑其他的. 若 扰动项存在:组间异方差.组内自相关.组间同期相关(截面相关),则选择估计方法1以及估计方法2进行处理 1. LSDV:估计最稳健 2.FGLL 3.F ...

  8. 《傻瓜计量经济学与Stata应用》课程笔记

    encode a,generate (b):解码字符型变量,使可接summarize summarize a b if c == 10 [,detail]:summarize的限定与强化 do-fil ...

  9. Android 第二章 本地文件的读写

    读写的第一种方式: 使用最初始的IO方式读写到应用包目录下面 package com.example.login;import java.io.BufferedReader; import java. ...

最新文章

  1. CodeIgniter2.0中sqlserver驱动返回受影响行数问题解决
  2. LELE的RPG难题
  3. 菜鸟要做架构师——java性能优化之for循环
  4. python标准库os_Python基础--人们一些最爱的标准库(sys os fileinput)
  5. 指纹图谱相似度评价软件_不同产地佛手指纹图谱及模式识别研究
  6. nginx详解反向代理,负载均衡,LNMP架构上线动态网站
  7. Linux运维基础知识——开发人员可以掌握的常识
  8. 软件项目uat测试报告,项目管理-验证阶段-UAT测试报告.doc
  9. 中国Blog现状和发展初探
  10. 【调研】DRL优化网络通信领域顶会及期刊
  11. Lagrange Multiplier Theorem——候选人定理
  12. 《学习笔记》面向对象(四)多态,instanceof关键字,抽象
  13. 弘辽科技:如何书写淘宝直通车创意标题才能带来更多的流量?
  14. 如何保证数据在传输过程中的安全
  15. 挂载zookeeper到文件系统 (mount zookeeper)
  16. c语言用赫夫曼编码压缩文件,用哈夫曼编码C语言实现文件压缩
  17. linux 命令 kps,ps命令
  18. Learning-based feature matching and pose estimation
  19. iview合并单元格
  20. 下列不是python对文件的读操作方法_以下选项不是Python文件读操作的是.

热门文章

  1. java 取消引用_java编译时所说的“无法取消引用”是什么意思
  2. 嵌入式linux 更新源,openwrt如何修改为国内软件源
  3. 关于“差生”的深度讨论
  4. 区块链开发者观点:《Learn EOS》的作者 Christoph Michel
  5. AD转换及单片机通信
  6. uniapp中使用lodop打印控件实现app广域、局域网打印功能,亲测可用
  7. 八种常见排序算法细讲
  8. Unity自定义材质自发光烘焙设置工具
  9. 层次电路原理图的设计
  10. 高防服务器好,还是游戏盾好?