R語言時間序列中時間年、月、季、日的處理操作

1、年

pt<-ts(p, freq = 1, start = 2011)

2、月

pt<-ts(p,frequency=12,start=c(2011,1))

frequency=12表示以月份為單位,start 表示時間開始點,start=c(2011,1) 表示從2011年1月開始

3、季度

pt <- ts(p, frequency = 4, start = c(2011, 1))

4、天

pt<-ts(p,frequency=7,start=c(2011,1))

ts(p,frequency=365,start=(2011,1)) 也可以,但是這個是沒有按星期對齊

補充:R語言:ts() 時間序列的建立

ts() 函數:

通過一向量或者矩陣創建一個一元的或多元的時間序列(time series),為ts型對象。

調用格式:

ts(data = NA, start = 1, end = numeric(0), frequency = 1, deltat = 1, ts.eps = getOption("ts.eps"), class, names)

說明:

data一個向量或者矩陣

start第一個觀測值的時間,為一個數字或者是一個由兩個整數構成的向量

end最後一個觀測值的時間,指定方法和start相同

frequency單位時間內觀測值的頻數(頻率)

deltat兩個觀測值間的時間間隔。frequency和deltat必須並且隻能給定其中一個

ts.eps序列之間的誤差限,如果序列之間的頻率差異小於ts.eps,則認為這些序列的頻率相等

class對象的類型。一元序列的缺省值是“ts”,多元序列的缺省值是c(“mts”,“ts”)

names一個字符型向量,給出多元序列中每個一元序列的名稱,缺省data中每列數據的名稱或者Series 1,Series 2, 。。。

Example:

 > ts(1:26, start=1986) #最簡單的形式
  Time Series:
  Start = 1986 
  End = 2011 
  Frequency = 1 
  [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 

 > ts(1:26, frequency = 12, start=c(1986,10)) #frequency = 12時,為月份
    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
  1986                 1  2  3
  1987 4  5  6  7  8  9 10 11 12 13 14 15
  1988 16 17 18 19 20 21 22 23 24 25 26 

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: