按日期将列按不同格式分组

时间:2019-05-31 20:47:40

标签: r date group-by

我有一个数据集,其中一列具有日期和时间值。每个日期都有多个条目。每个日期的第一行具有日期格式为29MAY2018_00:00:00.000000的日期值,而同一日期的其余行具有时间值,即20:00 - 21:00。问题是我想每天对另一列中的值求和。

样本数据具有以下格式

Date                       A
29MAY2018_00:00:00.000000   
20:00 - 21:00              0.009
21:00 - 22:00              0.003
22:00 - 23:00              0.0003
23:00 - 00:00              0
30MAY2018_00:00:00.000000   
00:00 - 01:00              -0.0016
01:00 - 02:00              -0.0012
02:00 - 03:00              -0.0002
03:00 - 04:00              -0.0023
04:00 - 05:00              0
05:00 - 06:00              -0.0005
20:00 - 21:00              -0.0042
21:00 - 22:00              -0.0035
22:00 - 23:00              -0.0026
23:00 - 00:00              -0.001

我创建了一个新列

data$C[data$A ==0 ] <- 0
data$C[data$A < 0 ] <- -1
data$C[data$A > 0 ] <- 1

我需要对每个日期的“ C”列求和。 输出应为

A                    B
29-MAY-2019          4
30-MAY-2019         -9
31-MAY-2019          3

1 个答案:

答案 0 :(得分:2)

一种选择是根据“日期”中完整日期时间格式的出现来创建分组列,summarise是第一个“日期”,然后将其转换为Date格式(使用{{ 1}}从anydate)并获得“ A”的anytime的{​​{1}}

sum