Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Storing values of a multivariate regression

    Hi Statalist!

    I have a panel data set with multiple variables (X1, X2, ...). I am trying to run a multivariate regression for each country separately and store the coefficients in a single table. So far this is what I have:

    tempname output
    postfile `output' ID X1 X2 X3 X4 using output.dta,replace
    levelsof ID, local(C)
    foreach i of local C{
    qui regress Y X1 X2 X3 X4 if id==`i'
    post `output' (`i') (`=_b[X1]') (`=_b[X2]') (`=_b[X3]') (`=_b[X4]')
    }

    postclose `output'

    My problem is that the "ID" variable has a long format and I am getting numbers in the output file, instead of actual country names. I do have a variable "country" that has a string format, but I just don't know how to transfer it to this new output file.

    Any help would be much appreciated.

  • #2
    So it's just a small modification of the code you already have:

    Code:
    tempname output
    postfile `output' str64 country X1 X2 X3 X4 using output.dta,replace
    levelsof country, local(C)
    foreach i of local C{
    qui regress Y X1 X2 X3 X4 if country == `"`i'"'
    post `output' (`"`i'"') (`=_b[X1]') (`=_b[X2]') (`=_b[X3]') (`=_b[X4]')
    }
    postclose `output'
    Changes shown in bold face. I allocated 64 characters for the country names. That may be more than needed, or perhaps not enough. Adjust accordingly.

    Comment


    • #3
      Thank you Clyde! This solves my problem.

      Comment

      Working...
      X