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]

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/

**Follow-Ups**:**Re: st: Fill in values for year in an unbalanced panel with known order***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: Fill in values for year in an unbalanced panel with known order***From:*Fernando Luco <flucoestatalist@gmail.com>

**Re: st: Fill in values for year in an unbalanced panel with known order***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**Re: st: Fill in values for year in an unbalanced panel with known order** - Next by Date:
**Re: st: Fill in values for year in an unbalanced panel with known order** - Previous by thread:
**Re: st: Fill in values for year in an unbalanced panel with known order** - Next by thread:
**Re: st: Fill in values for year in an unbalanced panel with known order** - Index(es):