r - 基于 R 中的另一列对数据框中的列求和

标签 r dataframe sum

我有一个这样的数据框:

Vehicle    Driver   Distance   Fuel.Consumption
    W01      Alex      22.31               0.58
    W01      Alex      93.21               2.48
    W02     Brian     122.72               3.22
    W02     Brian      22.25                0.5
......

我想要这样的输出:

Vehicle    Driver   Distance   Fuel.Consumption   Fuel.Efficiency
    W01     Alex      115.52               3.06             37.75
    W02    Brian      144.97               3.72             38.97      
......

只需将每辆车的距离和 Fuel.Consumption 相加,然后计算出每辆车的 Fuel.Efficiency。 我试过 aggregate(),但它不像我想象的那样工作:

aggregate(Distance~Vehicle, df, FUN=sum) 

最佳答案

当我尝试一次做不止一件事时,我总是遇到 aggregate 语法问题。在这里,您想要对两个现有列求和并计算一个全新的列。使用 dplyr:

library(dplyr)
df %>% group_by(Vehicle, Driver) %>%
    summarize(Distance = sum(Distance),
              Fuel.Consumption = sum(Fuel.Consumption),
              Fuel.Efficiency = Distance / Fuel.Consumption)

# Source: local data frame [2 x 5]
# Groups: Vehicle

#   Vehicle Driver Distance Fuel.Consumption Fuel.Efficiency
# 1     W01   Alex   115.52             3.06        37.75163
# 2     W02  Brian   144.97             3.72        38.97043

关于r - 基于 R 中的另一列对数据框中的列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493398/

相关文章:

java - 从 Java 调用 R - 比 RCaller 更快的替代方法

r - 合并两个表并聚合

r - 如何在不同行中显示组名时聚合 data.frame

python - pandas 数据框中基于现有列值的新列

python根据部分字符串匹配合并两个pandas数据框

pandas - 根据条件合并两个数据框并获取id

php - 对一列的数组数据进行分组并对另一列的数据求和

angular - 如何使用Angular计算表格列的总和并在页脚中显示?

r - 在使用粘贴的公式创建的LME拟合上,方差分析测试失败

python - 最后五分钟的 Pandas 滚动总和