R-time-series-analysis
提供:Dev Guides
R-時系列分析
時系列は、各データポイントがタイムスタンプに関連付けられている一連のデータポイントです。 簡単な例は、特定の日のさまざまな時点での株式市場の株価です。 別の例は、1年の異なる月の地域の降雨量です。 R言語では、多くの関数を使用して、時系列データを作成、操作、およびプロットします。 時系列のデータは、*時系列オブジェクト*と呼ばれるRオブジェクトに保存されます。 また、ベクトルまたはデータフレームのようなRデータオブジェクトでもあります。
時系列オブジェクトは、* ts()*関数を使用して作成されます。
構文
時系列分析の* ts()*関数の基本的な構文は次のとおりです-
timeseries.object.name <- ts(data, start, end, frequency)
以下は、使用されるパラメータの説明です-
- data は、時系列で使用される値を含むベクトルまたは行列です。
- start は、時系列の最初の観測の開始時間を指定します。
- end は、時系列の最後の観測の終了時刻を指定します。
- frequency は、単位時間あたりの観測数を指定します。
パラメーター「data」を除き、他のすべてのパラメーターはオプションです。
例
2012年1月から始まる場所の年間降雨量の詳細を考慮してください。 12か月間の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か月であることを示します。 他の値とその意味は以下のとおりです-
- frequency = 12 は、1年の各月のデータポイントを固定します。
- frequency = 4 は、1年の各四半期のデータポイントを固定します。
- frequency = 6 は、1時間の10分ごとにデータポイントを固定します。
- frequency = 24 6 *は、1日の10分ごとにデータポイントを固定します。
複数の時系列
両方の系列を行列に結合することにより、1つのチャートに複数の時系列をプロットできます。
# 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 = "Multiple Time Series")
# 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
複数時系列チャート-