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