R 用以前值的趋势填充列中缺少的值

R 用以前值的趋势填充列中缺少的值,r,data.table,na,fill,R,Data.table,Na,Fill,我正在寻找一个函数,该函数用先前值的“趋势”填充data.table列中的NA值。 我知道有一个函数:na.locf() 但此函数仅使用最后一个可用值并将其转发到将来。 我想要的是,特定函数看起来是“趋势”的一部分,因此在不只是最后可用值的演变中,我们将这个趋势写入未来 data year,V1 2020,1 2021,1.5 2023,2 2024,2.5 2025,3 2026,NA 2027,NA 2028,NA 2029,NA 2030,NA expected output: dat

我正在寻找一个函数,该函数用先前值的“趋势”填充data.table列中的NA值。 我知道有一个函数:na.locf() 但此函数仅使用最后一个可用值并将其转发到将来。 我想要的是,特定函数看起来是“趋势”的一部分,因此在不只是最后可用值的演变中,我们将这个趋势写入未来

data
year,V1
2020,1
2021,1.5
2023,2
2024,2.5
2025,3
2026,NA
2027,NA
2028,NA
2029,NA
2030,NA


expected output:
data
year,V1
2020,1
2021,1.5
2023,2
2024,2.5
2025,3
2026,3.5
2027,4
2028,4.5
2029,5
2030,5.5
与这些职位相关但不是重复的职位:


您总是想要线性插值吗?当趋势不是线性时会发生什么?您可能还希望包含一个更大的数据集,其中包含多个间隙。不是链接问题的副本,@zx8754请阅读both@jangorecki重新打开。不,我不一定需要线性插值。我要寻找的是数学意义上的多种方法,即如何根据先前的进化减少值。“多种方法”-问题变得太广泛,无法回答,更具体地说,您的示例数据的预期输出是什么。从现有示例数据来看,趋势仅为正值,每行增加0.5。