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

如何用R语言dplyr按组将列转换为逗号分隔拼接字符串

按组将列转换为逗号分隔的拼接字符串

你可以在已有的分组去重数据基础上,使用dplyr的summarize()函数结合paste()来实现按组拼接:

完整代码示例

library(dplyr)

# 你的初始数据处理
i <- iris %>%
  group_by(Species) %>%
  distinct(Sepal.Length)

# 按组拼接Sepal.Length为逗号分隔的字符串
result <- i %>%
  summarize(Sepal.Length_combined = paste(Sepal.Length, collapse = ", "))

代码说明

  • summarize()会保留之前group_by(Species)的分组逻辑,对每个物种单独处理
  • paste(..., collapse = ", ")的作用是把当前组内的所有Sepal.Length值,用逗号加空格连接成一个字符串

输出示例

运行后你会得到每个物种对应一行的结果,格式如下:

# A tibble: 3 × 2
  Species    Sepal.Length_combined                         
  <fct>      <chr>                                        
1 setosa     5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.4, 4.8, 4.3, 5.8
2 versicolor 7.0, 6.4, 6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5.0, 5.9, 6.0, 6.1, 5.6, 6.7, 5.8, 6.2, 5.1, 5.3, 6.8
3 virginica  6.3, 5.8, 7.1, 6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.0, 6.9, 6.7, 6.0, 5.6, 6.3, 6.2, 5.9, 6.5, 6.4, 6.1, 7.7, 6.3, 6.4, 6.0, 6.9, 5.8, 6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9

如果你习惯用stringr包的函数,也可以替换成str_c(),效果一致:

library(stringr)

result <- i %>%
  summarize(Sepal.Length_combined = str_c(Sepal.Length, collapse = ", "))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:48:15