【升级ric2matrix.ado】纠正当reportname 和partnername 无交集元素时,替代程序4的错误。
【调用格式】ric2matrix reportname partnername industryname value
其中:reportname=汇报国名称(string)
partnername=伙伴国名称(string)
industryname=行业名称(string)
value=值(num)
【NBER working papers】 百度网盘下载
链接:https://pan.baidu.com/s/17tgSzVmwMBbxY87KnwRMlw
提取码:eriz
篇名、作者、时间见文后。
/*ric2matrix = Reshape industry and countries to matrix format将进口国-出口国-行业数据,转换为规定格式矩阵,即进口国*行业作为行,出口国作为列的矩阵。# *************************作者信息*******************************# # Edward C.Stone *# # Meitan,Guizhou,China *# # March.29,2022,updated April 2022.14,2022 *# # [email protected] *# # [email protected] *******************************************************************将现有数据转换为规定格式的矩阵,结果格式为:【格式一】 【格式二】indus import export values 出口1 出口2 出口3...行业1 进口1 出口1 ## 行业1 进口1 ## ## ##行业1 进口2 出口1 ## 行业1 进口2 ## ## ##行业1 进口3 出口1 ## |------→\ 行业1 进口3 ## ## ##行业1 进口1 出口2 ## |------→/ ... ... ... ... ...行业1 进口2 出口2 ## 行业2 进口1 ## ## ##行业1 进口3 出口2 ## 行业2 进口2 ## ## ##行业1 进口1 出口3 ## 行业2 进口3 ## ## ##行业1 进口2 出口3 ##行业1 进口3 出口3 ##【调用格式】ric2matrix reportname partnername industryname value其中reportname=汇报国名称(string),partnername=伙伴国名称(string),industryname=行业名称(string),value=值(num)*///0.定义命令ric2matrixcapture program drop ric2matrixprogram define ric2matrixversion 16.0args report partner industry valuegen partner_name=""gen partner_type=.gen industry2=""gen country=""label var partner_name "伙伴名称"label var partner_type "伙伴编码"duplicates report `report'local n_re=r(unique_value)duplicates report `partner'local n_pa=r(unique_value)duplicates report `industry'local n_ind=r(unique_value)levelsof `report',local (rep)levelsof `partner',local (pat)levelsof `industry',local (ind)//1.伙伴国编码辅助说明local px=1foreach p of local pat{replace partner_name="`p'" in `px'replace partner_type=`px' in `px'local px=`px'+1}//2.重构格式,使用行均值替代缺失值local pp=1foreach p of local pat{gen partner_`pp'=.local ii=1foreach i of local ind{local jj=1foreach j of local rep{qui{local r=`n_re'*(`ii'-1)+`jj'sum `value' if `industry'=="`i'" & `report'=="`j'"local n=r(mean)sum `value' if `industry'=="`i'" & `report'=="`j'" & `partner'=="`p'"local m=r(mean)replace partner_`pp'=`m' in `r'//下边一行是将缺失值替换为平均值replace partner_`pp'=`n' if partner_`pp'==.replace country="`j'" in `r'replace industry2="`i'" in `r'}dis "`p'" " - " "`i'" " : " `pp' "-" `jj' "-" `ii'local jj=`jj'+1}local ii=`ii'+1}local pp=`pp'+1}//3.去除不必要变量keep country industry2 partner_*drop if country==""//4.去除对角线元素,当汇报国=伙伴国时,值为空。注意第89行含义。//tips:如果汇报国集合和伙伴国集合没有交集元素时,可能会提示错误。local rr=`n_ind'*`n_re'//第91行是调试后的纠正。local nn=`n_ind'-1forvalues i=1/`nn'{local jj=1foreach j of local rep{foreach p of local pat{qui sum partner_type if partner_name=="`j'"local py=r(mean)if `py'!=.{local r=`n_re'*(`i'-1)+`jj'if "`j'"=="`p'" {replace partner_`py'=. in `r'}}}local jj=`jj'+1}}end
故乡的春天
火漩·春山新绿
上坝·远处的印子山


 
									