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

如何按特定规则汇总重复行?基于Plant与n分组处理Plot列

解决方案

用dplyr实现分组汇总

假设你的数据框名为df,可以通过以下代码完成需求:

  1. 先确保安装并加载dplyr包:
install.packages("dplyr") # 首次使用需安装
library(dplyr)
  1. 执行分组汇总:
df_summary <- df %>%
  group_by(Plant, n) %>%
  summarise(across(Plot1:Plot3, ~ ifelse(any(.x == 1, na.rm = TRUE), 1, NA)),
            .groups = "drop")

代码说明

  • group_by(Plant, n):按Plant和n进行分组
  • across(Plot1:Plot3, ...):批量处理Plot1到Plot3列
  • ifelse(any(.x == 1, na.rm = TRUE), 1, NA):检查组内当前列是否存在值1(忽略空值),存在则保留1,否则返回NA(输出时会显示为空白)
  • .groups = "drop":汇总后取消分组状态,得到普通数据框

处理空白字符串的情况

如果原始数据中的空值是空白字符串(而非NA),先转成NA再执行汇总:

df <- df %>%
  mutate(across(Plot1:Plot3, ~ na_if(.x, "")))

最终结果

运行后得到的df_summary与你期望的格式一致:

Plant   n   Plot1   Plot2   Plot3
A       5   1               1
B       4   1       1       
C       3                   1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:33:10