Общий способ избежать специальных символов в R
Ниже приводится серия тем электронной почты. DF- data.frame. Обратите внимание, я импортировал это из листа Excel.
EmailSubject
Buy the stunning new phone
The game changer is here.
Experience a phone ahead of its time.
Thank You Chennai
Limited Period offer
Valentines day special
Buy a phone at 10000 and get a new sim free
Limited Period offer
Valentines day special
Buy a phone at 10000 and get a new sim free
Buy the stunning new phone
The game changer is here.
Experience a phone ahead of its time.
Thank You Chennai
Limited Period offer
Valentines day special
Buy a phone at 10000 and get a new sim free
Thank You Chennai
Limited Period offer
Valentines day special
Buy a phone at 10000 and get a new sim free
Buy a phone at 10000 and get a new sim free
Buy the stunning new phone
The game changer is here.
Я создал матрицу терминальных документов в R со следующим кодом
require(tm)
mytext<-DF$EmailSubject
mycorpus<-Corpus(VectorSource(mytext))
mycorpus<-tm_map(mycorpus,removePunctuation)
mycorpus<-tm_map(mycorpus, removeNumbers)
mycorpus<-tm_map(mycorpus, tolower)
mycorpus<-tm_map(mycorpus, removeWords, stopwords("english"))
# # Create a term diocumentmatrix
dtm<-TermDocumentMatrix(mycorpus)
m<-as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)
Это дает следующую матрицу документа термина
word freq
get 45
free 44
edge 35
new 29
buy 24
charger 23
wireless 23
just 21
month 21
per 21
starting 21
stunning 21
pro 20
now 17
offers 17
gear 16
exclusive 15
offer 14
gift 13
irresistible 10
loved 10
valentine’s 10
Я получаю матрицу срочных документов. Однако некоторые слова появляются со специальными символами только в матрице термина документа - они не присутствуют в исходном фрейме данных. Я попытался настроить кодировку и вручную удалил то же самое с Gsub. Есть ли способ избежать обработки слов из моего листа Excel специальными символами?
gsub("€™", "", d$word)
Это ручной метод. Есть ли автоматический метод. Кодировка UTF-8. Существуют ли пакеты, которые позволяют нам избежать этой ошибки
1 ответ
Решение
Это должно помочь вам:
Encoding(x) <- "UTF-8"
iconv(dtm, "UTF-8", "ASCII", sub="")