我有这样一个数据帧:如何按照日期分隔相同的组ID,然后按r时间排序?
deviceid date speed
325 2016/09/12 07:55:40 50
325 2016/09/12 08:55:40 90
325 2016/09/13 06:55:40 40
325 2016/09/13 09:55:40 90
325 2016/09/13 08:55:40 69
325 2016/09/14 08:55:40 99
5525 2016/09/12 09:55:40 60
5525 2016/09/12 06:55:40 90
5525 2016/09/15 03:55:40 63
4325 2016/09/12 08:55:40 99
4325 2016/09/12 07:55:40 30
4325 2016/09/14 10:55:40 70
我想改变它像下面这样:
deviceid date speed
325_12 2016/09/12 07:55:40 50
325_12 2016/09/12 08:55:40 90
325_13 2016/09/13 06:55:40 90
325_13 2016/09/13 08:55:40 69
325_13 2016/09/13 09:55:40 40
325_14 2016/09/14 08:55:40 99
5525_12 2016/09/12 06:55:40 90
5525_12 2016/09/12 09:55:40 60
5525_15 2016/09/15 03:55:40 63
4325_12 2016/09/12 07:55:40 30
4325_12 2016/09/12 08:55:40 99
4325_14 2016/09/14 10:55:40 70
这样做的主要原因是,事后我想排序在每个时间组为不同的日期。因此,输出应该像上面那样。
您可以使用'library(lubridate); library(dplyr); df%>% mutate(deviceid = sprintf('%d_%d',deviceid,day(ymd_hms(date))))'对于时间日期列,最好避免使用正则表达式 – akrun