Bookmark and Share

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


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

Re: st: Re: How do I create a calendar year variable by person id before reshaping to person-year dataset?


From   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: Re: How do I create a calendar year variable by person id before reshaping to person-year dataset?
Date   Thu, 6 Feb 2014 19:30:53 +0000

Without seeing exactly the kind of data and exactly the kind of code
that produce problems, it is very hard to comment further. We are not
asking to see the whole dataset, but enough that is concrete to
understand your problem.

If you have variables -birth*- then -reshape wide birth- will
inevitably fail, but why -reshape long- will fail is unclear.

Nick
[email protected]


On 6 February 2014 18:27, Holly E Reed <[email protected]> wrote:
> Hi Ronnie,
>
> Thanks for your reply.  That is, in fact, exactly what my data look like; of course, some people do not have births, so they have missing values for birth1, birth2, etc. or if they only have one child, they have missing values for all birth variables except birth1.
>
> The dataset is so large and there are a number of variables in addition to the ones listed, such as weights, region at age 12, urban/rural at age 12, relationship to HH head, ever migrated...that's why I didn't post a sample of the actual dataset.
>
> Thanks,
> Holly
> _______________________________________________________
> From      Ronnie Babigumira <[email protected]>
> To        [email protected]
> Subject   Re: st: RE: How do I create a calendar year variable by person id before reshaping to person-year dataset?
> Date      Thu, 6 Feb 2014 09:40:12 +0100
>  Showing an example of the actual data you are trying to reshape will
> help because, following your previous posting, the solution Maarten
> shared, and this new information about birth1---10, this is what you
> would be trying to reshape.
>
>     id   age   sex   birthyear   year   birth1   birth2
>      1     5     F        1995   1995     2010     2012
>      1     5     F        1995   1996     2010     2012
>      1     5     F        1995   1997     2010     2012
>      1     5     F        1995   1998     2010     2012
>      1     5     F        1995   1999     2010     2012
>      2     3     M        1997   1997     2012     2013
>      2     3     M        1997   1998     2012     2013
>      2     3     M        1997   1999     2012     2013
>      3    10     F        1998   1998     2009     2011
>
> I doubt that your data look like this
>
> Ronnie
> ________________________________________
> From: Holly E Reed
> Sent: Wednesday, February 05, 2014 2:23 PM
> To: [email protected]
> Subject: RE: How do I create a calendar year variable by person id before reshaping to person-year dataset?
>
> Thank you for your help, Maarten.  It worked great.  But now I am receiving error messages when I try to reshape the data.  No matter how I reshape, it tells me that the data are already in that format: "Data are already wide" or "Data are already long"  I have tried to do this several times, but with no luck yet.
>
> This is my code:
>
> reshape wide birth, i(id) j(year)
>
> birth is a variable with suffix 1-10 (e.g., birth1, birth2, birth3, etc.) which is the year of a woman's first birth, second birth etc.
>
> Sometimes the error message says "variable year not found"; I thought that year was a new variable that would be created? And once it said "i=id does not uniquely identify the observations; there are multiple observations with the same value of id." But I thought that was the point!?
>
> If you can shed some light on these issues, I would appreciate it!
> Thanks, Holly
> _____________________________________
>
> by id : gen year = birthyear + _n -1
>
> also look at -help stsplit- as that command is there for creating such datasets.
>
> Hope this helps,
> Maarten
> __________________________________________
> Does the age of the person increase each year?
>
> If so, you could use:
> gen year = age+birthyear
>
> If age does not increase each year, how do you know which year an
> observation belongs to?
> For example, how do you know the records aren't sorted like this:
>
> id     age    sex    birthyear    year
> 1       5        F       1995        1999
> 1       5        F       1995        1998
> 1       5        F       1995        1997
> 1       5        F       1995        1996
> 1       5        F       1995        1995
>
>
> Mike
>
> _______________________________________
> From: Holly E Reed
> Sent: Wednesday, February 05, 2014 12:03 PM
> To: [email protected]
> Subject: How do I create a calendar year variable by person id before reshaping to person-year dataset?
>
> Hi,
>
> I am trying to create a person-year dataset for event history analysis. The dataset currently has one observation per person per year of their life, e.g.:
>
> id     age    sex    birthyear
> 1       5        F       1995
> 1       5        F       1995
> 1       5        F       1995
> 1       5        F       1995
> 1       5        F       1995
> 2       3        M      1997
> 2       3        M      1997
> 2       3        M      1997
>
> So person with id==1 is a 5-year old female born in 1995 and person with id==2 is a 3-year old male born in 1997. This is a simplified example to illustrate the dataset, as they are all adults and there are far more observations for each individual.
>
> The problem is that I have age and birthyear variables, but I want to create a calendar year variable before reshaping the data to person-year data.  What is the easiest way to do this?  In other words, I want the dataset to look like this:
>
> id     age    sex    birthyear    year
> 1       5        F       1995        1995
> 1       5        F       1995        1996
> 1       5        F       1995        1997
> 1       5        F       1995        1998
> 1       5        F       1995        1999
> 2       3        M      1997        1997
> 2       3        M      1997        1998
> 2       3        M      1997        1999

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


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index