Общий способ избежать использования специальных символов в 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. Существуют ли пакеты, позволяющие избежать этой ошибки


person Vishnu Raghavan    schedule 05.12.2017    source источник


Ответы (1)


Это должно помочь вам:

Encoding(x) <- "UTF-8"

iconv(dtm, "UTF-8", "ASCII", sub="")
person Shalini Baranwal    schedule 05.12.2017