時間序列是一系列資料點,其每個資料點與時間戳相關聯。 一個簡單的例子就是股票在某一天不同時間點的股票價格。另一個例子是一年中不同月份某個地區的降雨量。R語言使用許多功能來建立,操縱和繪製時間序列資料。時間序列的資料儲存在稱為時間序列物件的R物件中。 它也是一個R資料物件,如向量或資料影格。
時間序列物件是通過使用ts()
函式建立的。
時間序列分析所使用的ts()
函式的基本語法是 -
timeseries.object.name <- ts(data, start, end, frequency)
以下是使用的引數的描述 -
除引數「data」
外,所有其他引數均為可選項。
假設從2012年1月開始,要表述某地的年降雨統計資訊。我們建立一個R時間序列物件,為期12
個月,並繪製。
setwd("F:/worksp/R")
# Get the data points in form of a R vector.
rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
# Convert it to a time series object.
rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12)
# Print the timeseries data.
print(rainfall.timeseries)
# Give the chart file a name.
png(file = "rainfall.png")
# Plot a graph of the time series.
plot(rainfall.timeseries)
# Save the file.
dev.off()
當我們執行上面的程式碼,它產生以下結果和圖表 -
Jan Feb Mar Apr May Jun Jul Aug Sep
2012 799.0 1174.8 865.1 1334.6 635.4 918.5 685.5 998.6 784.2
Oct Nov Dec
2012 985.0 882.8 1071.0
降雨量的時間序列圖 -
ts()
函式中的頻率(frequency
)引數的值決定了測量資料點的時間間隔。 值為12
表示時間序列為12
個月。其他值及其含義如下 -
我們可以在一個圖表中繪製多個時間序列,將這兩個系列組合成一個矩陣。
setwd("F:/worksp/R")
# Get the data points in form of a R vector.
rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
rainfall2 <-
c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8)
# Convert them to a matrix.
combined.rainfall <- matrix(c(rainfall1,rainfall2),nrow = 12)
# Convert it to a time series object.
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)
# Print the timeseries data.
print(rainfall.timeseries)
# Give the chart file a name.
png(file = "rainfall_combined.png")
# Plot a graph of the time series.
plot(rainfall.timeseries, main = "多時間系列圖")
# Save the file.
dev.off()
當我們執行上面的程式碼,它產生以下結果和圖表 -
Series 1 Series 2
Jan 2012 799.0 655.0
Feb 2012 1174.8 1306.9
Mar 2012 865.1 1323.4
Apr 2012 1334.6 1172.2
May 2012 635.4 562.2
Jun 2012 918.5 824.0
Jul 2012 685.5 822.4
Aug 2012 998.6 1265.5
Sep 2012 784.2 799.6
Oct 2012 985.0 1105.6
Nov 2012 882.8 1106.7
Dec 2012 1071.0 1337.8
多時間系列圖 -