Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: Re: Filling missing values. with averages


From   "Scott Merryman" <[email protected]>
To   <[email protected]>
Subject   st: Re: Filling missing values. with averages
Date   Mon, 12 May 2003 18:39:54 -0500

----- Original Message -----
From: "Moon Joong" <[email protected]>
To: <[email protected]>
Sent: Monday, May 12, 2003 5:35 PM
Subject: st: Filling missing values. with averages


> Dear Stata Lovers,
>
> I'm trying to find a smart way to fill missing values with averages
between
> nearest values. The data looks like the following:
>
> id   year   rates
> 1   1960  .35
> 1   1961   missing
> 1   1962  .45
> 1   1963  .47
> 1   1964   missing
> 1   1965  .46
> 2   1945  .2
> 2   1946   missing
> 2   1947  .35
> 2   1948   missing
> 3   1949   missing
> 3   1950   .56
> .....
>
> What I want to do is, take the example of id 1 of year 1961 (which is
> missing), to fill the average value between .35 and .45 (that is
> (.35+.45)/2) into the missinge observation of year 1961. Since I have a
lot
> of observations to fill in, using brute force by hands takes forever and
> would be inaccurate. I think it's very straightfoward, which I don't know
> since I'm a beginner.
>
> Thanks in advance.
>
> MoonJoong

One possibility, if the gaps in each panel do not span more than one year,
would be use the moving average filter with one lag and one forward term.
See -tssmooth_ma-

tsset id year
tssmooth ma rates2 = rates , w(1 0 1)
replace rates = rates2 if rates == .
drop rates2

Hope this helps,
Scott


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