2017-06-05 54 views
0

下午好轉換爲時間序列R中使用TS()

我有一個時間序列

v2<-c(12,13,15,17,18,12,11,12) 

從1996年7月運行至1997年10月,剛剛七月和十月

之間的月

當我嘗試轉換爲時間序列

v2.ts<-ts(v2, frequency=12, start=c(1996,7), end=c(1997,10)) 

它產生了我這個結果

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
1996      12 13 15 17 18 12 

1997 11 12 12 13 15 17 18 12 11 12 

我可以使用什麼參數,使它象:提前

 Jul Aug Sep Oct 
1996 12 13 15 17 

1997 18 12 11 12 

感謝您的幫助

回答

1

的TS系列必須定期隔開,但顯示的輸出有是一個點除第一年的10月和第二年的7月之外,所以它不是那種形式。

有幾種包裝可以表示不規則間隔系列。與動物園包會做這樣的:

library(zoo) 

z <- as.zoo(v2.ts) 
z[cycle(z) %in% 7:10] 
## Jul 1996 Aug 1996 Sep 1996 Oct 1996 Jul 1997 Aug 1997 Sep 1997 Oct 1997 
##  12  13  15  17  18  12  11  12 

如果你是不是在找一個時間序列,而只是一個矩陣所指示的元件則:

tapply(c(v2.ts), list(floor(time(v2.ts)), cycle(v2.ts)), c)[, 7:10] 

##  7 8 9 10 
## 1996 12 13 15 17 
## 1997 18 12 11 12