2017-05-21 1 views
0

내가 가장 가까운 값의 평균으로 누락 된 값을 입력하고 싶습니다 관찰했다. 나는 이전에 접근 방식을 사용했다. described by Nick Cox 그러나 이번에는 약간 더 복잡한 설정이 있는데,이 설정을 실행하는 표준 방식이 효과가 없다고 생각한다. 샘플 보듯 가장 가까운 평균으로 missing으로 채우기는

, 누락 된 데이터의 청크는 동일한 길이의 여부 단셀 아니다. 관찰 된 가장 가까운 값의 평균을 채우기 위해, 나는 내가 두 단계 솔루션을 필요가 있다고 생각 : (1) 두 개의 가장 가까운 값 확인 - 전 하나 (후 하나를 두 중 하나가 바로이없는 경우 평균 대신에 2 단계에서 관찰 된 값을 사용) (2) 평균을 계산하고 누락 된 부분을이 평균값으로 채 웁니다. 데이터는 매년 국가별로 중첩되어 있습니다. 나는 알바니아 최초의 국가에 대한 가치를 게시합니다.

나는 여러 변수에 대한이 작업을 수행 할 필요가, 그래서 아마도 루프 솔루션은 최선을 작동합니다. 그러나 그것은 단지 하나의 측면입니다. 루프없이 답변을 게시하는 것을 주저하지 마십시오.

country_name year gini 
Albania 1990  
Albania 1991  
Albania 1992  
Albania 1993  
Albania 1994  
Albania 1995  
Albania 1996 28 
Albania 1997  
Albania 1998  
Albania 1999  
Albania 2000  
Albania 2001  
Albania 2002 31.74 
Albania 2003  
Albania 2004  
Albania 2005 30.6 
Albania 2006  
Albania 2007  
Albania 2008 29.98 
Albania 2009  
Albania 2010  
Albania 2011  
Albania 2012 28.96 
Albania 2013  
Albania 2014  
Albania 2015  
Albania 2016  

고맙습니다!

+0

여러 가지 보간 방법은 이미 구현되어있다. 너 자신을 발명 할 필요가 없다. http://www.statalist.org/forums/forum/general-stata-discussion/general/1308786-mipolate-now-available-from-ssc-new-program-for-interpolation –

+0

완벽한, 감사합니다! 나는'mipolate' 명령을 인식하지 못했습니다. – eborbath

+0

스레드를 더욱 유용하게 만든 작업 예제를 추가했습니다. –

답변

1

여기에는 mipolate이 설치된 것으로 가정 한 예제가 ssc inst mipolate입니다. pchip 방법은 종종 실제로 잘 작동합니다. 그럼에도 불구하고 이러한 데이터에 대해서는 선형 보간을 사용하려고합니다.

clear 
input str7 country_name year gini 
Albania 1990 . 
Albania 1991 . 
Albania 1992 . 
Albania 1993 . 
Albania 1994 . 
Albania 1995 . 
Albania 1996 28 
Albania 1997 . 
Albania 1998 . 
Albania 1999 . 
Albania 2000 . 
Albania 2001 . 
Albania 2002 31.74 
Albania 2003 . 
Albania 2004 . 
Albania 2005 30.6 
Albania 2006 . 
Albania 2007 . 
Albania 2008 29.98 
Albania 2009 . 
Albania 2010 . 
Albania 2011 . 
Albania 2012 28.96 
Albania 2013 . 
Albania 2014 . 
Albania 2015 . 
Albania 2016 . 
end 

mipolate gini year, gen(linear) epolate by(country) 
mipolate gini year, gen(pchip) pchip by(country) 

line linear pchip year || scatter gini year, ms(Oh)