r - R:将文档术语计数的数据框转换为文档术语矩阵(dtm)
问题描述
我已经有一个文档术语计数级别的数据框,注意文档和术语仅由整数索引,并且分数是加权连续数字,如果相关的话,例如:
doc term count
1 2 2
1 5 3.1
2 2 0.4
3 5 5.9
但它目前是一个数据框,我想将其转换为 dtm 格式,以便使用一些 dtm-ready 功能(即 RNewsflow 的“documents.compare”功能)。
我一直在尝试通过以下方式使用“cast_dtm”:
dtm <- as.matrix(df) %>% cast_dtm(document, term, count)
其中“df”是上面示例的数据框,但出现以下错误:
Error in UseMethod("ungroup") : no applicable method for 'ungroup' applied to an object of class "c('matrix', 'double', 'numeric')"
解决方案
你快到了。而不是“文档”,您需要“文档”作为输入,因为您的列名是文档而不是文档。请参见下面的示例。
library(tidytext)
library(dplyr)
dtm <- df %>% cast_dtm(document = doc, term = term, value = count)
数据:
df <- structure(
list(
doc = c(1L, 1L, 2L, 3L),
term = c(2L, 5L, 2L,5L),
count = c(2, 3.1, 0.4, 5.9)),
.Names = c("doc", "term", "count"),
class = "data.frame",
row.names = c(NA,-4L)
)
推荐阅读
- visual-studio - 有什么方法可以在不更改版本号的情况下更改 Click once 应用程序中的产品名称
- docker - KeyCloak:在 Docker 中部署自定义主题
- solidity - Openzeppelin ERC20 恢复
- javascript - 使用 vueJS 有条件地设置 href 属性
- angular - 如何在 Visual Studio Code 中仅调试编写的代码?
- javascript - reCAPTCHA 和 JS 表单验证
- java - 使用 spring data-jpa 映射本机查询结果集的更好方法
- python - python subprocess.Popen 正在创建重复文件并写入重复文件而不是原始文件
- amazon-web-services - 我们可以从正在运行的 EC2 实例中删除安全组吗?
- powershell - Powershell ArrayList 神奇地插入一个零