R で時系列をプロットする方法 (例付き)
多くの場合、時系列の値が時間の経過とともにどのように変化するかを視覚化するために、R で時系列をプロットしたい場合があります。
このチュートリアルでは、 ggplot2データ視覚化ライブラリを使用してこれを迅速に行う方法を説明します。
R での基本的な時系列プロット
R に次のデータセットがあるとします。
#create dataset df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99, sales = runif (100, 10, 500) + seq (50, 149)^2) #view first six rows head(df) dirty date 1 2021-01-01 2845.506 2 2020-12-31 2837.849 3 2020-12-30 3115.517 4 2020-12-29 2847.161 5 2020-12-28 3374.619 6 2020-12-27 3182.005
次のコードを使用すると、ggplot2 を使用してこのデータセットの基本的な時系列プロットを作成できます。
library (ggplot2) #create time series plot p <- ggplot(df, aes (x=date, y=sales)) + geom_line() #display time series plot p
X 軸の日付の書式設定
scale_x_date() * 関数を使用して、プロットの X 軸に沿って表示される日付の書式を設定できます。この関数は次の引数を受け取ります。
- %d: 0 ~ 31 の数値で表した日
- %a:平日の短縮形 (例: 「火」)
- %A:短縮されていない曜日 (例: 「火曜日」)
- %m : 0 ~ 12 の月
- %b:月の省略形 (例: 「Jan」)
- %B:短縮されていない月 (例: 「1 月」)
- %y: 2 桁の年 (例: 「21」)
- %Y: 4 桁の年 (例: 「2021」)
- %W: 0 ~ 52 の年間週番号
*この関数が機能するには、x 軸の変数が日付変数である必要があります。まだ変換されていない場合は、 as.Date( variable_name)を使用してすぐに変換できます。
次のコードは、これらの形式のいずれかを実際に使用する方法を示しています。
p + scale_x_date ( date_labels = " %b %Y ")
date_breaks引数を使用して、X 軸に沿ってより頻繁な (またはまれな) 休憩を追加することもできます。たとえば、X 軸に沿って 2 週間ごとの日付を表示できます。
p + scale_x_date ( date_breaks = " 2 week ")
次の引数を使用して、X 軸のラベルを簡単に傾けることもできます。
p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 ))
最後に、テーマ、軸ラベル、タイトルを変更して、時系列プロットをより視覚的に魅力的なものにすることができます。
p <- ggplot(df, aes (x=date, y=sales)) + geom_line( color =" turquoise4 ") + theme_minimal() + labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") + theme( plot.title = element_text (hjust=0.5, size=20, face=" bold ")) p
追加リソース
最高の ggplot2 テーマの完全ガイド
ggplot2 タイトルの完全ガイド
ggplot2 で並列プロットを作成する方法