如何以15分钟的间隔分组

时间:2017-06-20 08:37:17

标签: r

我有一个包含日期,名称和值的数据框,这里的一些日期是15分钟间隔,有些则不是,如何通过分组获得不等于15分钟的平均值,例如。如果min介于0-14然后15min,15-29然后15分钟,30-44然后30分钟,45-59然后45分钟

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)

我猜你的意思是如果min介于0-14之间,那么新变量应该是0min而不是15min。如果是这样,这是我的建议:

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

我假设您的date_time格式为POSIX。否则,您只需在使用我的解决方案之前进行简单的转换。