对于我的数据框,我一直在为R中的聚合/求和而苦苦挣扎。我的数据如下:
hour Case Time
7 2 35
8 8 125
9 10 145
10 15 18
11 17 167
12 20 220
13 25 135
14 14 167
15 18 134
16 16 100
17 7 55
18 6 178
19 5 245
20 1 133
21 1 12
22 0 54
23 2 180
24 1 55
我只想将“小时”== 8的行的“大小写”和“时间”值替换为“小时”< = 8或“小时”的行的“大小写”和“时间”值的总和> 18.我在R中尝试了条件聚合(),带有(),colsums()函数,但没有一个工作。我想知道是否有人可以给我一个提示。
由于
答案 0 :(得分:3)
您可以在按条件分配原始数据集时尝试条件colSums
df[df$hour == 8, c("Case", "Time")] <- colSums(df[df$hour <= 8 | df$hour > 18, c("Case", "Time")])