我有一个关于按时间序列处理缺失数据的问题。我得到下面第1天,第7天,第14天和第30天的数据。我想预测第60、90和180天的数据。但是时间间隔各不相同,因此我想为丢失的数据生成数据点。
day ltv
1 8.94
2 18.93
3 26.19
4 31.97
5 38.19
6 45.59
7 52.06
8 NA
9 NA
10 NA
11 NA
12 NA
13 NA
14 69.10
15 NA
16 NA
17 NA
18 NA
19 NA
20 NA
21 NA
22 NA
23 NA
24 NA
25 NA
26 NA
27 NA
28 NA
29 NA
30 103
无论如何有使用spline()函数来做到这一点?谢谢!
我们可以使用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))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句