Интерполяция и экстраполяция в R

Кто-нибудь научит меня, как интерполировать и экстраполировать в R. Например, возьмите 2D-фрейм данных с возрастом и соответствующими значениями. Конечным результатом является то, что возраст увеличивается на один год до определенного значения. Возьмите приведенные ниже примеры данных:

df <- data.frame(
  age = c(20, 21, 23, 25, 27, 29, 30),
  value = c(1.1, 1.2, 1.4, 1.6, 1.8, 2.0, 2.1)
)

Как мне получить кадр данных, в котором есть интерполированные значения с отсутствующим возрастом (например, возраст 22 года == 1,3) и экстраполированные значения для возраста 31–60 лет (либо для линейного, либо для другого метода экстраполяции)?

Конечным результатом является кадр данных с возрастом от 20 до 60 лет, увеличенным на 1, и значениями для каждого возраста.

Я пробовал методы здесь, но не получил хороших результатов: линейная интерполяция в R

Принятое решение не сработало. Я попробовал одно из неприемлемых решений и все время получаю сообщение об ошибке invalid type (list) for variable 'age'.

Вот что вызвало ошибку:

 age2 <- data.frame(31,32,33)
 value2 <- data.frame(0,0,0)
 df2 <- do.call(rbind, Map(data.frame, age = age2, value = value2))

model.lm <- lm(data=df, value~age)
predict(model.lm, newdata= data.frame(x = age2))

Даже это больше экстраполяция, чем интерполяция.

Я оцениваю результат по результату, который Excel дает по своей линейной функции. См. интерполированные и экстраполированные значения красным цветом. Интерполированные значения выполняются с помощью формулы Excel Значение+(Значение-Следующее значение)/(Строка(значение)-Строка(следующее значение). Когда я изучу R, я хотел бы покончить с Excel. Является ли этот процесс или вывод повторяемым?

введите здесь описание изображения


person Jordan    schedule 06.07.2018    source источник
comment
Как именно вы пытались использовать решения из других вопросов? Как выглядел ваш код. Что значит не получил хороших результатов? Как вы оценивали качество результатов?   -  person MrFlick    schedule 06.07.2018
comment
@李哲源. Это лучший вопрос. Вы откроете его обратно?   -  person Jordan    schedule 06.07.2018
comment
@李哲源 Predict доставлял мне неприятности, но на второй взгляд это не так или, по крайней мере, не похоже, что он даст мне желаемый результат (например, пример)   -  person Jordan    schedule 06.07.2018
comment
спасибо @李哲源. Вы хотите поставить ответ, чтобы я мог проверить как решение?   -  person Jordan    schedule 06.07.2018
comment
Давайте продолжим обсуждение в чате.   -  person Jordan    schedule 06.07.2018