# Re: st: Computing GDP growth using a log-linear regression

 From D Harwood To statalist@hsphsun2.harvard.edu Subject Re: st: Computing GDP growth using a log-linear regression Date Mon, 21 Jul 2008 16:05:56 +0100

No you're right I want the annual growth rates not the trend. Have I been going about this totally the wrong way? What would be the best way to compute the annual growth rates?

Thanks,

Dave

Quoting Austin Nichols <austinnichols@gmail.com>:

```D Harwood <bus4dpah@leeds.ac.uk>:

Take the double quotes off =="`var'" is the short answer--you can't
compare a number to a quoted string.
But are you sure you want the avg change computed over all years (i.e.
the trend, not the annual GDP growth rates)?
And there is no need to generate yearcounter that I can see...

On Mon, Jul 21, 2008 at 10:41 AM, D Harwood <bus4dpah@leeds.ac.uk> wrote:
```
```Dear All,

I was wondering if anyone knew how to compute GDP growth rates by country. I
have panel data arranged as follows:

Country             Year            GDP (\$ 2000)
Benin               1997            1947193088
Benin               1998            2035610240
Benin               1999            2131227520
Benin               2000            2254838784
Benin               2001            2367580672
Benin               2002            2474121728
Benin               2003            2570612480
Benin               2004            2650301440
Benin               2005            2727160320
.
.
.

And so on for a number of countries. Arranged by country code and by year.

I found an example in the archives of how to calculate the growth rates
(http://www.stata.com/statalist/archive/2006-05/msg00529.html) and yet when
I try to do the same I get an error message 'Type mismatch', no matter which
variable type I enter. I typed the following into the command box and came
out with the output shown.

. egen minyearbycountry = min(year), by(code)
r; t=0.00 15:30:23

. gen yearcounter = year-minyearbycountry
r; t=0.01 15:30:31

. gen g = .
(288 missing values generated)
r; t=0.00 15:30:39

. levelsof code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
29 30 31 32
r; t=0.01 15:30:48

. foreach var in `r(levels)' {
2. reg lnGDP yearcounter if code =="`var'"
3. replace g = _b[yearcounter] if code =="`var'"
4. }
type mismatch
r(109); t=26.93 15:31:23

I would be grateful if anyone could point out where I have gone wrong?

Regards,

Dave
```
```*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

```
```

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```