データ解析では時系列データを取り扱うことがあります。日付け・時間データ用のクラスとして”DATA”や”POSIXlt”,”POSIXct”がありますが、以外と操作が手間です。そんな手間を軽減するパッケージを紹介します。直感的に日付けや時間データを操作できるのでオススメです。
パッケージバージョンは2.3-58。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("chron")
実行コマンドの紹介
詳細はコメントを確認してください。
#パッケージの読み込み library("chron") #日付けデータの配列を作成:seq.datesコマンド #seq.dates(from = 開始日, to = 終了日, by = 繰り返し基準, length = 配列の長さ) #byオプション:"days", "weeks", "months", "years"の設定が可能 seq.dates("01/01/2015", "06/20/2015", by = "months") [1] 01/01/15 02/01/15 03/01/15 04/01/15 05/01/15 06/01/15 #lengthオプション:長さを指定して作成 seq.dates("01/01/2015", by = "months", length = 15) [1] 01/01/15 02/01/15 03/01/15 04/01/15 05/01/15 06/01/15 07/01/15 08/01/15 09/01/15 10/01/15 11/01/15 [12] 12/01/15 01/01/16 02/01/16 03/01/16 #日付けデータに変換:datesコマンド #変換することで加算・加減ができます dates("01/06/2015") [1] 01/06/15 dates("01/06/2015") + 365 [1] 01/06/16 dates("01/06/2015") - 365 [1] 01/06/14 #日付けデータの間隔を計算:cut.datesコマンド #factorで結果が計算されます #cut(x = データ, breaks = 整形方法, start.on.monday = TRUE) #breaksオプション:"days", "weeks", "months", "year"の設定が可能 TestData <- seq.dates("01/01/2015", "06/20/2015", by = "months") #日で計算 cut(TestData, "days") [1] day 1 day 32 day 60 day 91 day 121 day 152 Levels: day 1 < day 2 < ... < day 152 #月で計算 cut(TestData, "months") [1] Jan 15 Feb 15 Mar 15 Apr 15 May 15 Jun 15 Levels: Jan 15 < Feb 15 < Mar 15 < Apr 15 < May 15 < Jun 15 #1970年1月1日から指定した日までの間隔を計算:julianコマンド julian(06, 20, 2015) [1] 16606 #julianコマンドで取得した値から月日年を取得:month.day.yearコマンド #結果はlistで出力されます month.day.year(1) $month [1] 1 $day [1] 2 $year [1] 1970 #数値の小数点を切り捨て,unitsで指定した形式へ変換 #unitsオプション:"days", "hours", "minutes", "seconds"が可能です DHM <- dates("07/01/78") + trunc(sample(1100.8886:2000.3335, 150, replace = TRUE), "days") #日の出現数をプロット #plot(days(DHM), col = "#4b61ba") #曜日の出現数をプロット plot(weekdays(DHM), col = "#4b61ba") #月の出現数をプロット #plot(months(DHM), col = "#4b61ba")
出力例
・曜日の出現数をプロット
少しでも、あなたの解析が楽になりますように!!