Skip to content

Instantly share code, notes, and snippets.

@joaomeirelles
Created November 6, 2015 18:24
Show Gist options
  • Save joaomeirelles/57d3b15001bffc232e6a to your computer and use it in GitHub Desktop.
Save joaomeirelles/57d3b15001bffc232e6a to your computer and use it in GitHub Desktop.
###########Bibliotecas########
#se nao tiver instalada, e necessario usar o comando
#install.packages("nome_da_biblioteca")
library(tm)
library(wordcloud)
library(RColorBrewer)
######################################
#seta o folder de trabalho. é preciso passar o caminho completo até a pasta onde estao os dados
setwd("/home/caminho/para/psta_local/dos_dados")
sonhos <- read.csv("conselho_sonhos.csv", header = TRUE) #importa os dados como csv
str(sonhos)
ap <- VCorpus(VectorSource(sonhos[,2])) ###sonhos[,2] seleciona a coluna que tem os textos. vectorsource transforma essa coluna num vetor. vrcourpus transforma numobjeto textual
ap <- tm_map(ap, removePunctuation) #remove pontuação
ap <- tm_map(ap, content_transformer(tolower)) #coloca tudo em caixa-baixa
#tira algumas palavras que se repetem muito e não possuem potencial analítico
ap <- tm_map(ap, removeWords, c("menos","sem","mais", "para", "que", "uma", "com", "cidade", "por", "nas", "como", "dos", "isso","meu","não","sou","muito","mas","das","gosto","quando","principalmente","até","parte","sua","sempre","tenho","gosto","utilizo","também","minha","muitos","além","ser ","seus","das","onde","ainda","nos","todos","quando","grande"))
ap.tdm <- TermDocumentMatrix(ap) #cria a matriz de termos
ap.m <- as.matrix(ap.tdm) #transforma num objeto matricial
ap.v <- sort(rowSums(ap.m),decreasing=TRUE) #re-ordena por count
ap.d <- data.frame(word = names(ap.v),freq=ap.v) #transforma num data-frame
table(ap.d$freq) # so para ter uma ideia da distribuicao
#cria a paleta de cor. se quiser mudar, troca o Dark2 por um desses http://bl.ocks.org/mbostock/5577023
pal2 <- brewer.pal(8,"Dark2")
png("conselho_sonhos.png", width=1280,height=800, dpi=300) #prepara o arquivo para salvar o plot
#faz o PLOT
wordcloud(ap.d$word,ap.d$freq, scale=c(8,.2),min.freq=3,
max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2)
#
dev.off() #apaga a memória de plots
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment