全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3044 1
2015-02-28
如题,下面将看不懂的程序贴出来,求大神相助!

*Program to create a weighting matrix
capture program drop wmatrix_new
program define wmatrix_new
version 9.2
syntax varname using/ , weight(name) save(string) [inverse(integer 0)]
global p "H:\Research\ZF规模与抵押\cityshp"
preserve
tempvar row_w
gen codei=`1'
gen codej=`1'
fillin codei codej
sort codei codej
merge codej codei using "`using'", nok
keep codei codej `weight'
if `inverse'==1 replace `weight'=1/`weight'
replace `weight'=0 if codei==codej|`weight'==.
*Row-normalization
bysort codei: egen `row_w'=total(`weight')
replace `weight'=cond(`row_w'==0, 0, `weight'/`row_w')
keep codei codej `weight'
sort codei codej
reshape wide `weight', i(codei) j(codej)
sort codei
drop codei
mata: matrixsave("`save'")
end

wmatrix_new code using "$p\dist.dta", weight(dist) save(“$p\W”) inverse(1)


红色标注的地方为看不懂的程序,很多情况不知道“\”代表什么意思,为什么要打双引号之类......

其中,code为城市编码,dist.dta里含有codei codej dist(刻画两个城市的距离) province四个变量;运行到这一步之前,stata原来导入的数据原本为包含因变量自变量城市编码的数据,对数据依次做了如下处理:将截面数据面板化,保留2004年的截面数据。用这个处理过的数据来与dist.dta文件合并处理,来计算空间权重矩阵。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-2-28 20:30:55
已解决部分
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群