開始使用免費開始

在 R 建立時間序列物件

「時間序列」可以想成是一個向量或矩陣,外加這些數值被記錄時點的相關資訊。這些資訊在 R 會儲存在 ts 物件中。在多數練習中,你會使用套件中已內建的時間序列。不過,如果你要處理自己的資料,就需要知道如何在 R 建立一個 ts 物件。

先看下面的範例 usnim_2002,它包含 2002 年美國銀行的淨利差(來源:FFIEC)。

> usnim_2002
               usnim
1   2002-01-01  4.08
2   2002-04-01  4.10
3   2002-07-01  4.06
4   2002-10-01  4.04

> # ts(data, start, frequency, ...)
> usnim_ts = ts(usnim_2002[, 2], start = c(2002, 1), frequency = 4)

ts() 這個函式會接受三個引數:

  • data 設為 usnim_2002 中除了日期欄以外的所有內容;因為 ts 物件會另外儲存時間資訊,不需要日期欄。
  • startc(year, period) 的形式指定第一筆觀測的時間。在這裡,1 月對應期數 1;同理,若起始日期在 4 月則為 2,7 月為 3,10 月為 4。也就是說,期數對應到一年的季度。
  • frequency 設為 4,因為資料是按季觀測。

在這個練習中,你會使用 readxl 套件的 read_excel() 從 xlsx 檔讀入時間序列資料,並將其儲存為 ts 物件。xlsx 檔與套件都已載入到你的工作環境。

本練習屬於課程

R 的時間序列預測

檢視課程

練習說明

  • 使用 read_excel()"exercise1.xlsx" 讀入為 mydata
  • 在 R 主控台對 mydata 套用 head() 檢視前幾列。留意日期:1981 年有 4 筆觀測,表示這是季資料,因此每年有 4 列作為 frequency。第一筆觀測(start)為 Mar-81,是 1981 年 4 列中的第一列,代表 3 月對應到第 1 個 period
  • 使用 ts() 建立名為 mytsts 物件。依你觀察到的結果設定 datastartfrequency

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Read the data from Excel into R
___ <- ___("exercise1.xlsx")

# Look at the first few lines of mydata
___

# Create a ts object called myts
myts <- ts(___[___], start = c(___, ___), frequency = ___)
編輯並執行程式碼