lubridateパッケージは日付の操作に役立つ様々な関数があります。
日付型からyear(),month(),day(),hour()などで
それぞれの部分を取り出せる関数がとても便利です。
他にも使用頻度が高いと思われるもののサンプルを紹介します。
#パッケージインストール install.packages("lubridate") #パッケージ読み込み library(lubridate) #システム時刻を取得 now <- Sys.time()#"2017-06-18 09:19:51 JST" #午前か午後かを判定 am(now)#TRUE pm(now)#FALSE #うるう年判定 leap_year(now)#FALSE #クオーター取得 quarter(now)#2 #先月末を取得 rollback(today())#"2017-05-31" #day() day(now) #18 wday(now,label=T)#sun yday(now)#169 年初から qday(nwo)#79 四半期から #年初から何週目か week(now)#25 #インターバル型を作る interval(x,start) span <-interval(ymd("2017-01-01"),today())# #インターバルの期間(秒)を計算 seconds <- as.duration(span)#"14515200s (~24 weeks)" #インターバルの期間(日数)を計算 as.numeric(seconds,"days")#168 #期間(日数)をperiod型で計算 s.period(span,"days")#"168d 0H 0M 0S" #秒表記をseconds_to_periodにより変換も可能 seconds_to_period(seconds)#"168d 0H 0M 0S"
参考
https://cran.r-project.org/web/packages/lubridate/lubridate.pdf