Формула роста с постоянным базовым годом - PullRequest
1 голос
/ 02 мая 2019

У меня есть две переменные year, а также price, и я хочу вычислить рост предыдущей переменной. Тем не менее, базовый год является постоянным в каждом расчете.

Рассмотрим следующую таблицу:

+------+-------+--------+
| year | price | growth |
+------+-------+--------+
| 2010 | 7     | -0.3   |
+------+-------+--------+
| 2011 | 9     | -0.1   |
+------+-------+--------+
| 2012 | 10    | 0      |
+------+-------+--------+
| 2013 | 12    | 0.2    |
+------+-------+--------+
| 2014 | 13    | 0.3    |
+------+-------+--------+
| 2015 | 17    | 0.7    |
+------+-------+--------+

Формула роста:

(price of second year - price of first year) / price of first year 

В моей формуле первый год всегда равен 2012:

growth = (price - price (for year=2012) ) / price (for year=2012)

Как мне сгенерировать эту формулу в Stata?

1 Ответ

3 голосов
/ 02 мая 2019

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

clear

input year price growth
2010 7  -0.3   
2011 9  -0.1   
2012 10  0      
2013 12  0.2    
2014 13  0.3    
2015 17  0.7    
end

generate wanted = (price - price[3]) / price[3]

или

generate obs = _n 
summarize obs if year == 2012, meanonly 
generate wanted = (price - price[`=obs[r(min)]']) / price[`=obs[r(min)]']

Результаты:

list, separator(0)

     +--------------------------------+
     | year   price   growth   wanted |
     |--------------------------------|
  1. | 2010       7      -.3      -.3 |
  2. | 2011       9      -.1      -.1 |
  3. | 2012      10        0        0 |
  4. | 2013      12       .2       .2 |
  5. | 2014      13       .3       .3 |
  6. | 2015      17       .7       .7 |
     +--------------------------------+
...