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

R语言如何合并data frame中SN与category均重复的行并拼接note

R语言同分组多内容拼接+宽表转换解决方案

方案1:tidyverse生态方案(推荐,适配后续pivot_wider操作)

该方案基于dplyr和tidyr实现,自动按SN、category两个字段分组拼接note,无需手动识别重复项,数千行业务数据可快速处理:

# 加载依赖包
library(tidyverse)

# 1. 合并同SN同category的note字段
df_merged <- df %>%
  group_by(SN, category) %>%
  summarise(
    note = str_c(note, collapse = " -- "),
    .groups = "drop" # 处理完成后自动取消分组,避免后续操作异常
  )

# 2. 直接转宽表,无需额外处理
df_wide <- df_merged %>%
  pivot_wider(
    names_from = category,
    values_from = note
  )

运行后df_merged就是你需要的合并后长表,df_wide为最终的宽表结果,完全匹配预期输出格式。

方案2:base R方案(无需安装第三方包)

如果不想加载第三方包,可以用基础函数aggregate实现相同逻辑:

# 合并同分组的note字段
df_merged_base <- aggregate(
  note ~ SN + category, 
  data = df, 
  FUN = paste, 
  collapse = " -- "
)

# 转宽表可使用reshape2包的dcast函数,或直接用基础reshape函数

两种方案均支持自动匹配重复分组,无需手动筛查,支持你提到的数百个SN、数千行的业务数据规模,运行效率无问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:45:03