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

R语言如何合并字符型数据框中相同标题对应的多行文本内容

解决方法

你要实现的是按Title字段分组后拼接同组的Content文本,不需要用到数值计算类的聚合函数,直接用字符串拼接的聚合逻辑就可以实现,以下是两种常用的可行方案:

方案1:tidyverse生态实现(代码可读性更高)

先安装并加载对应的包,用dplyr分组+stringr的字符串拼接函数实现:

# 若未安装依赖先执行 install.packages("tidyverse")
library(tidyverse)

# 按标题分组拼接内容,同组内容默认用空格分隔
df_merged <- df1 %>%
  group_by(Title) %>%
  # 如果需要换行分隔不同段落,把collapse参数的空格改成"\n"即可
  # 存在NA内容的话可以加na.rm = TRUE参数避免结果变成NA
  summarise(full_content = str_c(Content, collapse = " ", na.rm = TRUE)) %>%
  ungroup()

如果需要提前过滤掉示例里的广告类无效内容,可以在分组前增加过滤步骤:

df_merged_clean <- df1 %>%
  # 过滤掉不需要的广告和无关内容
  filter(!Content %in% c(
    "Don't miss a thing by getting the Daily Star's biggest headlines straight to your inbox!",
    "Related content"
  )) %>%
  group_by(Title) %>%
  summarise(full_content = str_c(Content, collapse = " ")) %>%
  ungroup()

方案2:原生R实现(无需安装第三方包)

用原生的aggregate函数也能实现完全一致的效果:

df_merged <- aggregate(Content ~ Title, data = df1, FUN = function(x) paste(x, collapse = " ", na.rm = TRUE))

两种方案输出的结果都是每个唯一标题对应一行,包含该标题下所有合并后的内容,完全匹配你需要的目标结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:39:02