Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Help with recoding after reshape long


From   "Austin Nichols" <[email protected]>
To   [email protected]
Subject   Re: st: Help with recoding after reshape long
Date   Thu, 13 Dec 2007 11:41:13 -0500

clear
input id hhid ref_1 ref_2 newhhid
      1  2    2     3     1
      1  1    2     3     2
      1  3    2     3     3
      2  1    1     2     1
      2  3    1     2     2
      2  2    1     2     3
      3  1    2     1     1
      3  2    2     1     2
      3  3    2     1     3
end
la var id "HH id"
la var hhid "Old within-HH person id"
la var newhhid "New within-HH person id"
fillin id hhid
bys id (hhid): gen newref1=newhhid[ref_1]
by id: gen newref2=newhhid[ref_2]
drop if _fillin
drop _fillin
li, noo clean

On Dec 13, 2007 11:00 AM, N. Schenk <[email protected]> wrote:
> Hello to all,
>
> After hours of trying to figure it out myself, I am desperate for help. I
> have a wide dataset that has a household grid, where all people in a
> certain household are in variables *_1 to *_20, so there can be max 20
> members in the household. I want to resort this grid according to type of
> household member and then according to age. I do this by reshaping the
> grid to long format, so far so good. But, there are certain variables
> outside of the grid that refer back to the grid, such as a variable
> indicating whether a certain household member has taken care of the
> respondent's children. These variables can have max 5 options and have the
> household number 1 to 20 denoting the 1 to 20th person in the household
> grid. So if ref_1 would be 5 and ref_2 would be 3, meaning that the fifth
> and third person in the household grid have taken care of the child.
> Because I have resorted the household, these reference  numbers aren't
> correct anymore when I'm reshaping back to wide, at variable *_4 there is
> a different person than there was originally - given that sorting changed
> the order of my grid.
> Hence, I want to update these reference variables with the new id's that
> the household member will receive when reshaping back to wide. I have the
> new id numbers in my data and know what the old ones were. This means that
> I have the following datastructure:
>
> id      hhid    ref_1   ref_2   newhhid
> 1       2       2       3       1
> 1       1       2       3       2
> 1       3       2       3       3
> 2       1       1       2       1
> 2       3       1       2       2
> 2       2       1       2       3
> 3       1       2       1       1
> 3       2       2       1       2
> 3       3       2       1       3
>
> I want to update the ref_1 variable with the newid value where oldhhid ==
> ref_1, and ref_2 with newid where oldhhid==ref_2. So for respondent 1,
> ref_1 would take the new value 1, and ref_2 value 3. For respondent 2,
> ref_1 would take on value 1 and ref_2 value 3.
> Although I have succeeded in updating the refvar variables on the lines
> where ref_1==oldhhid, this doesn't imply though that the entire ref_1
> variable is updated. For the first respondent only ref_1[1], and ref_2[3]
> are updated. How can I make sure that the entire variable is updated, so
> that when I reshape back to wide, these values are constant over
> idnumresp?
>
> Hopefully I've made myself clear enough.
>
> Thanks so much for any help.
>
> Niels Schenk
>
*
*   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/



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