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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 利用R語言繪制時間序列圖的操作
- R語言時間序列知識點總結
- python Pandas時序數據處理
- Python Pandas高級教程之時間處理
- Python量化交易實戰之使用Resample函數轉換“日K”數據