2015-03-05 4 views
-1
tdm = TermDocumentMatrix(mach_corpus, 
control = list(removePunctuation = TRUE, 
stopwords = c("machine", "learning", stopwords("english")), 
removeNumbers = TRUE, tolower = FALSE)) 

работает этот фрагмент кода выдает ошибку: Ошибка в sort.list (у): неверный ввод «í ½í²¯» в «» utf8towcsОшибка в команде R

может кто-нибудь объяснить, и, пожалуйста, предполагают, изменения, которые необходимо внести.

ответ

0

следующие работы для меня:

library(tm) 

mach_corpus <- VCorpus(VectorSource(c("apple banana", "banana doggy"))) 

tdm <- TermDocumentMatrix(mach_corpus, 
          control = list(removePunctuation = TRUE, 
          stopwords = c("machine", "learning", 
             stopwords("english")), 
          removeNumbers = TRUE, 
          tolower = FALSE)) 

Возвращает следующее:

> tdm 
<<TermDocumentMatrix (terms: 3, documents: 2)>> 
Non-/sparse entries: 4/2 
Sparsity   : 33% 
Maximal term length: 6 
Weighting   : term frequency (tf) 

Я подозреваю, то, что ваша проблема заключается в кодировании текста в переменной mach_corpus которая не отображается , Вероятно, какой-то символ в корпусе не находится в utf8, и вы пытаетесь его прочитать с помощью стандартного устройства чтения utf8. Проверьте кодировку ваших документов.

Попробуйте это: https://unix.stackexchange.com/questions/6516/filtering-invalid-utf8

$grep -av '^.*$' file 

или искать во всех файлах:

$grep -av '^.*$' * 

Это должно найти файлы, которые имеют не-utf8 символы, которые, как представляется, проблема. Если вы найдете их, может быть полезно предварительно обработать ваши файлы, чтобы удалить символы, отличные от utf8.

Cheers, -Scott!

+0

Спасибо @Scott – user2540082

Смежные вопросы