R: приведение кадра данных отсчетов сроков документа в матрицу сроков документа (dtm) - PullRequest
0 голосов
/ 26 апреля 2018

У меня уже есть фрейм данных на уровне подсчета сроков документа, отмечая, что документы и термины просто индексируются целыми числами, а оценки представляют собой взвешенные непрерывные числа, если это уместно, например:

doc  term  count
1    2     2
1    5     3.1
2    2     0.4
3    5     5.9

Но в настоящее время это фрейм данных, и я хотел бы преобразовать его в формат dtm, чтобы использовать некоторые готовые к dtm функции (а именно, функцию «documents.compare» в RNewsflow).

Я пытался использовать «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 голосов
/ 26 апреля 2018

Вы почти у цели.вместо «документ» вам нужно было ввести «документ», так как имя столбца - документ, а не документ.См. Пример ниже.

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