悬赏 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