【发布时间】:2018-10-29 01:35:04
【问题描述】:
我的目标是在 zooreg 时间序列对象中估算 NA。时间序列的模式是循环的。我的代码是:
#load libraries required
library("zoo")
# create sequence every 15 minutes from 1st Dec to 20th Dec, 2018
timeStamp <- seq.POSIXt(from=as.POSIXct('2018-01-01 00:00:00', tz="UTC"), to=as.POSIXct('2018-01-20 23:45:00', tz="UTC"), by = "15 min")
# data which increases from 12am to 12pm, then decreases till 12 am of next day, for 20 days
readings <- rep(c(seq(1,48,1), seq(48,1,-1)), 20)
dF <- data.frame(timeStamp=timeStamp, readings=readings)
# create a regular zooreg object, frequency is 1 day( 4 readings * 24 hours)
readingsZooReg <- zooreg(dF$readings, order.by = dF$timeStamp, frequency = 4*24)
plot(readingsZooReg)
# force some data to be NAs
window(readingsZooReg, start = as.POSIXct("2018-01-14 00:00:00", tz="UTC"), end = as.POSIXct("2018-01-16 23:45:00", tz="UTC")) <- NA
plot(readingsZooReg)
# plot imputed values
plot(na.approx(readingsZooReg))
地块是: Full time series, NAs added, Imputed time series
我在这里特意使用 zoo,因为我处理的时间序列是不规则的(例如太阳能、油井等)
1) 我对“zooreg”的用法正确吗?还是“动物园”对象就足够了?
2) 我的频率可变对吗?
3) 为什么 na.approx 不起作用?我也试过 na.StructTs,R 脚本挂起。
4)是否有使用任何其他包的解决方案? xts、ts 等?
【问题讨论】:
-
尝试提出一个格式正确的问题
-
试试
na.StructTS
标签: r time-series frequency zoo imputation