通过插值替换NA

时间:2019-08-14 19:04:30

标签: r interpolation

我的面板不平衡,结构如下:

   Cntry  Year  Gini 
   AU     1980  NA
   AU     1981  NA
   AU     ...   NA
   AU     1985  0.409
   AU     1986  0.406
   AU     1989  0.41
   AU     ....
   AU     2001  0.45
   AU     2002  NA
   AU     2003  NA 

其他国家也表现出类似的模式。由于基尼将成为我的因变量定义的一部分,因此我想对NA进行插值,这样我就可以在多年来对控件有观察的情况下获得基尼信息。

我首先尝试使用Zoo包和na.spline函数进行插值:

range_completed$gini_priY=na.spline(range_completed$gini_priY)

但是,它以这种方式替换了Gini变量中的所有值(例如1985年的0.409)。

我该如何解决? 谢谢!

2 个答案:

答案 0 :(得分:0)

您可以像这样引入中间变量供您估算:

Dynamic Framework

答案 1 :(得分:0)

我认为您需要的是is_na函数

range_completed[is.na(gini_priY), gini_priY :=gini_priY_estimate]

识别不适用案例或使用内置函数na_interpolation