- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 44 个
- 通用积分
- 1.0034
- 学术水平
- 0 点
- 热心指数
- 0 点
- 信用等级
- 0 点
- 经验
- 749 点
- 帖子
- 38
- 精华
- 0
- 在线时间
- 150 小时
- 注册时间
- 2015-3-24
- 最后登录
- 2020-7-11
|
liu980303562 发表于 2018-7-3 17:15
QQ980303562,企业名录有,求分享工业企业数据,匹配方法有些头绪 最近有人问我关于名录的处理,这里给出自己写的一个小程序,希望有用,另外,有工业企业数据库的,求分享。 - cd D:\stata14\ado\mydata
- import excel "D:\stata14\ado\mydata\List_of_overseas.xlsx", ///
- sheet("sheet1") firstrow clear
- compress
- foreach x of varlist * { //首行做标签
- local vlabel = `x'[1]
- label var `x' "`vlabel'"
- }
- drop in 1
- split date,parse(/) destring ignore("/")
- drop date2 date1
- drop if missing(date3)
- egen date4=min(date3),by(name)
- duplicates drop name, force
- merge m:m name
-
- save List_of_overseas.dta,replace
- use List_of_overseas.dta,clear
- gen v1982=0
- forvalues i=1983/2015{ //处理成面板
- gen date`i'=`i'-date3
- gen F_firm_num`i' = cond(date`i'>0, 1, 0, .)
- egen value`i'=total(F_firm_num`i'),by(name)
- egen v`i'=max(value`i'),by(name)
- drop date`i'
- drop F_firm_num`i'
- drop value`i'
- }
- sort name
- duplicates drop name, force //删去相同的公司名称
- encode name,gen(id)
- sum id
- replace name = subinstr(name, "?", "", .)
- replace name = subinstr(name, ",", "", .)
- replace name = subinstr(name, "i", "", .)
- replace name = subinstr(name, " ", "", .)
- replace name = subinstr(name, "1", "", .)
- replace name = subinstr(name, "。", "", .)
-
-
- drop date3
- save overseas_firm.dta,replace
- reshape long v ,i(name)j(year)
- xtset id year
- bys id:gen num=v-L.v
- drop if num==.
- label var year "年份"
- label var num "子公司数目"
- keep name year num
- sort name year num
- save overseas_list.dta,replace
- /*export excel name year num using ///
- "D:\stata14\ado\mydata\境外投资企业名录面板.xlsx", ///
- firstrow(varlabels)*/
复制代码
|
|