楼主: yonglil
1417 3

[编程问题求助] 提问:stata数据变形,拆分 [推广有奖]

  • 1关注
  • 0粉丝

高中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
43 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
221 点
帖子
13
精华
0
在线时间
46 小时
注册时间
2017-9-29
最后登录
2021-12-7

楼主
yonglil 发表于 2019-8-7 18:01:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

stata小白望支招以下数据转换! [跪]

id   startend
primary_countryName1 country2 Name2 country3 Name3 Target
1 20022005 PRKNorth Korea US    United States of America UKUnited Kingdom Thailand
2 2001 2004 USUnited States of America CHN China PRK North Korea Japan


id1的转换如下, id2同
主要目的是把一个observation里面country-pair之间的有无target和targeted的关系找出来以便之后生成dummy variable
idstart end country name target
1 2002 2005 PRK North Korea Thailand
12002 2005 USUnited States of America Thailand
12002 2005 UK United Kingdom Thailand


想用reshape做,但是感觉不太对,转出来结果很妙
望好心人帮助!谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:STATA数据 Stata tata observation Thailand

沙发
蓝色 发表于 2019-8-7 18:46:31
学习这个链接,下载dataex命令,用dataex命令提取你的前2行数据,贴到网上,这样便于其他人,直接用数据尝试
https://bbs.pinggu.org/thread-5048204-1-1.html
reshape命令是没有错误的

藤椅
yonglil 发表于 2019-8-8 02:28:23
蓝色 发表于 2019-8-7 18:46
学习这个链接,下载dataex命令,用dataex命令提取你的前2行数据,贴到网上,这样便于其他人,直接用数据尝试 ...
啊多谢,学习了!

以下是我的1/3数据格式
clear
input long caseid str101 startyear int(endyear primarysender) str3 primarysender_abb int sender1 str3 sender1_abb int sender2 str3 sender2_abb int targetstate str3 targetstate_abb
1945121601 "1946" 1947   2 "USA"   2 "USA"   . ""    710 "CHN"
1946020801 "1946" 1949 365 "RUS" 365 "RUS"   . ""    305 "AUS"
1946031101 "1946" 1993 750 "IND" 750 "IND" 770 "PAK" 560 "SAF"
end

没有想出reshape要怎么写,希望帮忙看一下
大体上就是要把他变形为帖子刚开始的形式。
除此之外数据有一个bug【primarysender可能不是sender1、sender2两者之间的一个,它可能没有值(“.”)或者是一个其他的国家或机构组织】,也就是说reshape或许不能直接用,因为这样一来就不是对所有的observation直接reshape,对primarysender和sender1或2相同的observation就可以不用管primarysender的取值。
举例说明即为:
id  startend
primary_countryName1country2Name2country3Name3Target
120022005PRKNorth KoreaPRK    North KoreaUKUnited KingdomThailand
220012004USUnited States of AmericaCHNChinaPRKNorth KoreaJapan

id1希望变形为
idstartendcountrynametarget
120022005PRKNorth KoreaThailand
120022005UKUnited KingdomThailand


目前我是通过if condition还有forloop做了好多行出了想要的结果,感觉十分没有效率。希望各位stata友人赐教,不胜感谢!

板凳
蓝色 发表于 2019-8-8 07:24:58
你还是把你的数据从新整理,再用dataex上传吧
你现在上传的数据和你例子数据都对应不上,
没有人会有时间在给你专门处理数据


  1. rename primary_country country1
  2. reshape long country name,i(id) j(group)
复制代码

  1. . rename primary_country country1

  2. . reshape long country name,i(id) j(group)
  3. (note: j = 1 2 3)

  4. Data                               wide   ->   long
  5. -----------------------------------------------------------------------------
  6. Number of obs.                        2   ->       6
  7. Number of variables                  10   ->       7
  8. j variable (3 values)                     ->   group
  9. xij variables:
  10.              country1 country2 country3   ->   country
  11.                       name1 name2 name3   ->   name
  12. -----------------------------------------------------------------------------

  13. . list

  14.      +---------------------------------------------------------------------------+
  15.      | id   group   start    end   country                       name     target |
  16.      |---------------------------------------------------------------------------|
  17.   1. |  1       1    2002   2005       PRK                North Korea   Thailand |
  18.   2. |  1       2    2002   2005       PRK                North Korea   Thailand |
  19.   3. |  1       3    2002   2005        UK             United Kingdom   Thailand |
  20.   4. |  2       1    2001   2004        US   United States of America      Japan |
  21.   5. |  2       2    2001   2004       CHN                      China      Japan |
  22.      |---------------------------------------------------------------------------|
  23.   6. |  2       3    2001   2004       PRK                North Korea      Japan |
  24.      +---------------------------------------------------------------------------+
复制代码


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

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

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