[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
"Martin Weiss" <martin.weiss1@gmx.de> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating |

Date |
Sat, 13 Jun 2009 18:55:17 +0200 |

<>

********** clear* input byte(i y x z n) 1 5 8 3 1 1 9 10 5 2 1 8 12 6 3 1 6 9 4 4 2 5 7 2 1 2 9 13 4 2 2 8 8 7 3 2 6 8 6 4 2 8 8 7 5 2 8 8 7 6 3 5 7 2 1 3 9 11 7 2 3 8 11 5 3 end capt prog drop sim /* Define the program */ prog sim vers 10.1 preserve gen random=runiform() sort i random by i: gen byte group=/* */cond(_n<=_N/2,1,2) drop random collapse (mean) y x z, /* */by(i group) /* get replacement as requested by John */ by i: replace y = y[1] by i: drop if _n==1 reg y x z restore end /* simulate */ simulate, reps(20)/* */ seed (123) : sim /* get t statistics and p values */ foreach v in x z { gen t_`v' = /* */_b_`v'/_se_`v' gen p_`v' =/* */ 2*(1-normal(abs(t_`v'))) } ********** HTH Martin _______________________

To: <statalist@hsphsun2.harvard.edu> Sent: Saturday, June 13, 2009 6:24 PM

Hi Martin:Thanks for the reply and the code! You are so helpful with everyone andalways seem to be able to find an elegant solution! As an aside, what is anice resource to learn how to program nicely in Stata?I made a mistake in the 3), which you noticed.So, this was 2)--(I am only putting one space after each entry so that theformatting doesn't get too messed up):i g y x z 1 1 6.5 10 4.5 1 2 7.5 9.5 4.5 2 1 7.3 9.3 4.3 2 2 7.3 8 6.7 3 1 5 7 2 3 2 8.5 11 6Now for 3), I want to put the data in such as way as to be able to regressthe y of the first observation in each cluster on the x and z of thesecond observation in each clusteri y x z 1 6.5 9.5 4.5 2 7.3 8 6.7 3 5 11 6 Thank you very much for your help. Best, J. ____________________________________________________ Prof. John Antonakis Associate Dean Faculty of Business and Economics University of Lausanne Internef #618 CH-1015 Lausanne-Dorigny Switzerland Tel ++41 (0)21 692-3438 Fax ++41 (0)21 692-3305 Faculty page: http://www.hec.unil.ch/people/jantonakis&cl=en Personal page: http://www.hec.unil.ch/jantonakis ____________________________________________________ On 13.06.2009 18:06, Martin Weiss wrote:<>Here is the code for 1) and 2). I do not understand the intent in number3: If you really do want the first obs on y in each cluster, why doesyour example say "7.5" then? Should it not be 6.5?********** clear* input i y x z n 1 5 8 3 1 1 9 10 5 2 1 8 12 6 3 1 6 9 4 4 2 5 7 2 1 2 9 13 4 2 2 8 8 7 3 2 6 8 6 4 2 8 8 7 5 2 8 8 7 6 3 5 7 2 1 3 9 11 7 2 3 8 11 5 3 end compress list, noobs /* get groups */ gen random=runiform() sort i random by i: gen byte group=/* */cond(_n<=_N/2,1,2) l, noo sepby(i) drop random collapse (mean) y x z, /* */by(i group) l, noo sepby(i) ********** HTH Martin _______________________----- Original Message ----- From: "John Antonakis"<john.antonakis@unil.ch>To: <statalist@hsphsun2.harvard.edu> Sent: Saturday, June 13, 2009 3:19 PMSubject: st: Randomly selecting variables in panel, collapsing, andsimulatingHi:I want to do something that is quite straightforward, but don't yet havethe programming skills to do this, so I would appreciate some help.Basically, I want to select randomly within clusters, then collapse,then estimate a regression model that I would like to simulate. I wouldlike to define it as an e-class program so that I can easily incorporatea simulation in there.I have the following data structure (I have added a line in-betweenclusters to facilitate viewing):i y x z n 1 5 8 3 1 1 9 10 5 2 1 8 12 6 3 1 6 9 4 4 2 5 7 2 1 2 9 13 4 2 2 8 8 7 3 2 6 8 6 4 2 8 8 7 5 2 8 8 7 6 3 5 7 2 1 3 9 11 7 2 3 8 11 5 3Where y is the dependent variable, and x and z are covariates (note, Ihave more covariates, so I would like to use something general thatworks even with more covariates), "i" is the panel identifier and "n" isnumber of observations in each cluster. Note that each cluster does nothave the same number of observationsI would like to do the following:1) by cluster (i.e., within in each cluster), randomly split theobservations into two groups, with an equal amount of observations (ifnumber of observations are even); if the number of observations are odd,then one of the group will have 1 more observation than the other. Thus,I would now have this:i y x z n g 1 8 12 6 3 1 1 5 8 3 1 1 1 6 9 4 4 2 1 9 10 5 2 2 2 9 13 4 2 1 2 5 7 2 1 1 2 8 8 7 3 1 2 8 8 7 5 2 2 6 8 6 4 2 2 8 8 7 6 2 3 5 7 2 1 1 3 8 11 5 3 2 3 9 11 7 2 2 2) collapse observations at the group level for each cluster to get: i g y x z 1 1 6.5 10 4.5 1 2 7.5 9.5 4.5 2 1 7.3 9.3 4.3 2 2 7.3 8 6.7 3 1 5 7 2 3 2 8.5 11 63) then I want to the data as below, so that I can regress the y of thefirst observation in each cluster to the x and z of the secondobservation in each clusteri y x z 1 7.5 9.5 4.5 2 7.3 8 6.7 3 8.5 11 2 4) once I have this I want to simulate it, using something like this: capture program drop sim version 10.1 program define sim, eclass [here is the code I would like to insert to make points 1-4 above run] simulate _b _se, reps(20) seed (123) : sim, foreach v in x z { gen t_`v' = _b_`v'/_se_`v' gen p_`v' = 2*(1-normal(abs(t_`v'))) Thank you. John. -- ____________________________________________________ Prof. John Antonakis Associate Dean Faculty of Business and Economics University of Lausanne Internef #618 CH-1015 Lausanne-Dorigny Switzerland Tel ++41 (0)21 692-3438 Fax ++41 (0)21 692-3305 Faculty page: http://www.hec.unil.ch/people/jantonakis&cl=en Personal page: http://www.hec.unil.ch/jantonakis ____________________________________________________ * * 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/* * 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/

**Follow-Ups**:**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating***From:*"Martin Weiss" <martin.weiss1@gmx.de>

**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating***From:*John Antonakis <john.antonakis@unil.ch>

**References**:**st: Randomly selecting variables in panel, collapsing, and simulating***From:*John Antonakis <john.antonakis@unil.ch>

**st: Re: Randomly selecting variables in panel, collapsing, and simulating***From:*"Martin Weiss" <martin.weiss1@gmx.de>

**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating***From:*John Antonakis <john.antonakis@unil.ch>

- Prev by Date:
**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating** - Next by Date:
**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating** - Previous by thread:
**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating** - Next by thread:
**Re: st: Re: Randomly selecting variables in panel, collapsing, and simulating** - Index(es):

© Copyright 1996–2015 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |