【发布时间】:2020-02-09 22:17:38
【问题描述】:
尝试在数据框中插入 NA 值,并尝试使用 zoo::na.approx 但这只会返回等间距的值。
为了演示,给定数据框:
library(dplyr)
library(zoo)
df <- data.frame(
a = c(1,5 ,6 , 10),
b = c(100, NA, NA, 1000)
)
试过这个:
df %>%
mutate(b = zoo::na.approx(b, rule = 2))
反而想得到这个:
desired_df <- data.frame(
a = c(1, 5 ,6 , 10),
b = c(100, 500, 600, 1000)
)
是否有现成的函数可以做到这一点,或者必须使用线性插值公式编写:
【问题讨论】:
-
您的建议给出了正确的输出。我将其发布为答案,尽管我希望可以使用
zoo提供解决方案 -
在 2 天内,是的 :)
-
我使用
zoo发布了一个答案。请检查。
标签: r interpolation