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

基于DataFrame唯一case_id、最大lifecycle及指定in_out值求和qty

解决方法:计算符合条件的qty总和

针对你给出的数据集,我们需要计算每个唯一case_id对应最大lifecycle值、且in_out为"out"的qty数值之和,以下是两种可行的实现方式:

方法一:使用dplyr(tidyverse风格)

先加载dplyr包,通过分组筛选完成计算:

library(dplyr)

# 处理数据并计算最终总和
total_sum <- lifes %>%
  # 按case_id分组
  group_by(case_id) %>%
  # 筛选组内生命周期最大且in_out为out的行
  filter(lifecycle == max(lifecycle), in_out == "out") %>%
  # 提取qty值并求和
  summarise(group_qty = qty) %>%
  pull(group_qty) %>%
  sum()

# 输出结果
print(total_sum)

方法二:使用Base R

无需额外加载包,直接用基础函数实现:

# 先计算每个case_id对应的最大lifecycle值
max_lifecycle_per_case <- tapply(lifes$lifecycle, lifes$case_id, max)

# 筛选符合条件的行
target_rows <- subset(lifes, 
                      lifecycle == max_lifecycle_per_case[as.character(case_id)] & 
                      in_out == "out")

# 计算总和
total_sum <- sum(target_rows$qty)

# 输出结果
print(total_sum)

两种方法最终都会得到结果:45984(即17694 + 28290的和)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:21:01