2017-06-20 232 views
0

我有一個包含日期,名稱和值的數據框,這裏的一些日期是15分鐘間隔,有些不是,如何通過分組獲得平均值15分鐘到定期例如。如果分位於0-14然後15分鐘,15-29之間則15分鐘,然後30-44 30分鐘,然後45-59 45分鐘如何以15分鐘的時間間隔對分鐘進行分組

df 
date_time   name   value 
2014-02-01 00:01:00 sam   23 
2014-02-01 00:14:00 sam   24 
2014-02-01 01:00:00 sam   24 
2014-02-01 01:15:00 sam   12 
2014-02-01 01:30:00 sam   27 
2014-02-01 01:45:00 sam   20 
2014-02-01 02:00:00 sunny  23 
2014-02-01 02:15:00 sunny  33 
2014-02-01 02:17:00 sunny  41 
2014-02-01 02:30:00 sunny  23 
2014-02-01 02:46:00 sunny  43 

o/p 
date_time    name   value 
2014-02-01 00:00:00 sam  23.5 
2014-02-01 01:00:00 sam  24 
2014-02-01 01:15:00 sam  12 
2014-02-01 01:30:00 sam  27 
2014-02-01 01:45:00 sam  20 
2014-02-01 02:00:00 sunny 23 
2014-02-01 02:15:00 sunny 37 
2014-02-01 02:30:00 sunny 23 
2014-02-01 02:45:00 sunny 43 
+1

你到目前爲止嘗試過什麼? –

回答

0

我猜你的意思是,如果分位於0-14之間,然後新變量應該是0min而不是15min。如果是這樣,這是我的建議:

newvar <- floor(as.numeric(format(dt$date_time, "%M"))/15)*15 

我假設你date_timePOSIX格式。否則,您只需在使用我的解決方案之前進行簡單的轉換即可。

+0

Thanls的工作,現在如何用這個新的分鐘替換舊分鐘 –

+0

'as.POSIXct(paste0(as.character(format(dt $ date_time,「%Y-%m-%d%H:」)),newvar ,as.character(格式(DT $ DATE_TIME 「:%S」))))' –