我想知道是否有人從統計軟件包知道R的時間序列可以幫助我。R的時間序列會自動生成缺失的數據嗎?
我目前正在使用stat的ts函數生成時間序列。
我傳遞了ts函數的一個數據集(每年有3年的日期和數值),已經解析爲十進制日期的開始和結束日期以及頻率爲365. 但是,某些日期範圍缺失(例如,2016年4月30日至2017年1月2日的日期和值不見了)。
但是,當我查看或繪製時間序列時,我發現缺少的數據會自動填充值。
我不確定這些值是如何生成的。
時間序列函數是否自動使用其數據填入缺失日期?
感謝您的幫助,
周杰倫
編輯:我的原始數據幀的一部分 例子:
(你可以看到有丟失的數據,從2016年4月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)
嗯,你刪除NA的,當你加載數據?可以添加一些數據到你的問題?你確定這些日期沒有完全刪除嗎?你檢查了原始集合的長度與轉換的時間序列集合的長度嗎? – DataTx
@DataTx沒有NAs。缺失的數據完全丟失(缺失日期根本沒有行) – Jay
它可能不會繪製缺失日期。用'length(df $ timeseries)'或者'dim'來檢查時間系列的長度。如果它小於365,那麼缺少日期沒有任何標繪 – DataTx