楼主: 均卫许靠由
2016 6

[数据管理求助] 如何将各省的指数转换成以某年为基期 [推广有奖]

  • 3关注
  • 1粉丝

等待验证会员

讲师

7%

还不是VIP/贵宾

-

威望
0
论坛币
853 个
通用积分
0.0985
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1778 点
帖子
88
精华
0
在线时间
718 小时
注册时间
2016-12-24
最后登录
2024-4-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现在我有各省份10-16年的价格指数,每一年均以上一年为基期,我该如何将各省的指数转换成以2010年为基期?因为2010年不是100,我是不是要先将各指数除以2010年的值,然后再转换?请问该怎样实现?

* Example generated by -dataex-. To install: ssc install dataex
clear
input int year long id float index
2010 110000  102.5
2011 110000 105.66
2012 110000  101.3
2013 110000  99.89
2014 110000  99.98
2015 110000  97.58
2016 110000  99.66
2010 120000 102.57
2011 120000  105.7
2012 120000  99.95
2013 120000  99.48
2014 120000  100.5
2015 120000  99.89
2016 120000  99.37
2010 130000  103.7
2011 130000  105.5
2012 130000 100.28
2013 130000  99.93
2014 130000  100.2
2015 130000  97.97
2016 130000  99.41
end




二维码

扫码加我 拉你入群

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

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

关键词:generated generate install example Stall

沙发
均卫许靠由 发表于 2019-12-19 22:08:39 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year long id float index
  4. 2010 110000  102.5
  5. 2011 110000 105.66
  6. 2012 110000  101.3
  7. 2013 110000  99.89
  8. 2014 110000  99.98
  9. 2015 110000  97.58
  10. 2016 110000  99.66
  11. 2010 120000 102.57
  12. 2011 120000  105.7
  13. 2012 120000  99.95
  14. 2013 120000  99.48
  15. 2014 120000  100.5
  16. 2015 120000  99.89
  17. 2016 120000  99.37
  18. 2010 130000  103.7
  19. 2011 130000  105.5
  20. 2012 130000 100.28
  21. 2013 130000  99.93
  22. 2014 130000  100.2
  23. 2015 130000  97.97
  24. 2016 130000  99.41
  25. end
复制代码

使用道具

藤椅
黃河泉 在职认证  发表于 2019-12-20 14:50:11 |只看作者 |坛友微信交流群
均卫许靠由 发表于 2019-12-19 22:08
"每一年均以上一年为基期"是什么意思?相关公式为?

使用道具

板凳
均卫许靠由 发表于 2019-12-20 16:23:38 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-12-20 14:50
"每一年均以上一年为基期"是什么意思?相关公式为?
老师, 我的意思是样本期内的价格指数都是以上一年为基期的价格指数(上年=100)

使用道具

报纸
黃河泉 在职认证  发表于 2019-12-20 17:17:56 |只看作者 |坛友微信交流群
均卫许靠由 发表于 2019-12-20 16:23
老师, 我的意思是样本期内的价格指数都是以上一年为基期的价格指数(上年=100)
试试
  1. replace index = index/100
  2. bys id: gen tem1 = sum(ln(index))
  3. gen tem2 = exp(tem1)
  4. bys id: gen tem3 = index[1]
  5. gen wanted = 100*(tem2/tem3)
复制代码

使用道具

地板
均卫许靠由 发表于 2019-12-21 08:48:02 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-12-20 17:17
试试
可以了老师,非常感谢您的指点

使用道具

7
赵安豆 发表于 2024-5-14 14:34:58 |只看作者 |坛友微信交流群
是的,你的想法是对的。要将各省的价格指数转换为以2010年为基期,你需要先计算出2010年的指数值,然后将所有其他年份的指数除以这个基准值。以下是在Stata中实现这个操作的步骤:

1. 首先,找出每个省份2010年的价格指数(假设变量名为`index`)。
2. 计算2010年各省份的基期指数(记为`base_index`),即所有省份的2010年指数取平均值。
3. 将所有年份的指数除以这个基期指数,得到新的以2010年为基期的价格指数。

以下是一个示例Stata代码:

```stata
* 计算每个省份2010年的指数
bysort id: egen base_index = mean(index) if year == 2010

* 将所有年份的指数转换为以2010年为基期
foreach y in 2010/2016 {
    replace index = index / base_index if year == `y'
}

* 清理,删除基期指数变量
drop base_index
```

这段代码会将所有省份的指数转换成以2010年为基期的新值。注意,这里假设所有省份在2010年的价格水平是相似的,如果实际情况有较大差异,可能需要针对每个省份分别计算基期指数。

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



使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-22 21:10