時刻データをいろいろな間隔でまるめる(四捨五入)
round()
関数で1時間毎にまるめる時は,"hours"
と指定する
05:17","2014-06-30 13:45:17","2014-06-30 14:18:17"),
format = "%Y-%m-%d %H:%M:%S",tz="")
print(time.x1)
round(time.x1,"hours")
05:17 JST" "2014-06-30 13:45:17 JST" "2014-06-30 14:18:17 JST"
[1] "2014-06-30 14:00:00 JST" "2014-06-30 14:00:00 JST" "2014-06-30 14:00:00 JST"
14:00:00にまるめられるのは,13:30:00から14:29:59まで
1分毎は,"mins"
で指定する
round(time.x1,"mins")
半端な間隔でまるめたいときは,xts
パッケージのalign.time()
を使う。
指定した時間間隔(秒)で切り上げるので,予めまるめたい時間間隔の半分の時間を引いておくと良い。
5分毎にまるめる ```align.time(time.x1 - 560/2, 560)
30分毎にまるめる ```align.time(time.x1 - 30*60/2, 30*60)
2時間毎にまるめる align.time(time.x1 - 2*60*60/2, 2*60*60)
plyr()
が1.8.1にアップデートされてからround_any()
関数が何故かおかしくなったのでメモ。round_any(time.x1, 5*60)
で動いていたはず...