2017-09-25 70 views
1

我有半年(半年)數據點的時間序列。R - 用半年度數據分析時間序列?

看來,ts()函數無法處理,因爲「頻率= 2」會返回一個非常奇怪的時間序列對象,它延伸的時間遠遠超出實際時間段。

R有沒有辦法對這種時間序列對象進行時間序列分析?

編輯:下面是一個例子:

dat <- seq(1, 17, by = 1) 
> semi <- ts(dat, start = c(2008,12), frequency = 2) 
> semi 
Time Series: 
Start = c(2013, 2) 
End = c(2021, 2) 
Frequency = 2 
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 

我期待:

> semi 
     s1  s2 
2008   1 
2009 2  3 
2010 4  5 
2011 6  7 
2012 8  9 
2013 10  11 
2014 12  13 
2015 14  15 
2016 16  17 
+0

我用'deltat = 1/2'試過了,似乎有效。 '半< - c(1:12)''semi_ts < - ts(半,start = 2000,deltat = 1/2)'。 ....對不起,我剛剛與'frequency = 2'進行了比較,結果相同:'> semi_ts 時間系列: Start = c(2000,1) End = c(2005,2) Frequency = 2 [1 ] 1 2 3 4 5 6 7 8 9 10 11 12' –

+0

您是否提供了正確的'start ='?這可能導致'ts'以意想不到的方式改變時間。 – useR

+0

@wolf_wue如果設置'frequency = 2':'semi_ts <-ts(semi,start = 2000,frequency = 2)''START START = c(2000),那麼你的例子也可以正常工作(並給出相同的答案) ,1)'和'END = c(2005,2)' – Eumenedies

回答

1

首先讓我解釋爲什麼第一TS元素在2013在2008年的功能開始和結束代替開始與週期/頻率一起工作。你選擇了12期2008年後,這是在2013年第二期,如果你的頻率是2

這應該期間的工作:

semi <- ts(dat, start = c(2008,2), frequency = 2) 

不過半給出正確的時間序列,但它不知道頻率爲2的名稱。如果繪製時間序列,則會顯示正確的半年圖。

plot.ts(semi) 

In this problem有人解釋了ts()知道的標準頻率。

+0

謝謝!開始的時間應該是2(下半年),而不是12月的12。 – SiKiHe