阅读权限 255 威望 0 级论坛币 859 个 通用积分 46.8830 学术水平 0 点 热心指数 0 点 信用等级 0 点 经验 1184 点 帖子 76 精华 0 在线时间 465 小时 注册时间 2007-7-22 最后登录 2024-4-3
博士生
还不是VIP /贵宾
威望 0 级论坛币 859 个 通用积分 46.8830 学术水平 0 点 热心指数 0 点 信用等级 0 点 经验 1184 点 帖子 76 精华 0 在线时间 465 小时 注册时间 2007-7-22 最后登录 2024-4-3
开心
2021-1-12 19:09:20
签到天数: 7 天
连续签到: 2 天
[LV.3]偶尔看看II
50 论坛币
用Brandt的代码处理工业企业数据,因变量名不同,所以我把他代码中的id 改为code,代码如下,请大家帮我看看为什么会提示“variable code2008 not found”
local i = 2008
while `i' < 2013{
local j=`i'+1
use m`i'.10.dta, clear
bysort code`i': keep if _N>1
save duplicates_CODE`i'.dta, replace
use m`i'.10.dta, clear
bysort code`i': drop if _N>1
rename code`i' code
keep ind`i' newp`i' newc`i' id_in_source`i' regcode`i' telephone`i' firm_name`i' profit`i' total_profit`i' revenue`i' sbjct`i' Busns`i' Stupyea`i' Pdcvlue`i' Selvlu`i' Cptast `i' Stcptl`i' Hatcpt`i' Zip`i'
sort code
save match`i'.1.dta, replace
use m`j'.10.dta, clear
bysort code`j': keep if _N>1
save duplicates_CODE`j'.dta, replace
use m`j'.10.dta, clear
bysort code`j': drop if _N>1
rename code`j' code
keep code`i' ind`i' newp`i' newc`i' id_in_source`i' regcode`i' telephone`i' firm_name`i' registration`i' ///
profit`i' total_profit`i' revenue`i' sbjct`i' Busns`i' Stupyea`i' Pdcvlue`i'Selvlu`i' Cptast`i' ///
Cptastv`i' Stcptl`i' Ctcptl`i' Pscpt`i' Hatcpt`i' Frcptl`i' Zip`i'
sort code
save match`j'.1.dta, replace
use match`i'.1.dta, clear
merge code using match`j'.1.dta
keep if _merge==3
gen code`i'=code
rename code `j' code
drop _merge
gen match_method_`i'_`j'="CODE"
gen match_status_`i'_`j'="3"
save matched_by_CODE`i'_`j'.dta, replace