gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:39:11 26 4
gpt4 key购买 nike

我在边界处有一个包含 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com