r - 将数据帧的特定行的列的值有条件地替换为特定行的总和

标签 r sum aggregate

我一直在为我的数据框在 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/

相关文章:

r - 从公式中提取所有唯一变量

sql - 如何返回 SQL Server 存储过程的计算(聚合)结果

MySQL: `GROUP BY` 不包括某些相等的列

Python - data.to_csv 输出格式

r - tm 合并语料库列表

r - 根据 ID 将值复制到其他 NA 单元

php - 如何显示mysql求和查询的值

php - 合并所有 3 个 SUM 查询以从同一表和同一列但使用不同的子句获取总和

mysql - 如何显示给定人员的所有行的总和

在后台运行 R