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

From |
John Antonakis <john.antonakis@unil.ch> |

To |
statalist@hsphsun2.harvard.edu |

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

Date |
Sat, 13 Jun 2009 18:54:50 +0200 |

Thanks mate. I am ordering Kit's book right now!

". simulate _b _se, reps(20) seed (123) : split, variable i not found an error occurred when simulate executed split" This is the program I am running : set seed 123456 capture program drop split version 10.1 program define split, eclass drop _all /* get groups... random so better set seed to facilitate discussion */ 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 end simulate _b _se, reps(20) seed (123) : split, foreach v in tf il cr mba mbp { gen t_`v' = _b_`v'/_se_`v' gen p_`v' = 2*(1-normal(abs(t_`v'))) } Thanks, 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:38, Martin Weiss wrote:

<> Thanks for the flowers of course!For the programming issue- which I take to mean more than justprogramming, but the ability to judiciously combine differentinstruments in Stata to achieve certain data transformation goals- Irecommend the whole range of Stata press publications to yourattention (http://www.stata-press.com/books/), in particular Kit`shttp://www.stata-press.com/books/isp.htmlHere is the code up to 3), then... ********** 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... random so better set seed to facilitate discussion */ set seed 1001 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 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 6:24 PMSubject: Re: st: Re: Randomly selecting variables in panel,collapsing, and simulatingHi Martin:Thanks for the reply and the code! You are so helpful with everyoneand always seem to be able to find an elegant solution! As an aside,what is a nice 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 sothat the formatting 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 toregress the y of the first observation in each cluster on the x and zof the second 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 innumber 3: If you really do want the first obs on y in each cluster,why does your 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 yethave the programming skills to do this, so I would appreciate somehelp. Basically, I want to select randomly within clusters, thencollapse, then estimate a regression model that I would like tosimulate. I would like to define it as an e-class program so thatI can easily incorporate a 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, I have more covariates, so I would like to use somethinggeneral that works even with more covariates), "i" is the panelidentifier and "n" is number of observations in each cluster. Notethat each cluster does not have 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(if number of observations are even); if the number of observationsare odd, then one of the group will have 1 more observation thanthe 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 ofthe first 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/

**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>

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

- 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–2014 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |