Rで解析:日付けデータの操作にいかがでしょうか。「lubridate」パッケージ


投稿日: Rの解析に役に立つ記事

日付けデータの操作に大変便利なパッケージの紹介です。データの変更や、丸めや近似値の取得、基準値からの配列作成など大変便利なコマンドが収録されています。

パッケージバージョンは1.5.6。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("lubridate")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("lubridate")

#文字列を日付けデータで出力:ymd,mdy,dmyコマンド
#文字列が年月日の場合:ymdコマンド
Result <- ymd("16/04/08")
#内容確認
Result
[1] "2016-04-08"
#class確認
class(Result)
[1] "Date"
#文字列が月日年の場合:mdyコマンド
mdy("04-08-16")
[1] "2016-04-08"
#文字列が日月年の場合:dmyコマンド
dmy("08-04-2016")
[1] "2016-04-08"

#時間付きの文字列を日付けデータで出力:XXX_hmsコマンド
#XXXにはymd,mdy,dmyの設定が可能
#TimeZoneの初期値は協定世界時
mdy_hms("04-08-16 0:07:30")
[1] "2016-04-08 00:07:30 UTC"
#TimeZoneを変更:tzオプション
#日本時間へ変更
mdy_hms("04-08-16 0:07:30", tz = "Asia/Tokyo")
[1] "2016-04-08 00:07:30 JST"

#日付けデータから曜日を求める:wdayコマンド
#文字データで結果を取得:labelオプション
wday(Result, label = TRUE)
[1] Fri
Levels: Sun < Mon < Tues < Wed < Thurs < Fri < Sat

#指定した日付けデータから月のみ異なる配列を作成:monthsコマンド
Result + months(0:5)
[1] "2016-04-08" "2016-05-08" "2016-06-08" "2016-07-08" "2016-08-08" "2016-09-08"

#指定した日付けデータの丸め、近似を取得:round_date,floor_date,ceiling_dateコマンド
#データの種類を指定:unitオプション;
#"second","minute","hour","day","week","month","year","quarter"が指定可能
#例えばfloor_dateコマンド
UnitVec <- c("second", "minute", "hour", "day", "week", "month", "year", "quarter")
for(i in seq(UnitVec)){
  
  print(paste0("unit = ",UnitVec[i]))
  print(floor_date(mdy_hms("04-08-16 0:07:15", tz = "Asia/Tokyo"), unit = UnitVec[i]))
  
}
[1] "unit = second"
[1] "2016-04-08 00:07:15 JST"
[1] "unit = minute"
[1] "2016-04-08 00:07:00 JST"
[1] "unit = hour"
[1] "2016-04-08 JST"
[1] "unit = day"
[1] "2016-04-08 JST"
[1] "unit = week"
[1] "2016-04-03 JST"
[1] "unit = month"
[1] "2016-04-01 JST"
[1] "unit = year"
[1] "2016-01-01 JST"
[1] "unit = quarter"
[1] "2016-04-01 JST"

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク