【发布时间】:2018-02-22 18:27:30
【问题描述】:
我有一组时间序列数据(特别是 GPS 速度数据),其中包括信号丢失的缺失值间隙。对于缺少的短时间段,我将简单地使用 na.spline 来填充,但是这对于较长的时间段是不合适的。我想根据预定义的加速度限制将值从最后一个真实值降低到零。
#create sample data frame
test <- as.data.frame(c(6,5.7,5.4,5.14,4.89,4.64,4.41,4.19,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,5,5.1,5.3,5.4,5.5))
names(test)[1] <- "speed"
#set rate of acceleration for ramp
ramp <- 6
#set sampling rate of receiver
Hz <- 1/10
因此,对于丢失的数据,斜坡将使用先前的值和加速度来获取下一个数据点,直到速度达到零(即最后速度 [4.19] + (Hz * 斜坡)),产生以下值:
3.59
2.99
2.39
1.79
1.19
0.59
0
最后,我需要以相反的方式执行此操作,以便在信号再次恢复时从零开始上升。
希望这很清楚。
干杯
【问题讨论】:
标签: r time-series missing-data