You need to enable JavaScript to run this app. R语言如何拆分推文数据框的@提及列以适配网络分析需求
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何拆分推文数据框的@提及列以适配网络分析需求

实现代码

你需要将mentions列中以空格分隔的多个账号拆分为独立行,使用tidyverse的separate_rows()可以一步完成需求,同时保留对应Screen.name和party字段:

# 加载依赖包
library(tidyverse)

# 转换处理
ds_transformed <- ds %>%
  # 过滤无提及内容的空行
  filter(mentions != "") %>%
  # 按空格拆分mentions为多行
  separate_rows(mentions, sep = "\\s+")

输出结果完全匹配你需要的格式,重复提及的账号也会对应生成重复行,可直接用于后续网络分析:比如用igraph包构建关系网络时,可将Screen.name作为源节点、mentions作为目标节点,party作为节点属性做分党派的传播、社群相关分析。

如果需要用基础R实现,可参考如下代码:

ds_transformed <- do.call(rbind, lapply(seq(nrow(ds)), function(idx) {
  mention_list <- strsplit(trimws(ds$mentions[idx]), "\\s+")[[1]]
  if (length(mention_list) == 0 || all(mention_list == "")) return(NULL)
  data.frame(
    Screen.name = ds$Screen.name[idx],
    party = ds$party[idx],
    mentions = mention_list,
    stringsAsFactors = FALSE
  )
}))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 05:45:11