我有一个包含日期,名称和值的数据框,这里的一些日期是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
答案 0 :(得分:0)
我猜你的意思是如果min介于0-14之间,那么新变量应该是0min而不是15min。如果是这样,这是我的建议:
newvar <- floor(as.numeric(format(dt$date_time, "%M"))/15)*15
我假设您的date_time
格式为POSIX
。否则,您只需在使用我的解决方案之前进行简单的转换。