Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

Re: st: Fill in values for year in an unbalanced panel with known order


From   Fernando Luco <flucoestatalist@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Fill in values for year in an unbalanced panel with known order
Date   Tue, 23 Oct 2012 11:25:39 -0500

Thanks Nick, it worked perfectly. I didn't think about using the
'missing()' option.

Fernando

On Tue, Oct 23, 2012 at 11:19 AM, Nick Cox <njcoxstata@gmail.com> wrote:
> This is a variation on a standard problem, on which see
>
> FAQ     . . . . . . . . . . . . . . . . . . . . . . . Replacing missing values
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
>         1/12    How can I replace missing values with previous or
>                 following nonmissing values or within sequences?
>                 http://www.stata.com/support/faqs/data-management/
>                 replacing-missing-values/
>
> I suggest
>
> sort id, stable
> by id: replace year = cond(month == 1, year[_n-1] + 1, year[_n-1]) if
> missing(year)
>
> Nick
>
> On Tue, Oct 23, 2012 at 5:07 PM, Fernando Luco
> <flucoestatalist@gmail.com> wrote:
>
>> I'm trying to fill in the year of observations for which I know the
>> month and because of the order, I have no doubt about the year.
>> However, the year was not recorded. In particular, the data looks as
>> follows
>>
>> id year month
>> 1 1988 5
>> 1 . 6
>> 1 . 7
>> 1 . 8
>> 1 . 9
>> 1 . 10
>> 1 . 11
>> 1 . 12
>> 1 . 1
>> 1 1989 2
>> 1 1989 3
>> 1 . 4
>> 2 . 3
>> 2 1989 4
>> 2 1989 5
>> 2 . 6
>> 2 . 7
>> 2 . 8
>> 2 1989 9
>> 2 . 10
>> 2 . 11
>> 2 . 12
>> 2 . 1
>> 2 1990 2
>> 2 . 3
>>
>> So, it is an unbalanced panel, that for each id might start and end at
>> a different year month combination, and I know that the order of the
>> observations within id is correct, so I'm sure that the first
>> observation for id==2 is of 1989 while the second observation that has
>> id==2 and month==3 (the last observation in the example) corresponds
>> to 1990. The main complication is that for some people I might have a
>> gap of more than one year between observations, which has made things
>> difficult. I would like to use the structure of the data to fill in
>> the data for year.
> *
> *   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/
*
*   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index