Max,Sem uma amostra dos dados que são fonte do erro fica muito dificil de te ajudar.Problema de encoding, eu já tive inclusive, ao compilar um .rmd via atalho no rstudio e não por linha de comando.Por isto é complicado te ajudar sem ter um exemplo dos dados problemáticosEm 27 de set de 2017 11:39 PM, "Max via R-br" <r-br@listas.c3sl.ufpr.br> escreveu:______________________________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 LaraPS: A variável "AQUI_ERRO" é onde leio o texto "distorcido".
#==============================================
# 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"))_________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia ) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia ) e forneça código mínimo reproduzível.