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

如何将R语言text_tokens()输出转为带comment_id的data.frame?

解决方法

这里提供两种适配tidyverse的高效方法,来实现你需要的长格式结果:

方法1:mutate + unnest 组合

先将分词结果转为列表列加入原数据框,再展开成多行:

library(tidyverse)
library(corpus)
library(stopwords)

text <- data.frame(comment_id = 1:2,
                   comment_content = c("Hallo mein Name ist aaron","Vielen Lieben Dank für das Video"))

tmp <- text_tokens(text$comment_content, 
                   text_filter(stemmer = "de", drop = stopwords("german")))

# 生成目标数据框
result <- text %>%
  mutate(comment_tokens = as.list(tmp)) %>%  # 将tokens转为列表列
  unnest(comment_tokens)                     # 展开列表列为多行

# 查看结果
print(result)

方法2:map2_df 批量构建数据框

通过遍历comment_id和分词结果,批量生成小数据框并自动合并:

# 直接生成目标数据框
result <- map2_df(text$comment_id, tmp, 
                  ~data.frame(comment_id = .x, comment_tokens = .y))

# 查看结果
print(result)

两种方法都能得到你期望的输出格式,且处理百万级数据时效率表现良好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:07:24