«Ошибка в совпадении (x, table, nomatch = 0L): для« match »требуются аргументы вектора» - PullRequest
1 голос
/ 06 марта 2019

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

dput(droplevels(head(TrainData)))
structure(list(Class = c("atheism", "atheism", "atheism", "atheism", 
"atheism", "atheism"), Document = c(" atheism faq atheist resources ", 
" atheism faq introduction to atheism archive name atheism introduction ",
"gospel dating in article mimsy umd edu mangoe cs umd edu charley ", 
"university violating separation of church state dmn kepler unh edu ",  
"soc motss et al princeton axes matching funds for boy scouts in article ",   
"a visit from the jehovah s witnesses in article apr batman bmd trw com"  
), Index = 1:6), row.names = c(NA, 6L), class = "data.frame")

Блок кода для разделения каждого слова и индексирования:

library(tidytext) 
TrainData$Index = 1:dim(TrainData)[1]  # provides an index of what articles are connected with each word
TrainData_words <- TrainData %>%     # add the original row numbers as index
  unnest_tokens(word,Document) %>%
  filter(str_detect(word, "[a-z']$"),
     !word %in% stop_words$word)   # removing the stop-words (actual words that do not impact text mining or correlation)

Все прошло нормально, и теперь я получаю следующую ошибку: «Ошибка в совпадении (x, таблица, nomatch = 0L): для« совпадения »требуются аргументы вектора» *

Запуск traceback () выдает:

> traceback()
12: word %in% stop_words$word
11: match.arg(method)
10: filter(., str_detect(word, "[a-z']$"), !word %in% stop_words$word)
9: filter(., str_detect(word, "[a-z']$"), !word %in% stop_words$word)
8: function_list[[k]](value)
7: withVisible(function_list[[k]](value))
6: freduce(value, `_function_list`)
5: `_fseq`(`_lhs`)
4: eval(quote(`_fseq`(`_lhs`)), env, env)
3: eval(quote(`_fseq`(`_lhs`)), env, env)
2: withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
1: TrainData %>% unnest_tokens(word, Document) %>% filter(str_detect(word, 
       "[a-z']$"), !word %in% stop_words$word)

Я прочитал сообщения об этом конкретном сообщении об ошибке a =, но все еще не могу понять, что могло измениться или пропустить? Спасибо всем заранее.

...