Попытка интерполировать значения 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)
)
Isесть легкодоступная функция для этого, или она должна быть написана с использованием формулы линейной интерполяции: