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

在R中合并DataFrame:按ID聚合并标记错误是否出现

实现方法

基础R方案(无需额外包)

用aggregate()函数按id分组,对每个error列取最大值——因为只要该ID下出现过1次错误(值为1),最大值就是1,否则为0,正好匹配需求:

df_result <- aggregate(. ~ id, data = df, FUN = max)

运行后得到目标结果:

> df_result
  id error_1 error_2 error_3
1  1       1       1       1
2  2       0       0       1

tidyverse方案(更易读)

如果习惯用tidyverse工具链,用dplyr的分组汇总逻辑更直观:

先加载dplyr包:

library(dplyr)

再执行分组汇总:

df_result <- df %>%
  group_by(id) %>%
  summarise(across(starts_with("error_"), max), .groups = "drop")

这里across(starts_with("error_"), max)指定对所有以error_开头的列取最大值,.groups = "drop"用于取消分组状态,得到普通数据框。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:32:42