楼主: 小星星眼
1743 4

[数据管理求助] 想要把一个变量用stata拓展一下,按年份分地区进行处理~ [推广有奖]

  • 10关注
  • 0粉丝

本科生

71%

还不是VIP/贵宾

-

威望
0
论坛币
486 个
通用积分
1.2168
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1401 点
帖子
21
精华
0
在线时间
202 小时
注册时间
2017-9-12
最后登录
2025-11-12

楼主
小星星眼 发表于 2021-10-21 21:56:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
这是我的数据,第一列为时间,第二列为地区,第三列是一个变量。想按照时间对当期的变量按照地区分别做差然后取其绝对值作为一个新的变量(新变量的数值是第一个地区的值依次减去各个地区的值得结果,数据组别较多希望能够用循环命令处理)
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input int year long province byte Var1
  5. 2001 1 3
  6. 2001 2 4
  7. 2001 3 5
  8. 2002 1 4
  9. 2002 2 5
  10. 2002 3 8
  11. end
  12. label values province province
  13. label def province 1 "北京", modify
  14. label def province 2 "天津", modify
  15. label def province 3 "河北", modify
复制代码

[/code]希望得到最后的数据结构如下:
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input int year long province byte(Var1 Var2)
  5. 2001 1 3 0
  6. 2001 1 3 1
  7. 2001 1 3 2
  8. 2001 2 4 1
  9. 2001 2 4 0
  10. 2001 2 4 1
  11. 2001 3 5 2
  12. 2001 3 5 1
  13. 2001 3 5 0
  14. 2002 1 4 0
  15. 2002 1 4 1
  16. 2002 1 4 4
  17. 2002 2 5 1
  18. 2002 2 5 0
  19. 2002 2 5 3
  20. 2002 3 8 4
  21. 2002 3 8 3
  22. 2002 3 8 0
  23. end
  24. label values province province
  25. label def province 1 "北京", modify
  26. label def province 2 "天津", modify
  27. label def province 3 "河北", modify
复制代码

------------------ copy up to and including the previous line ------------------

[/code]

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 分地区 generated including

沙发
黃河泉 在职认证  发表于 2021-10-22 09:54:18
请试试
  1. expand 3
  2. sort year province
复制代码
但不知你的 Var2 是如何来的?

藤椅
小星星眼 发表于 2021-10-22 15:07:50
黃河泉 发表于 2021-10-22 09:54
请试试但不知你的 Var2 是如何来的?
谢谢黄老师回复,我的变量Var2是根据变量1得到的,用变量1的每个地区的值分别依次减去该年份所有地区的值,比如前三位是|3-3|=0、|3-4|=1、|3-5|=2;|4-3|=1、|4-4|=0、|4-5|=1~~

板凳
黃河泉 在职认证  发表于 2021-10-23 06:13:52
小星星眼 发表于 2021-10-22 15:07
谢谢黄老师回复,我的变量Var2是根据变量1得到的,用变量1的每个地区的值分别依次减去该年份所有地区的值 ...
感谢 Andrew Musau 之建议,请试试
  1. preserve
  2. rename (province Var1) (province2 Var2)
  3. tempfile file2
  4. save `file2'
  5. restore
  6. joinby year using `file2'
  7. gen wanted= abs(Var1-Var2)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

报纸
小星星眼 发表于 2021-10-23 15:05:03
黃河泉 发表于 2021-10-23 06:13
感谢 Andrew Musau 之建议,请试试
谢谢黄老师,问题已经解决了,万分感谢!!!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-4 12:30