R:文档术语的数据框计数到文档术语矩阵(dtm)

时间:2018-04-25 23:05:30

标签: r matrix tm tidytext

我已经在文档术语计数级别有一个数据框,注意文档和术语只是用整数索引,分数是加权连续数,如果相关的话,例如:

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')"

1 个答案:

答案 0 :(得分:3)

你快到了。而不是&#34;文件&#34;你需要&#34; doc&#34;作为输入,因为您的列名是doc而不是document。见下面的例子。

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)
)