楼主: FM911022
3471 6

[数据管理求助] 国家两两配对的问题 [推广有奖]

  • 5关注
  • 0粉丝

高中生

92%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
527 点
帖子
30
精华
0
在线时间
31 小时
注册时间
2014-10-14
最后登录
2017-12-28

楼主
FM911022 发表于 2016-3-30 12:05:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
因为自己是stata初学者,目前要用2002年到2014年已选择好了50个国家之间的距离,做国家配对,即分别与其他49个国家的地理距离,我已下载了cepii的数据库,但是无奈基础太差,不知道如何在stata里将这50个国家找出,并且做成50X50的矩阵数列,行对列的那种,拜托大神帮忙,有会的教教我把,万分感谢!!! 这里是全世界各国之间距离的数据,需要找出指定的50个国家,50个国家之间距离的矩阵
二维码

扫码加我 拉你入群

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

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

关键词:stata初学者 Stata tata 万分感谢 数据库 国家

沙发
FM911022 发表于 2016-3-30 12:08:16
其中距离选择distcap(贸易双方首都之间的球面距离),谢谢各位

藤椅
18700626759 发表于 2016-3-30 13:03:14 来自手机
FM911022 发表于 2016-3-30 12:08
其中距离选择distcap(贸易双方首都之间的球面距离),谢谢各位
贸易引力模型?

板凳
18700626759 发表于 2016-3-30 13:03:45 来自手机
FM911022 发表于 2016-3-30 12:05
因为自己是stata初学者,目前要用2002年到2014年已选择好了50个国家之间的距离,做国家配对,即分别与其他4 ...
做一带一路国家?

报纸
FM911022 发表于 2016-4-6 18:23:53
18700626759 发表于 2016-3-30 13:03
贸易引力模型?
不是引力模型,只是做常规的面板检验,请问您知道如何用stata配对国家对的代码吗?

地板
FM911022 发表于 2016-4-6 18:24:30
18700626759 发表于 2016-3-30 13:03
做一带一路国家?
不是一带一路的,请问您知道stata的代码吗  做国家配对

7
赵安豆 发表于 2024-11-2 16:28:42
要在Stata中处理国家两两配对的问题并构建一个距离矩阵,你可以按照以下步骤进行:

1. **加载数据**:首先确保你的数据已经以适当的格式(CSV、dta等)导入到Stata。使用`use`或`import delimited`命令来读取你的数据。

2. **选择国家列表**:如果你已经有了一份包含50个国家的列表,你可以将这个列表定义为一个宏或者直接在查询中使用。例如:

   ```stata
   local country_list "country1 country2 ... country50"
   ```

3. **构建距离矩阵**:
   
   - 假设你的数据集包含国家名称(`country_a`, `country_b`)和它们之间的距离(`distance`),你可能需要使用`collapse`命令来确保每个国家对是唯一的。
   - 使用`merge`将两个副本的数据集合并成一个大的表,其中行代表一个国家列表,列则为另一国家列表。这一步的关键是在合并过程中处理好如何填充缺失值(即当某个国家没有与之配对的记录时)。

4. **生成矩阵**:
   
   - 使用循环遍历你的`country_list`宏,并创建相应的变量来存储每个国家与其他所有国家的距离。
   ```stata
   foreach country in `country_list' {
       qui egen double distance_`country' = rmean(distance) if country_a == "`country'" | country_b == "`country'"
       qui replace distance_`country' = . if missing(distance_`country')
   }
   ```

5. **整理数据**:
   
   - 使用`reshape wide`命令将长格式的数据转换为宽格式,这样你就可以得到一个类似50x50的矩阵。
   ```stata
   reshape wide distance_*, i(country_a) j(country_b)
   ```

6. **保存结果**:最后别忘了保存你的数据集。

请注意,以上步骤中的命令可能需要根据你实际的数据结构和需求进行调整。如果你在执行过程中遇到任何问题,比如数据格式不匹配或者命令执行错误,请检查你的数据并确保所有变量名、国家名称等都正确无误,并且没有遗漏或多余的空格。

希望这能帮到你!如果还有其他疑问或需要进一步的说明,请随时提问。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-16 19:28