我一直在为我的数据框在 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
我只想将“hour”==8 行的“case”和“Time”值替换为“hour”<= 8 或“hours”> 行的“case”和“Time”值之和18 .我尝试了R中的条件aggregate()、with()、colsums()函数,但没有一个起作用。我不知道是否有人可以给我提示。
谢谢
最佳答案
您可以在按条件分配给原始数据集时尝试条件colSums
df[df$hour == 8, c("Case", "Time")] <- colSums(df[df$hour <= 8 | df$hour > 18, c("Case", "Time")])
关于r - 将数据帧的特定行的列的值有条件地替换为特定行的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31813432/