Tidy не работает, выдает эту ошибку: нет аккуратный метод для объектов класса LDA_Gibbs - PullRequest
0 голосов
/ 12 сентября 2018

Этот код показывает ошибку: Ошибка: нет аккуратного метода для объектов класса LDA_Gibbs

Я не понимаю, почему ..... всякий раз, когда я пытаюсь сделать test_lda_td2 <- tidy (test_lda2), это показываетошибка.Нужны некоторые решения </p>

library(NLP)
library(tm)
library(tidytext)
library(stringr)
library(tidyr)
library(topicmodels)
library(tidyverse)

mywords<- read.csv("mystop.csv",header =F,sep = ",")
mywords <- as.character(mywords)
mywords <- c(mywords, stopwords())

filelist = list.files(pattern = ".*.txt")
files <- lapply(filelist,readLines)

(docs <- VCorpus(VectorSource(files)))

docs <-tm_map(docs,content_transformer(tolower))
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, mywords)

docs <- tm_map(docs, removeWords,stopwords("english"))
docs <- tm_map(docs, stripWhitespace)

toSpace <- content_transformer(function(x, pattern) { return (gsub(pattern, 
" " , x))})
docs <- tm_map(docs, toSpace, "-")
docs <- tm_map(docs, toSpace, "’")
docs <- tm_map(docs, toSpace, "‘")
docs <- tm_map(docs, toSpace, "•")
docs <- tm_map(docs, toSpace, "”")
docs <- tm_map(docs, toSpace, "“")

#...............
dtm <- DocumentTermMatrix(docs)
rownames(dtm) <- filelist
freq <- colSums(as.matrix(dtm))
length(freq)
ord <- order(freq,decreasing=TRUE)

d <- data.frame(word = names(freq),freq=freq[ord])

new_dtm<-dtm

burnin <- 4000
iter <- 2000
thin <- 500
seed <-list(2003,5,63,100001,765)
nstart <- 5
best <- TRUE
k <- 3
test_lda2 <-LDA(new_dtm,k, method="Gibbs",
control=list(nstart=nstart, seed = seed, best=best,
burnin = burnin, iter = iter, thin=thin))

test_lda_td2 <- tidy(test_lda2) <---Error

lda_top_terms2 <- test_lda_td2 %>%
group_by(topic) %>%
top_n(10, beta) %>%
ungroup() %>%
arrange(topic, -beta)

lda_top_terms2 %>%
mutate(term = reorder(term, beta)) %>%
ggplot(aes(term, beta, fill = factor(topic))) +
geom_bar(stat = "identity", show.legend = FALSE) +
facet_wrap(~ topic, scales = "free") +
coord_flip()

1 Ответ

0 голосов
/ 15 сентября 2018

Может быть функция с одинаковым именем в нескольких пакетах.И последний, который вы вызвали в "library ()", имеет приоритет.Предложите попробовать вызвать функцию с именем пакета и убедиться, что ошибка все еще появляется.

. ()

Например: - tidyr.tydy ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...