Мы можем использовать na.spline
из zoo
library(zoo)
df1$ltv <- na.spline(df1$ltv)
df1$ltv
#[1] 8.94000 18.93000 26.19000 31.97000 38.19000 45.59000 52.06000 57.25141 61.32302 64.39529
#[11] 66.58868 68.02362 68.82058 69.10000 68.98271 68.59102 68.04762 67.47520 66.99644 66.73402
#[21] 66.81064 67.34898 68.47173 70.30157 72.96119 76.57328 81.26051 87.14559 94.35119 103.00000
данные
df1 <- structure(list(day = 1:30, ltv = c(8.94, 18.93, 26.19, 31.97,
38.19, 45.59, 52.06, NA, NA, NA, NA, NA, NA, 69.1, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 103)),
class = "data.frame", row.names = c(NA,
-30L))