如何在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
相关产品推荐
相关产品推荐

