2011-01-19 60 views
2

我們將零售商數據存儲在數據庫中,如果沒有一個項目的銷售,那麼數據庫中沒有該項目的行。因此,在將數據庫中的數據提取到R後,結果時間序列中將存在相同的間隔。有什麼辦法可以刪除R中的時間序列(插入缺失值爲0的數據)?如何在時間序列中插入間隔以便結果時間序列中沒有間隔?

+0

一些示例數據會很好。 – 2011-01-19 09:13:29

回答

5

如昨天所示,只需構建一個具有所需時間幀的向量,然後合併即可。

# Your dataframe 
DF <- data.frame(day = seq(as.POSIXlt("2011-01-17"), 
          as.POSIXlt("2011-02-14"), 
          by = "days")[seq(1, 30, by = 4)][-6], 
       value = c(5,5,7,8,4,6,5,6,9,8,6,6,4,6)) 

# new dataframe 
full <- data.frame(day = seq(min(DF$day),max(DF$day),by = "days"), 
        value = 0) 
# the big merge trick     
merge(DF,full,all=T) 

另請參見從昨天this question