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

R语言dplyr包计算运行最大值(累计最大值)的实现方法

使用R dplyr包计算运行累计最大值的实现方法

核心实现逻辑为搭配dplyr数据处理函数和R内置的累计最大值函数完成计算,具体操作步骤如下:

  • 第一步:安装(未安装时)并加载dplyr包
  • 第二步:对数据集按TIME字段升序排序,若存在多个不同CODE,需先按CODE分组保证每个CODE的累计最大值独立计算
  • 第三步:使用mutate()新增MAXVALUE字段,存储cummax(VALUE)的计算结果

完整可运行示例代码

# 加载dplyr包
library(dplyr)

# 构造你提供的示例数据集
df <- tibble(
  CODE = rep("ABC", 4),
  TIME = c(1, 2, 3, 4),
  VALUE = c(40, 50, 30, 60)
)

# 核心处理逻辑
result <- df %>%
  arrange(TIME) %>% # 按TIME升序排序,若原始数据已经是TIME升序可省略该步骤
  group_by(CODE) %>% # 仅单条CODE时可省略,多CODE场景必须保留
  mutate(MAXVALUE = cummax(VALUE)) %>%
  ungroup() # 不需要保留分组结构时可添加该行

输出结果说明

运行上述代码后得到的result表结构和你要求的完全一致:

CODETIMEVALUEMAXVALUE
ABC14040
ABC25050
ABC33050
ABC46060

其中cummax()是R内置的累计最大值函数,会按行顺序计算从第一行到当前行的所有VALUE的最大值,刚好匹配你需要的「截至每个时间点的累计最大值」需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:45:04