【发布时间】:2020-11-07 01:16:35
【问题描述】:
我有一个缺少需要插值的值的面板。
a <- data.frame(id= c(1,1,1,1,1,1,1,2,2,2,2,2,2,2), year=1:7, index=c(1,NA,NA,NA,3,NA,NA, 2,NA,NA,NA,5,NA,NA))
问题是我没有最终值,所以我想使用相同的插值线来预测高于最后一次观察报告的值。此外,插值应该是“按 id”,而不是将下一个 id 的第一次观察视为行的一部分。
我已经尝试了基本的插值,但它确实停止在最新的值上,或者使用下一个 id 进行预测:
a <- na.approx(a)
我得到的输出:
id year index
[1,] 1 1 1.000000
[2,] 1 2 1.500000
[3,] 1 3 2.000000
[4,] 1 4 2.500000
[5,] 1 5 3.000000
[6,] 1 6 2.666667
[7,] 1 7 2.333333
[8,] 2 1 2.000000
[9,] 2 2 2.750000
[10,] 2 3 3.500000
[11,] 2 4 4.250000
[12,] 2 5 5.000000
[13,] 2 6 NA
[14,] 2 7 NA
想要的输出:
id year index
[1,] 1 1 1.000000
[2,] 1 2 1.500000
[3,] 1 3 2.000000
[4,] 1 4 2.500000
[5,] 1 5 3.000000
[6,] 1 6 3.500000
[7,] 1 7 4.000000
[8,] 2 1 2.000000
[9,] 2 2 2.750000
[10,] 2 3 3.500000
[11,] 2 4 4.250000
[12,] 2 5 5.000000
[13,] 2 6 5.750000
[14,] 2 7 6.500000
【问题讨论】:
-
我不确定这是否清楚,但是对于“相同的插值线”,我的意思是我想继续预测 NA,假设斜率在最后一个观察点之后是相同的
-
我收到此错误:0(非 NA)案例
标签: r interpolation