R的时间序列是否自动生成缺失数据?

时间:2017-09-13 17:30:52

标签: r time-series missing-data imputation

我想知道是否有人从统计数据包中了解R的时间序列可以帮助我。

我目前正在使用stat的ts函数生成时间序列。

我正在向ts函数传递一个数据集(每天有3年的日期和数值),已经解析为十进制日期的开始和结束日期,以及365的频率。 但是,缺少某些日期范围(例如,2016年4月30日至2017年1月2日的日期和值缺失)。

但是,当我查看或绘制时间序列时,我注意到缺失的数据会自动填充值。

我不确定这些值是如何产生的。

时间序列功能是否会自动用其数据填写缺少的日期?

感谢您的帮助,

编辑: 我原始数据框的一部分示例:
(您可以看到2016-04-30至2017-01-02期间缺少数据)

 Dataframe:
             date          pieceVolume
 ...   |      ...       |     ...  
 615   |   2016-04-29   |    250.5  
 616   |   2016-04-30   |    1230.4  
 617   |   2017-01-02   |    273.2  
 618   |   2017-01-01   |    26150.5  
 619   |   2017-01-02   |    232550.7  

我的原始数据框有655行,但我的时间序列长度为1079 这就是我从数据框生成时间序列的方式:

sts <- ts(test_data$pieceVolume, start=decimal_date(min(as.Date(test_data$date))), end=decimal_date(max(as.Date(test_data$date))), frequency=365)

我的原始代码:

original_data <- readRDS("original_data.rds")
library(plyr)
## Using ddply to average all the pieceVolumes that have the same dates.
test_data <- plyr::ddply(original_data, .(date), function(x) c(pieceVolume=mean(x$pieceVolume)))
library("forecast")
## Generate time-series using test_data
sts <- ts(test_data$pieceVolume, start=decimal_date(min(as.Date(test_data$date))), end=decimal_date(max(as.Date(test_data$date))), frequency=365)

1 个答案:

答案 0 :(得分:0)

尝试

sts<- ts(test_data$pieceVolume)