Использование dfm для структурной модели - PullRequest
0 голосов
/ 04 марта 2020

Имея dfm от этого процесса:

library(quanteda)
df <- data.frame(text = c("one text here", "one more here and there"))
toks_tweets <- tokens(df$text, remove_punct = TRUE)
dfmat_tweets <- dfm(toks_tweets,
    stem = FALSE,
    remove_punct = TRUE)

Как можно использовать его для структурного моделирования, как это:

library(stm)
fittedModel <- stm(documents = out$documents, vocab = out$vocab, K = 3, init.type = "Spectral")

1 Ответ

2 голосов
/ 04 марта 2020

Вам необходимо использовать функцию quanteda::convert. Эта функция может преобразовать dfm в разные форматы для разных пакетов. Смотрите ?convert для всех вариантов.

См. Пример ниже для решения вашего примера.

library(quanteda)
df <- data.frame(text = c("one text here", "one more here and there"), stringsAsFactors = FALSE)
toks_tweets <- tokens(df$text, remove_punct = TRUE)
dfmat_tweets <- dfm(toks_tweets,
                    stem = FALSE,
                    remove_punct = TRUE)

out <- convert(dfmat_tweets, to = "stm")  # convert to stm format

library(stm)
fittedModel <- stm(documents = out$documents, vocab = out$vocab, K = 3, init.type = "Spectral")

fittedModel
# A topic model with 3 topics, 2 documents and a 6 word dictionary.
...