r - 在 r 中的向量边界处填充 NA

标签 r na zoo linear-interpolation

我在边界处有一个包含 NA 的向量

x <- c(NA, -1, 1,-1, 1, NA, -1, 2, NA, NA)

我希望结果是:
c(-3, -1, 1,-1, 1, 0, -1, 2, 5, 8)

换句话说,我想用线性插值填充内部和边界 NA(也许我不能称之为“插值”,因为 NA 位于边界处)。

我尝试了包“zoo”中的一个函数,na.fill(x,“extend”),但边界输出不是我想要的,它只是重复最左边或最右边的非 NA 值:
na.fill(x,"extend")

输出是
[1] -1 -1  1 -1  1  0 -1  2  2  2

我还检查了其他用于填充 NA 的函数,例如 na.approx()、na.locf() 等,但它们都不起作用。

na.spline 确实有效,但边界 NA 的输出会导致极大的变化。
na.spline(x)

输出是:
 [1] -15.9475983  -1.0000000   1.0000000  -1.0000000   1.0000000   0.3400655  -1.0000000   2.0000000
 [9]  13.1441048  35.9323144

边界点太大。谁能帮我吗?提前致谢!

最佳答案

您可以使用 na.spline()来自 zoo图书馆:

na.spline(x)

[1] 0.0 0.5 1.0 1.5 2.0 2.5

原始问题的数据:
x <- c(0, NA, 1, NA, 2, NA)

关于r - 在 r 中的向量边界处填充 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58790581/

相关文章:

r - 快速替换 NA - 错误或警告

r - 逐行跟踪完整级别的变化

r - 在每 3 列之后拆分一行并将这 3 列作为 r 中的新行传输

r - 在 R 中并行处理多个 quant mod 股票代码

r - 根据 R 中另一列的日期范围查找一列的平均值

r - 如何对面板数据执行线性和趋势外推?

r - dplyr 按第一列过滤

ec2 上的 RStudio 服务器 - 关闭浏览器选项卡时不持久

r - zoo time series转xts时一个索引值变为NA

r - 按类别填充数据表中的缺失(空白) - 向后和向前