搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  globdist示例.dta
资料下载链接地址: https://bbs.pinggu.org/a-3003733.html
附件大小:

如图,前四列是已知变量,第一列城市ID,第二列纬度,第三列经度,第四列哑变量(Y),求第五列wanted。
问题:10个城市中,只要与哑变量为“1”城市的距离小于10km,那么wanted=1,否则wanted=0
我知道stata有一个命令globdist可以计算两个 坐标 的距离,
并且,levelsof array, local(var) sep(|) clean,可以生成一个类似于(var1|var2|var3|var4|var5|var6|var7|)的数组(array)
疑难1:首先想到做一个循环,可不知道如何在循环里,让stata把Y=1的城市单挑出来。
疑难2:我是将近100万条数据,大约十几万条城市Y=1,globdist会把计算出来的距离生产一个新变量,我循环中,stata放不下100多万个变量。疑难3:如何能返回是具体与哪个城市距离小于10km?
高手有没有直接的命令?非常感谢!



数据dta见附件,我也用dataex输出了(不知道为什么到带着格式,所以附件也加了dta)。

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input byte cityid double(lat lon) int(Y wanted)
  4. 1 32.52 86.66 1 .
  5. 2 30.7687.7 1 .
  6. 3 31.8885.4 0 .
  7. 4 33.04 87.15 0 .
  8. 5 34.01 86.63 0 .
  9. 6 32.0885.7 0 .
  10. 7 31.74 86.68 0 .
  11. 8 33.76 85.84 1 .
  12. 9 32.92 85.36 0 .
  13. 10 34.23 85.62 0 .
  14. end
复制代码










    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

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

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

GMT+8, 2026-1-20 08:47