2014-12-30 179 views
1

我有一個數據文件,其中包含測量值的原始值。頂部條目如下所示:帶有數據點的R時間序列每15分鐘

495.08 
1117.728 
872.712 
665.632 
713.296 
1172.44 
1302.544 
1428.832 
1413.536 
1361.896 
1126.656 
644.776 
1251.616 
1252.824 
[...] 

測量以15分鐘的間隔完成。爲了把它放在一個R時間序列對象中,我使用下面的代碼。雖然數據只是從一年

R output

data <- scan("./data__2.dat",skip=1) 
datats <- ts(data, frequency=24*60/15, start=c(2014,1)) 

但是,這給我留下了。因此,似乎頻率是錯誤的。有關如何解決這個問題的任何想法?

+0

我的猜測是,你頻率應該爲60 * 24 *15分之365= 35040.雖然我懷疑'ts'可以應付頻率高於365 ... –

+0

@大衛:這是我的第一個猜測以及...任何建議如何解決這個問題? – Coxer

+0

轉換爲'xts'? – Khashaa

回答

3

這樣做:

library(xts) 
library(lubridate) 

df <- data.frame(interval = seq(ymd_hms('2014-01-21 00:00:00'), 
           by = '15 min',length.out=(60*24*365/15)), 
       data = rnorm(60*24*365/15)) 
ts <- xts(df, order.by=df$interval) 

你得到:

   interval  data 
1 2014-01-21 00:00:00 -1.3975823 
2 2014-01-21 00:15:00 -0.4710713 
3 2014-01-21 00:30:00 0.9149273 
4 2014-01-21 00:45:00 -0.3053136 
5 2014-01-21 01:00:00 -1.2459707 
6 2014-01-21 01:15:00 0.4749215