gpt4 book ai didi

r - 如何用已知观测值之间的线性插值替换 NA?

转载 作者:行者123 更新时间:2023-12-04 05:04:44 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to replace NA (missing values) in a data frame with neighbouring values

(3 个回答)


11 个月前关闭。




我有以下数据框,

df <- data.frame(id = c("a", "a", "a", "a", "b", "b", "b", "b"),
time = 1:4, value = c(100, NA, NA, 550, 300, NA, NA, 900))

有人可以建议一种通过随时间平均划分值列的差异来替换 df 中的 NA 值的方法吗?在时间 1,A 是 100,在时间 4 A 是 550。如何将时间 2 和 3 中的 NA 更改为 250 和 400?然后在第 2 次和第 3 次 B 为 500 和 700?

我可以编写一个复杂的 for 循环来强制执行它,但是有没有更有效的解决方案?

最佳答案

您可以使用 na.approx来自 zoo

library(zoo)
df$value <- na.approx(df$value)
df
# id time value
#1 a 1 100
#2 a 2 250
#3 a 3 400
#4 a 4 550
#5 b 1 300
#6 b 2 500
#7 b 3 700
#8 b 4 900

关于r - 如何用已知观测值之间的线性插值替换 NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29106030/

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