Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Qreg on Multiple Iterations of Data

 From Maarten Buis <[email protected]> To [email protected] Subject Re: st: Qreg on Multiple Iterations of Data Date Mon, 28 Oct 2013 09:54:30 +0100

```On Sun, Oct 27, 2013 at 10:03 PM, cerulean 74 wrote:
> I'd like to use quantile regression for 1000 iterations on 100
> observations: my data consists of values for three variables: Y, X1,
> and X0(just a column vector of 1's). Each variable has 1000 columns of
> values (each column is an iteration) and 100 rows(each row is an
> observation). The goal is to use qreg to obtain 1000 coefficients of
> X1, and 1000 coefficients of X0, output to Excel as two column vectors
> of coefficients. That is, I would like to regress each column of Y on
> the corresponding column of X and X0, a thousand times. I've tried
> both STATA and MATA: my version of STATA has a maximum matrix size of
> 800, whereas my overall dataset size is 100 by 2001, and MATA does not
> have a qreg option. Any advice/tips on how to achieve this? Thanks!

have different standards, but this is the standard used on this forum
as you could and should have read on the Statalist FAQ:
http://www.stata.com/support/faqs/resources/statalist-faq/#tojoin

Also, there are no such things as STATA or MATA. However, Stata and
Mata do exist, so I assumed you mean those programs. See the Statalist
FAQ for an explanation:
http://www.stata.com/support/faqs/resources/statalist-faq/#spell

You can ignore X0, as Stata will by default already include a
constant. You can use the -post- command to store the results, which
will have no problem with a thousand iterations.

*------------------ begin example ------------------
// create some example data
drop _all
set obs 100
forvalues i = 1/10 {
gen x`i' = rnormal()
gen y`i' = 1 + 2*x`i' + rnormal(0,.5)
}

// estimate the -qreg-s and store the results
tempname memhold
tempfile results
postfile `memhold' b1 b0 using `results'
forvalues i = 1/10 {
qreg y`i' x`i'
post `memhold' (_b[x`i']) (_b[_cons])
}
postclose `memhold'
use `results', clear
list
*------------------- end example -------------------
* (For more on examples I sent to the Statalist see:
* http://www.maartenbuis.nl/example_faq )

However I will presume your thousand iterations are the results of a
simulation. In that case it is more efficient to do this differently:

*------------------ begin example ------------------
clear all

program define sim
drop _all
set obs 100
gen x = rnormal()
gen y = 1 + 2*x + rnormal(0,.5)
qreg y x
end

simulate _b, reps(10) : sim
list
*------------------- end example -------------------
* (For more on examples I sent to the Statalist see:
* http://www.maartenbuis.nl/example_faq )

Hope this helps,
Maarten

---------------------------------
Maarten L. Buis
WZB
Reichpietschufer 50
10785 Berlin
Germany

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