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

如何在R语言中将边列表转换为节点连接字符串汇总表?

在R中高效汇总边列表的关联节点

可以用dplyr或者data.table包快速实现这个需求,这两个工具处理分组汇总类任务效率都很高,尤其适合大数据量的边列表。

准备示例数据

先把你的示例数据转换成R中的数据框:

df <- data.frame(
  Column_A = c("A", "A", "B"),
  Column_B = c("C", "D", "C"),
  stringsAsFactors = FALSE
)

方法1:使用dplyr包

利用group_by()分组,再用summarise()结合paste()合并字符串:

library(dplyr)

result_df <- df %>%
  group_by(Column_A) %>%
  summarise(Column_B = paste(Column_B, collapse = ", ")) %>%
  ungroup()

print(result_df)

运行后输出:

# A tibble: 2 × 2
  Column_A Column_B
  <chr>    <chr>   
1 A        C, D    
2 B        C       

方法2:使用data.table包

如果数据量较大,data.table的处理速度更具优势:

library(data.table)

setDT(df)
result_dt <- df[, .(Column_B = paste(Column_B, collapse = ", ")), by = Column_A]

print(result_dt)

输出结果:

Column_A Column_B
1:        A     C, D
2:        B        C

补充说明

你之前尝试的melt和cast属于reshape2包的工具,这类函数更适合宽长表格式转换,处理字符串合并需求确实不太适配,换成上述分组汇总方法即可解决问题。如果需要保留关联节点的原始出现顺序,上面的方法会自动维持原有顺序,无需额外处理。

内容的提问来源于stack exchange,提问作者Arjen van der Heide

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:08:14