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

如何用cast_dtm将带加权值的文档词频数据框转为DTM以调用RNewsflow的documents.compare?

没问题,我帮你搞定这个DTM转换的需求!刚好tidytext包的cast_dtm()函数就是干这个的,完美适配你要用到的RNewsflow工具。

1. 先准备好所需工具包

首先确保你安装了tidytext(负责格式转换)和tm(DTM的标准格式依赖包),如果没装过先执行:

install.packages(c("tidytext", "tm"))

然后加载包:

library(tidytext)
library(tm)

2. 执行DTM转换

假设你的原始数据框名叫doc_term_df(就是你给出的示例数据结构),直接用cast_dtm()映射对应列即可:

# 先模拟你的示例数据(方便你测试)
doc_term_df <- data.frame(
  doc = c(1, 1, 2, 3),
  term = c(2, 5, 2, 5),
  count = c(2, 3.1, 0.4, 5.9)
)

# 核心转换代码
dtm <- cast_dtm(
  data = doc_term_df,
  document = "doc",    # 指定文档列名
  term = "term",       # 指定词项列名
  value = "count"      # 指定加权分数列名
)

3. 验证转换结果

你可以用inspect()查看转换后的DTM结构,确认格式正确:

inspect(dtm)

输出会是标准的文档-词项矩阵格式:

<<DocumentTermMatrix (documents: 3, terms: 2)>>
Non-/sparse entries: 4/2
Sparsity           : 33%
Maximal term length: 1
Weighting          : term frequency (tf)

    Terms
Docs 2   5
   1 2.0 3.1
   2 0.4 0.0
   3 0.0 5.9

这个dtm对象现在就能直接传入RNewsflow::documents.compare()函数使用啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:32:55