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

如何合并tibble同类别行,将多单元格文本合并为单个分隔字符串

解决方案

以下提供三种不同技术栈的实现方式,均可以直接得到你需要的输出结果:

方法1:tidyverse 实现(适配tidy数据生态)

如果你日常使用tidyverse系列工具,用分组聚合加字符串拼接的逻辑即可实现:

library(tidyverse)

result <- tab %>%
  group_by(category) %>%
  summarise(word = str_c(word, collapse = "; "))

其中collapse = "; "参数指定了拼接字符串时的分隔符,完全匹配你需要的分号加空格的格式。如果不需要保留分组结构,可以在末尾加ungroup()。

方法2:Base R 实现(无需额外加载包)

不需要安装第三方包的场景下,用内置的aggregate函数就可以完成聚合:

result <- aggregate(word ~ category, data = tab, FUN = paste, collapse = "; ")
# 如果需要保持tibble格式,可以额外执行转换:
result <- as_tibble(result)

方法3:data.table 实现(处理超大数据量性能更优)

如果你的表行数很大,用data.table的实现执行效率会更高:

library(data.table)

setDT(tab)
result <- tab[, .(word = paste(word, collapse = "; ")), by = category]
# 需要转回tibble的话执行as_tibble(result)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:30:02