|
这是我根据老师给的方法做的,可以参考一下
labone,n(1) //批量添加标签
drop in 1/2 //删除第一第二行
rename stkcd id //重命名证券代码为id
gen year=substr(reptdt,1,4),a(id) //从统计截止日期中提取年份
gen month=real(substr(reptdt,6,2)),a(year) //从会计期间中提取月份
keep if month==12
keep if s0701a=="1" //根据年报公布得出实际控制人
keep id year s0702b //保留id year 实际控制人性质
****是否包含"1100、2000、2100、2120"
gen a1=strpos(s0702b,"1100") //如果s0702b中包含有1100,a1等于1100第一次出现的位置,否则a1为0
gen a2=strpos(s0702b,"2000") //如果s0702b中包含有2000,a2等于2000第一次出现的位置,否则a2为0
gen a3=strpos(s0702b,"2100") //如果s0702b中包含有2100,a3等于2100第一次出现的位置,否则a3为0
gen a4=strpos(s0702b,"2120") //如果s0702b中包含有2120,a4等于2120第一次出现的位置,否则a4为0
**如果s0702b中包含1100或2000或2100或2120,国有产权性质SOE=1, 否则为0
gen SOE=(a1>0) | (a2>0) | (a3>0) | (a4>0)
keep id year SOE //保留id year SOE
bys id year: egen a=total(SOE) //部分公司一年有多个值
drop SOE
gen SOE=0
replace SOE=1 if a>0 //如果有一个为国有,则为国有
keep id year SOE
duplicates drop //删除重复值
label var SOE "国有产权性质" //给SOE添加标签为国有产权性质
save 产权性质.dta,replace
|