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

如何在R语言中分组重复行并合并非重复值为列表?

解决方案

你的代码存在几个问题:

  • group_by(id(-telefones)) 语法错误,且列名和原数据框的ID、Phone不匹配
  • sum(telefones) 是对数值求和,无法实现字符串的合并拼接

以下是可行的解决方法:

方法1:使用base R的paste函数(无需额外安装包)

merged_phones <- phones %>%
  group_by(ID) %>%
  summarise(Phone = paste(Phone, collapse = ","), .groups = "drop")

方法2:使用stringr包的str_c函数(需先安装加载包)

如果习惯用stringr的函数,可以先安装并加载包:

install.packages("stringr")
library(stringr)

merged_phones <- phones %>%
  group_by(ID) %>%
  summarise(Phone = str_c(Phone, collapse = ","), .groups = "drop")

代码说明:

  • group_by(ID):按照ID列分组
  • paste(Phone, collapse = ",")/str_c(Phone, collapse = ","):将每个分组内的Phone值用逗号连接成单个字符串
  • .groups = "drop":分组完成后取消分组结构,避免后续操作出现分组相关的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:04:55