Rでの時系列オブジェクトの作成
時系列(time series)は、数値のベクトルまたは行列に、それらの数値がいつ記録されたかという情報が付いたものと考えられます。この情報は、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() 関数は次の3つの引数を受け取ります。
dataはusnim_2002の日付列を除いたすべての値を指定します。時刻情報はtsオブジェクトが別途保持するため、日付列は不要です。startは最初の観測時点を示すc(year, period)の形式で指定します。ここでは1月が period 1 に対応します。同様に、4月なら 2、7月なら 3、10月なら 4 です。つまり period は年の 四半期 を表します。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月が最初の period に対応することを示しています。 ts()を用いてmytsというtsオブジェクトを作成します。観察結果に基づいてdata、start、frequencyを設定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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 = ___)