虽然我无法让 Pierre 的解决方案与我的数据格式一起运行(我没有帮助指定),但我能够通过采用 Pierre 的策略来选择填充的 1 分钟间隔的 5 分钟子集来创建解决方案数据。我对这个新的 padr 库感到很兴奋,并希望未来能添加更多功能。
我的策略如下:
library(padr)
library(zoo)
dfpad <- pad(df, interval = "min") #resample timeseries df to 1 min intervals
dfpadzoo <- zoo(dfpad,order.by = dfpad$time) #convert padded df to zoo timeseries
sensStart <- start(dfpadzoo) #first time in data using zoo function
sensEnd <- end(dfpadzoo) # last time in data using zoo function
nexttime <- df$time[2] #identify the time in the second data row
#determine time interval in minutes:
tint_min <- as.double(difftime(nexttime,sensStart, tz="UTC",units="mins"))
#Generate regularly-spaced time series from the start to end of data:
timeFill <- seq(from = as.POSIXct(sensStart, tz="UTC"),
to = as.POSIXct(sensEnd, tz="UTC"), by = 60*tint_min)
#Create subset of dfpad spaced at 5-minute intervals
sensdatazoo <- dfpadzoo[timeFill]
通过将 df 转换为 zoo 对象,我能够使用 zoo 库中的其他时间序列功能。