Генерация дефлированных значений переменной - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть следующие данные:

* Example generated by -dataex-. To install: ssc install dataex
clear
input float id int year double price
1 2003 4179
1 2004 4199
1 2005 4233
2 2003 4248
2 2004 4246
2 2005 4248
3 2003 4594
3 2004 4606
3 2005 4668
end

Я хотел бы рассчитать дефлированные значения переменной price.

Как это сделать в Stata?

1 Ответ

0 голосов
/ 24 февраля 2019

У меня работает следующее:

bysort id (year): egen double last = total((year == 2005) * price)
bysort id (year): generate double wanted = price / last

list, sepby(id)

     +---------------------------------------+
     | id   year   price    last      wanted |
     |---------------------------------------|
  1. |  1   2003    4179    4233   .98724309 |
  2. |  1   2004    4199    4233   .99196787 |
  3. |  1   2005    4233    4233           1 |
     |---------------------------------------|
  4. |  2   2003    4248    4248           1 |
  5. |  2   2004    4246    4248   .99952919 |
  6. |  2   2005    4248    4248           1 |
     |---------------------------------------|
  7. |  3   2003    4594    4668   .98414739 |
  8. |  3   2004    4606    4668   .98671808 |
  9. |  3   2005    4668    4668           1 |
     +---------------------------------------+
...