楼主: liuchangwhdx
3318 5

[编程问题求助] 文本型条件筛选赋值 [推广有奖]

  • 1关注
  • 0粉丝

已卖:1份资源

本科生

24%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1036 点
帖子
28
精华
0
在线时间
97 小时
注册时间
2016-9-27
最后登录
2020-7-26

楼主
liuchangwhdx 发表于 2018-1-29 16:54:33 |AI写论文
2论坛币
各位大神,我的问题就是,首先,要在相同的event ID下,如果short name变量下的两家公司一样,则新设立一个变量取为1,否则为0.在stata中该如何写程序。具体来说,原始数据是,但是通过这个程序,即满足event id一样的情况下,要输出成为,通过什么程序可以实现呢?已经找到好久了,谢谢啊。因为数据有几万条,不可能一个个去手工看。金币不多,不好意思。

最佳答案

沙发
黃河泉 在职认证  发表于 2018-1-29 16:54:34
liuchangwhdx 发表于 2018-1-30 15:06
各位大神,我的问题就是,首先,要在相同的event ID下,如果short name变量下的两家公司一样,则新设立一个 ...
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double EventID str16 ShortName
  4. 200000021000 "新宙邦"   
  5. 200000021000 "江海股份"
  6. 200000021286 "新宙邦"   
  7. 200000021286 "江海股份"
  8. 200000021302 "紫金矿业"
  9. 200000021302 "紫金矿业"
  10. 200000022281 "吉视传媒"
  11. 200000022281 "吉视传媒"
  12. 200000023363 "冀东水泥"
  13. 200000023363 "秦岭水泥"
  14. 200000023561 "中国石化"
  15. 200000023561 "中国石化"
  16. 200000024221 "友阿股份"
  17. 200000024221 "湘邮科技"
  18. 200000024707 "保利地产"
  19. 200000024707 "保利地产"
  20. 200000025085 "方正电机"
  21. 200000025085 "万向钱潮"
  22. 200000025376 "金山股份"
  23. 200000025376 "华电能源"
  24. 200000026279 "银广夏"   
  25. 200000026279 "华电国际"
  26. 200000026283 "康力电梯"
  27. 200000026283 "紫光股份"
  28. 200000026461 "金隅股份"
  29. end

  30. format EventID %14.0f
  31. duplicates tag EventID ShortName, gen(tag)
复制代码

藤椅
黃河泉 在职认证  发表于 2018-1-29 17:32:10
1. 我真的很钦佩能看得懂这样问题的人 (if any, but I doubt)。2. 建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

板凳
liuchangwhdx 发表于 2018-1-30 14:53:05
不好意思,文件没传上去。马上

报纸
liuchangwhdx 发表于 2018-1-30 15:06:49
各位大神,我的问题就是,首先,要在相同的event ID下,如果short name变量下的两家公司一样,则新设立一个变量(假设为变量a)取为1,否则为0.在stata中该如何写程序。具体来说,原始数据是clear
input double EventID str8 ShortName
200000021000 "新宙邦"  
200000021000 "江海股份"
200000021286 "新宙邦"  
200000021286 "江海股份"
200000021302 "紫金矿业"
200000021302 "紫金矿业"
200000022281 "吉视传媒"
200000022281 "吉视传媒"
200000023363 "冀东水泥"
200000023363 "秦岭水泥"
200000023561 "中国石化"
200000023561 "中国石化"
200000024221 "友阿股份"
200000024221 "湘邮科技"
200000024707 "保利地产"
200000024707 "保利地产"
200000025085 "方正电机"
200000025085 "万向钱潮"
200000025376 "金山股份"
200000025376 "华电能源"
200000026279 "银广夏"  
200000026279 "华电国际"
200000026283 "康力电梯"
200000026283 "紫光股份"
200000026461 "金隅股份"
end
但是通过这个程序,即满足在每个event id一样的情况下,要输出成为
clear
input double EventID str8 ShortName byte a
200000021000 "新宙邦"   0
200000021000 "江海股份" 0
200000021286 "新宙邦"   0
200000021286 "江海股份" 0
200000021302 "紫金矿业" 1
200000021302 "紫金矿业" 1
200000022281 "吉视传媒" 1
200000022281 "吉视传媒" 1
200000023363 "冀东水泥" 0
200000023363 "秦岭水泥" 0
200000023561 "中国石化" 1
200000023561 "中国石化" 1
200000024221 "友阿股份" 0
200000024221 "湘邮科技" 0
200000024707 "保利地产" 1
200000024707 "保利地产" 1
200000025085 "方正电机" 0
200000025085 "万向钱潮" 0
200000025376 "金山股份" 0
200000025376 "华电能源" 0
200000026279 "银广夏"   0
200000026279 "华电国际" 0
200000026283 "康力电梯" 0
200000026283 "紫光股份" 0
end
通过什么程序可以实现呢?已经找到好久了,谢谢啊。因为数据有几万条,不可能一个个去手工看。金币不多,不好意思。
老师批评的是,不知道这样说清楚了吗?希望老师继续指教!谢谢。

地板
liuchangwhdx 发表于 2018-2-9 13:09:07
黃河泉 发表于 2018-1-31 18:42
试试
谢谢,基本上可以,不过如果出现三个一样的tag会变成2,但是这个好解决,谢谢啦。

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

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