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

在R中计算同一分组内两个变量的非负差值

R语言实现分组内非负差值计算

1. 模拟输入数据集

根据你提供的输入结构,先构造可复现的示例数据:

input_data <- data.frame(
  Group = c("A", "A", "B", "B", "C", "C"),
  Type = c("X", "Y", "X", "Y", "X", "Y"),
  Value = c(5, 3, 2, 7, 6, 6)
)

2. 分组计算非负差值

使用dplyr包处理分组逻辑,确保差值始终≥0:

# 若未安装dplyr,先执行:install.packages("dplyr")
library(dplyr)

# 按Group分组,计算组内数值的非负差值
output_data <- input_data %>%
  group_by(Group) %>%
  summarise(Diff = max(Value) - min(Value), .groups = "drop")

# 查看最终结果
print(output_data)

3. 结果说明

运行后会得到指定结构的输出:

# A tibble: 3 × 2
  Group  Diff
  <chr> <dbl>
1 A         2
2 B         5
3 C         0

适配不同结构的数据集

如果你的实际数据列名不同(比如分组列叫Category、数值列叫Score),只需修改对应列名即可:

output_data <- your_real_data %>%
  group_by(Category) %>%
  summarise(Diff = max(Score) - min(Score), .groups = "drop")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:45:39