如何在数据集中添加插值 NA 值

How to add interpolated NA values in a dataset

我有这个名为“newData”的数据框(57 行,9 列),我正在尝试用插值近似值替换 NA 值并绘制图形。我试过使用 na.approx 和 interp1 等函数,但没成功。关于如何解决这个问题的任何解决方案?

城市 SO2 二氧化氮 O3 PM10 PM2.5 二氧化碳 奔驰
2012 地拉那 6.30 23.83 55.79 35.44 19.24 0.43 3.95
2013 地拉那 不适用 27.30 51.03 32.56 16.45 不适用 不适用
2014 地拉那 15.52 35.01 32.64 54.06 不适用 0.85 2.76

你可以使用zoo::na.approx-

#Generate data
set.seed(123)
df <- data.frame(id = letters[1:10], a = rnorm(10), b = rnorm(10))
#assign random NA's
df$a[c(3, 5)] <- NA
df$b[c(1, 6, 7)] <- NA
#apply na.approx
df[-1] <- zoo::na.approx(df[-1])
df

#   id           a          b
#1   a -0.56047565         NA
#2   b -0.23017749  0.3598138
#3   c -0.07983455  0.4007715
#4   d  0.07050839  0.1106827
#5   e  0.89278669 -0.5558411
#6   f  1.71506499 -1.0260998
#7   g  0.46091621 -1.4963585
#8   h -1.26506123 -1.9666172
#9   i -0.68685285  0.7013559
#10  j -0.44566197 -0.4727914