Advertisement

221102|STATA研究老龄化和GDP增长间的关系

阅读量:

作业,代码参考于同专业同学

文件编码处理措施用于预防导入过程中可能出现的字符混乱问题。在操作流程中,在涉及新 csv 文件的操作步骤前需运行带$符号的指令;如果遇到必须进行编码的情况,则需按照以下步骤进行处理;无需额外处理即可直接加载数据。

复制代码
 cd C:\Users\Lenoo\Desktop\11_1

    
  
    
 unicode analyze *.csv
    
  
    
 unicode encoding set gbk  
    
  
    
 unicode translate *.csv

其中,Unicode是国际标准化的编码,GBK是包含汉字的编码

// ** 地区数据处理与作图做表

复制代码
 import delimited using C:\Users\Lenoo\Desktop\11_1\population.csv,delim(",") rowrange(4:35) varnames(4) clear  //导入以逗号分割的csv文件,指定导入第4行到第35行 选取第四行作为变量名

    
  
    
 drop 年 var3  //删除空缺数据
    
  
    
 replace var13 = (var12+var14)/2 if var13 == .   //缺失值插补
    
  
    
 local k = 22
    
  
    
 forvalues i=4(1)21{
    
  
    
 rename v`i' v`k'
    
  
    
 local k = `k'+1
    
   15. }  //变量重命名
    
   17. save population,replace  //总人口数据

以上,import delimited可以自定义分隔符,以及源文本的行列范围。

复制代码
 import delimited using C:\Users\Lenoo\Desktop\11_1\grey_population.csv,delim(",") varnames(1) clear  //导入数据

    
  
    
 drop 年 v3 
    
  
    
 replace v13 = (v12+v14)/2 if v13 == . //填补缺失值
    
  
    
 save grey_population,replace   //老龄人口数据

//老龄人口数据合并

复制代码
 use grey_population,replace

    
  
    
 merge 1:1 地区 using population
    
  
    
 drop _merge

//计算按地区的老龄占比

复制代码
 local d = 2019

    
  
    
 local e = 4
    
  
    
 forvalues i = 22(1)39{
    
  
    
 gen rt`d' = v`e'/v`i'   //计算老龄人口比率
    
   9. local d = `d'-1
    
  
    
 local e = `e'+ 1
    
   13. }
    
   15. drop v* //删除所有以v打头的变量
    
   17. save ratgrey_population,replace //将数据集保存为老年人口比率
    
   19. reshape long rt,i(地区)j(year)
    
   21. save rt,replace //将老年人口比率保存为长形数据

//导入GDP数据,重复上述操作

复制代码
 unicode analyze *.csv

    
  
    
 unicode encoding set gbk
    
  
    
 unicode translate *.csv
    
  
    
 import delimited using C:\Users\Lenoo\Desktop\11_1\gdp.csv,delim(",") rowrange(4:35) varnames(4) clear
    
  
    
 drop 年 v3
    
  
    
 save gdp,replace

//导入GDP指数数据,重复以上操作

复制代码
 import delimited using C:\Users\Lenoo\Desktop\11_1\gdpindex.csv,delim(",") rowrange(4:35) varnames(4) clear

    
  
    
 drop 年 v3
    
  
    
 //将数据转换成指数,去除百分号
    
  
    
 forvalues i =21(-1)4{
    
  
    
 replace v`i'=v`i'/100
    
  
    
 }

待更新

全部评论 (0)

还没有任何评论哟~