2015-09-24 60 views
1

我跟隨我在這previous answer中讀到的內容來創建我的第一個xts時間系列。我在輸出中獲得重複的行,但僅在某些情況下。 (數據以5分鐘爲增量,但有5分鐘的間隔,因此,我爲這些不規則數據使用xts,以便稍後使用acf)。第10行的這個例子的工作原理:讀我的第一個xts時間系列,並獲得重複的行

> waterlevels 
       dates water.level.ft 
1 2014-12-18 15:43:16    NA 
2 2014-12-18 15:48:16   2.608 
3 2014-12-18 15:53:16   2.610 
4 2014-12-18 15:58:16   2.605 
5 2014-12-18 16:03:16   2.600 
6 2014-12-18 16:08:16   2.553 
7 2014-12-18 16:13:16   2.565 
8 2014-12-18 16:18:16   2.352 
9 2014-12-18 16:23:16   2.350 
10 2014-12-18 16:28:16   2.357 

dtw2 <- data.frame(waterlevels$dates, waterlevels$Water.Level.ft) 
colnames(dtw2) <- c("dates","waterlevels") 
dtw2.ts <- xts(dtw2$waterlevels, order.by = dtw2$dates) 

但是,當我使用完整的數據集(89246行,所以我不知道如何將它張貼),它重複的輸出行(該數據是在美國東部時間) :

dtw <- data.frame(waterlevels.cw2$dates, waterlevels.cw2$Water.Level.ft) 
colnames(dtw) <- c("dates","waterlevels") 
dtw.ts <- xts(dtw$waterlevels, order.by=dtw$dates) 

> head(dtw.ts) 
       [,1] 
2014-12-18 15:43:16 NA 
2014-12-18 15:43:16 NA 
2014-12-18 15:48:16 2.608 
2014-12-18 15:48:16 2.608 
2014-12-18 15:53:16 2.610 
2014-12-18 15:53:16 2.610 
Warning message: 
timezone of object (EST) is different than current timezone(). 

爲什麼每行在結果時間序列中會重複兩次?

+0

這將是很難幫助您調試這一點沒有實際的數據文件。你能把它上傳到保管箱,pastebin等嗎? –

+0

這裏是waterlevels.cw2:https://dl.dropboxusercontent.com/u/23038935/waterlevels.cw2.RData 這是用在第二個代碼片斷中,它產生了重複的 – Aditi

回答

0

很簡單,xts對象具有重複行,因爲您的數據框有waterlevels.cw2。第21,666行與第二行21,666行相匹配。

> wl <- waterlevels.cw2 
> all.equal(wl[1:21666,], wl[21667:43332,], check.attributes=FALSE) 
[1] TRUE 

從data.frame刪除重複,他們不會在你的XTS對象:

> dtw <- data.frame(dates=waterlevels.cw2$dates, 
+     waterlevels=waterlevels.cw2$Water.Level.ft) 
> head(dtw.ts <- with(dtw[-(1:21666),], xts(waterlevels, dates))) 
        [,1] 
2014-12-18 15:43:16 NA 
2014-12-18 15:48:16 2.608 
2014-12-18 15:53:16 2.610 
2014-12-18 15:58:16 2.605 
2014-12-18 16:03:16 2.600 
2014-12-18 16:08:16 2.553 
+0

Doh。謝謝。 – Aditi

相關問題