首页 文章

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

提问于
浏览
1

我想知道是否有人从统计数据包中了解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

    尝试

    sts<- ts(test_data$pieceVolume)
    

相关问题