楼主: 红岸一号
837 3

[编程问题求助] 当有多个企业时如何确定每个企业相对前一年产品种类的增加数量与产品种类的剔除数量? [推广有奖]

  • 0关注
  • 1粉丝

已卖:106份资源

硕士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
621 个
通用积分
3.2176
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
215 点
帖子
12
精华
0
在线时间
252 小时
注册时间
2020-1-21
最后登录
2025-2-4

楼主
红岸一号 学生认证  发表于 2023-5-22 11:16:35 |AI写论文
100论坛币
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte(id year) str1 x
1 2011 "a"
1 2011 "b"
1 2012 "a"
1 2012 "d"
1 2013 "a"
1 2013 "d"
1 2013 "c"
2 2011 "c"
2 2011 "d"
2 2012 "c"
2 2012 "a"
2 2013 "c"
2 2013 "b"
end
id 表示企业而x表示产品,如1号企业在2011年生产了 a b两种产品,2012年生产了a d两种产品,2013年生产了a d c三种产品
当有多个企业时如何确定每个企业相对前一年产品种类的增加数量与产品种类的剔除数量?

最佳答案

黃河泉 查看完整内容

这是你要的结果吗 (Nick Cox 建议的?
关键词:generated generate install example Stall 产品类型 stata代码

沙发
黃河泉 在职认证  发表于 2023-5-22 11:16:36
这是你要的结果吗 (Nick Cox 建议的?
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input id year str1 x
  4. 1 2011 "a"
  5. 1 2011 "b"
  6. 1 2012 "a"
  7. 1 2012 "d"
  8. 1 2013 "a"
  9. 1 2013 "d"
  10. 1 2013 "c"
  11. 2 2011 "c"
  12. 2 2011 "d"
  13. 2 2012 "c"
  14. 2 2012 "a"
  15. 2 2013 "c"
  16. 2 2013 "b"
  17. end

  18. bysort id x (year) : gen first = year[1]
  19. by id x: gen last = year[_N]

  20. sort id year x

  21. bysort id year : egen new = total(year == first)
  22. by id year : egen retiring = total(year == last)

  23. by id : gen retired = retiring[_n-1] if year > year[_n-1]
  24. by id year : replace retired = retired[1]

  25. list, sepby(id year)

  26.      +---------------------------------------------------------+
  27.      | id   year   x   first   last   new   retiring   retired |
  28.      |---------------------------------------------------------|
  29.   1. |  1   2011   a    2011   2013     2          1         . |
  30.   2. |  1   2011   b    2011   2011     2          1         . |
  31.      |---------------------------------------------------------|
  32.   3. |  1   2012   a    2011   2013     1          0         1 |
  33.   4. |  1   2012   d    2012   2013     1          0         1 |
  34.      |---------------------------------------------------------|
  35.   5. |  1   2013   a    2011   2013     1          3         0 |
  36.   6. |  1   2013   c    2013   2013     1          3         0 |
  37.   7. |  1   2013   d    2012   2013     1          3         0 |
  38.      |---------------------------------------------------------|
  39.   8. |  2   2011   c    2011   2013     2          1         . |
  40.   9. |  2   2011   d    2011   2011     2          1         . |
  41.      |---------------------------------------------------------|
  42. 10. |  2   2012   a    2012   2012     1          1         1 |
  43. 11. |  2   2012   c    2011   2013     1          1         1 |
  44.      |---------------------------------------------------------|
  45. 12. |  2   2013   b    2013   2013     1          2         1 |
  46. 13. |  2   2013   c    2011   2013     1          2         1 |
  47.      +---------------------------------------------------------+
复制代码

藤椅
nieqiang110 学生认证  发表于 2023-5-25 08:30:01
先构建一个新变量,滞后一期或者提前一期,然后与原来的变量相减,产量增减就解决了。River老师已经给出了解答。

板凳
红岸一号 学生认证  发表于 2023-10-8 09:37:29
黃河泉 发表于 2023-5-22 11:16
这是你要的结果吗 (Nick Cox 建议的?
已经解决啦,谢谢您

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

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