You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中按Bus ID汇总成本与利润总和的代码实现方法

在R中按巴士ID汇总成本利润并找出最盈利路线

1. 加载必要工具包

用dplyr处理数据语法简洁易读,若未安装先执行安装命令:

install.packages("dplyr")

安装完成后加载包:

library(dplyr)

2. 示例数据集(替换成你的真实数据即可)

先构造示例数据方便测试代码:

bus_data <- data.frame(
  bus_id = c(1,1,1,2,2,3),
  from = c("北京","上海","广州","成都","重庆","深圳"),
  to = c("上海","广州","北京","重庆","成都","杭州"),
  bus_fare = c(150,200,180,120,130,250),
  costs = c(80,90,75,60,65,100),
  profit_from_trip = c(70,110,105,60,65,150)
)

3. 按巴士ID汇总总成本与总利润

通过分组汇总计算每辆巴士的累计成本和利润:

# 分组计算总成本与总利润,忽略缺失值避免报错
bus_summary <- bus_data %>%
  group_by(bus_id) %>%
  summarise(
    total_costs = sum(costs, na.rm = TRUE),
    total_profit = sum(profit_from_trip, na.rm = TRUE)
  )

# 查看汇总结果
print(bus_summary)

4. 找出每辆巴士的最盈利路线

分两种场景处理:

  • 场景1:保留所有利润最高的路线(若存在并列第一的情况)
most_profitable_routes <- bus_data %>%
  group_by(bus_id) %>%
  filter(profit_from_trip == max(profit_from_trip, na.rm = TRUE)) %>%
  ungroup()
  • 场景2:仅保留每辆巴士的第一条最高利润路线(不保留并列项)
most_profitable_routes <- bus_data %>%
  group_by(bus_id) %>%
  slice_max(profit_from_trip, n = 1, with_ties = FALSE) %>%
  ungroup()

运行后查看结果:

print(most_profitable_routes)

5. 合并汇总数据与最盈利路线(可选)

若需将汇总的成本利润和最盈利路线合并到同一张表,用left_join实现:

combined_result <- most_profitable_routes %>%
  left_join(bus_summary, by = "bus_id")

print(combined_result)

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:05:32