Sabastian & Kristin,
Sabastian, the code appears to be doing what I need it to do. Thank you for
the help. Kristin's comment is close to what I need but your comment below
is right on point.
Thanks to you both.
Carter
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Sebastian F.
B�chte
Sent: Thursday, April 19, 2007 12:57 PM
To: [email protected]
Subject: Re: st: Appropriate use of -forvalues- and -foreach- commands
Kristin,
interesting idea but I do not think that it will work. Let say a 100
subjects work in building in ten. Let also say subject no 7 is the
subject one of interest and he/she also works in building ten. Now,
five co-workers are chosen and three of them do also work in building
ten. Then Carter would be interested in the mean of x for those three
co-workers. Your approach, Kristin, will give the mean of all subjects
working in building ten and not the mean of the co-workers enumerated
in that list of max. five subjects in the same building.
Regards
Sebastian
On 4/19/07, Kristin J. Kleinjans <[email protected]> wrote:
> Hi Sebastian and Carter,
> wouldn't
> by bld: egen mean_x=mean(x)
> do the same thing, or am I confused here?
> Of course, it would include the x for the worker in question in the mean,
> which might not be what you want or need.
>
> Regards,
> Kristin J. Kleinjans
>
>
>
> > Carter,
> >
> > I do not think you need the -forvalues- or -foreach- command here. What
> > you are asking for can also be achieved with the following:
> >
> > //inputting example data
> > clear
> > input id bld bld1 bld2 bld3 bld4 bld5 x1 x2 x3 x4 x5
> > 1 10 11 10 10 10 11 6 7 2 4 2
> > 2 11 11 11 13 13 11 6 8 4 7 0
> > 3 12 12 12 12 12 12 6 1 2 4 3
> > 4 13 13 10 10 10 14 10 5 10 9 5
> > 5 14 15 14 . . . 3 10 5 1 3
> > 6 15 15 . . . . 2 6 5 2 7
> > end
> >
> > // rename bld to bld_id
> > ren bld bld_id
> >
> > // reshape the data to long structure
> > reshape long bld x, i(id) j(cow_no 1 2 3 4 5)
> >
> > // determine the mean value of x for those coworkers within the same //
> > building - will not record anything if bld_id id missing (.)
> > bys id: egen bld_mean_x = mean(x) if bld == bld_id & bld_id != .
> >
> > // make sure that values is entered in any observation belonging to //
> > an id
> > bys id (bld_mean_x): replace bld_mean_x = bld_mean_x[1]
> >
> > // reshape the data back to wide
> > reshape wide bld x, i(id) j(cow_no)
> >
> > The mean value for x for co-workers from the same building can now be
> > found in the variable bld_mean_x.
> >
> > Regards
> > Sebastian
> >
> >
> > On 4/19/07, Carter Rees <[email protected]> wrote:
> >> Statalist,
> >>
> >> I have the variables id (person id), bld (person's building code),
> >> bld1-bld5 (building codes for 5 nominated co-workers). I also have
> >> various co-worker characteristics in my file. For illustration, let
> >> x1-x5 be one of the characteristics listed for each co-worker. The
> >> data are constructed as:
> >>
> >> id bld bld1 bld2 bld3 bld4 bld5 x1 x2
> >> x3 x4 x5
> >> 1 10 11 10 10 10 11 6 7
> >> 2 4 2
> >> 2 11 11 11 13 13 11 6 8
> >> 4 7 0
> >> 3 12 12 12 12 12 12 6 1
> >> 2 4 3
> >> 4 13 13 10 10 10 14 10 5
> >> 10 9 5
> >> 5 14 15 14 3 10
> >> 5 1 3
> >> 6 15 15 2 6
> >> 5 2 7
> >>
> >> For each person id, I would like to construct a variable that is the
> >> mean value of only those co-workers who are in the same building. For
> >> example, the first case would only include co-workers in building 10
> >> which would result in an average of (7+2+4)/3 = 4.33. -forvalues-
> >> and/or -foreach- seems appropriate here but I can't seem to get it
> >> quite right.
> >>
> >> Many thanks,
> >>
> >> Carter
> >>
> >> *
> >> * For searches and help try:
> >> * http://www.stata.com/support/faqs/res/findit.html
> >> * http://www.stata.com/support/statalist/faq
> >> * http://www.ats.ucla.edu/stat/stata/
> >>
> > *
> > * For searches and help try:
> > * http://www.stata.com/support/faqs/res/findit.html
> > * http://www.stata.com/support/statalist/faq
> > * http://www.ats.ucla.edu/stat/stata/
>
>
>
> *
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/