- ///没有globdist的话先安装
- ///net install globdist, from(http://homepages.rpi.edu/~simonk/stata/)
- qui gen neighbor=.
- local obs = _N
- forvalues i = 1(1)`obs' {
- local lat_n = lat[`i']
- local lon_n = lon[`i']
- globdist dist_`i', lat0(`lat_n') lon0(`lon_n')
- qui count if dist_`i'<= 0.5
- qui replace neighbor =`r(N)'-1 if id==`i'
- drop dist_`i'
- }
- globdist ... ,worldradius(6371)
选择globdist命令是因为它可以定一个基准位置,然后一次计算基准位置与变量中其他位置的距离,用循环来构造距离矩阵数据。geodis可计算二点间的距离,多对情况下,需要手动构造出相应成对的位置再进行计算。
具体可以help globdist了解。