[R-br] [WordCloud] Problema com encoding

Max max.lara em gmail.com
Terça Setembro 26 22:31:58 -03 2017


Pessoal, boa noite!

Com base em um exemplo pego na internet, tentei fazer uma nuvem de palavras
de um arquivo notepad (peguei uma pequena matéria na internet e salvei, em
.txt, com o nome SaoBento).
O código tem funcionado quase corretamente. O problema é que eu não tenho
tido sucesso em corrigir o *encoding* do texto.

- Tentei usar encoding = "UTF-8" na linha do readlines, mas sem sucesso.
- Também tentei usar enc2native() na última linha do passo 7, mas ocorre
erro argument is not a character vector.
- Salvei o arquivo SaoBento.txt no Notepad++, usando UTF-8 e, também, a
nuvem final acusou problemas de *encoding*.
- Deixei o arquivo SaoBento.txt salvo sozinho em uma pasta e, também, não
tive sucesso em acertar o *encoding*.

Sendo assim, gostaria de saber se alguém poderia fornecer uma dica de como
posso driblar esse problema.

Agradeço pela atenção.

Saudações,
-Max Lara

#==============================================
#                             WORDCLOUD
#==============================================

*#1) INSTALL REQUIRED PACKAGES*
install.packages("tm")                         #for text mining
install.packages("SnowballC")             #for text stemming
install.packages("wordcloud")             #wordcloud generator
install.packages("RColorBrewer")        #color palletes

*#2) LOAD REQUIRED PACKAGES*
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")

*#3) TEXT MINING*
#LOAD THE TEXT (SAVED LOCALLY)
text <- readLines(file.choose())

*#4) LOAD THE DATA AS A CORPUS*
docs <- Corpus(VectorSource(text))          #VectorSource() function
creates a corpus of character vectors
docs <- tm_map(docs, PlainTextDocument)

*#5) TEXT TRANSFORMATION*
#tm_map() function (to replace, for instance, special characters from the
text).
#Replacing "/", "@" and "|" with space:

toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ",
x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, "\\|")

*#6) TEXT CLEANING*
#tm_map() (remove unnecessary white space, to convert the text to lower
case)
#Removing common stopwords

docs <- tm_map(docs, content_transformer(tolower))                #Convert
the text to lower case
docs <- tm_map(docs, removeNumbers)
#Remove numbers
docs <- tm_map(docs, removeWords, stopwords("portuguese"))   #Remove
Portuguese common stopwords
docs <- tm_map(docs, removePunctuation)
#Remove punctuations
docs <- tm_map(docs, stripWhitespace)
#Eliminate extra white spaces
docs <- tm_map(docs, stemDocument)
#Text stemming

*#7) BUILD A TERM-DOCUMENT MATRIX (TDM)*
#TDM is a table containing the frequency of the words.
#Column names are words
#Rown names are documents

dtm <- TermDocumentMatrix(docs)
terms(dtm)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)
AQUI_ERRO <- d$word

*#8) GENERATE THE WORD CLOUD*
wordcloud(
  words = AQUI_ERRO,
  freq = d$freq,
  min.freq = 1,
  max.words=200,
  random.order=FALSE,
  rot.per=0.35,
  colors=brewer.pal(8, "Dark2"))


*saída:*
[image: Inline image 1]
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170927/561d7454/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image.png
Tipo: image/png
Tamanho: 224713 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170927/561d7454/attachment.png>
-------------- Próxima Parte ----------
Um sonho impensável no início da temporada se realizou na noite deste domingo (24) para colocar o São Bento entre os 40 melhores times do País: na Série B do Campeonato Brasileiro. Em um jogo controlado no primeiro tempo e nervoso na etapa final, quando atuou com um atleta a menos (João Paulo foi expulso), o Azulão segurou um empate por 0 a 0 no Estádio Municipal Walter Ribeiro (CIC). 

O Confiança até anotou um gol no primeiro tempo, quando Álvaro cobrou falta e Tito, impedido, dividiu com Rodrigo Viana antes da bola balançar a rede. Mas a melhor chance foi de Everaldo: aos 27 minutos, ele ganhou a bola no meio de campo, correu até a entrada da área e chutou forte. O veloz meia-atacante fez o mesmo no segundo tempo, aos 18': desta vez, limpou o marcador e a bola passou ao lado do goleiro Genivaldo. 

A expulsão de João Paulo, aos 25', por retardar uma cobrança de lateral, colocou os sergipanos para cima do Azulão. O nervosismo aumentou, mas não ao ponto de ameaçar uma noite histórica e um acesso comemorado por mais de nove mil beneditinos no CIC. 

São Bento - Rodrigo Viana; Muriel, Rogério, João Paulo e Marcelo Cordeiro; Fábio Bahia, Éder e Maicon Souza (Felipe Manoel); Caio Cezar (Branquinho, depois Mateus Silva), Everaldo e Anderson Cavalo. Técnico: Paulo Roberto Santos 
  
Confiança - Genivaldo; Cordeiro, Mímica, Anderson e Madona (Jucimar); Flávio (Thiago Silvy), Rafael Villa, Everton (André Beleza) e Tito; Frontini e Álvaro. Técnico: Ailton Silva 
  
Cartões amarelos - Madona, Frontini, Álvaro, Anderson, Flávio e Rafael Villa (Confiança); João Paulo e Everaldo (São Bento) 
  
Cartão vermelho - João Paulo (São Bento) 
  
Público - 9.937 torcedores 
  
Renda - R$ 214.720,00  
  
Árbitro - Dewson Fernando Freitas da Silva (FIFA- PA)  
    
Local - Estádio Municipal Walter Ribeiro (CIC)  


Mais detalhes sobre a lista de discussão R-br